How to measure billed technician hours and bay occupancy
Operational worked example · Three-bay independent mechanical repair shop with two technicians and an owner service adviser
Keep separate logs for technician attendance, actual task time, authorized sold hours and vehicle occupation of each bay. Reconcile the logs by repair order and reporting period before calculating a ratio. Billed hours can exceed actual task hours under flat-rate pricing, and a full bay can sit idle waiting for parts. A weekly time bridge and a bay-state ledger show whether the next improvement belongs in dispatch, estimating, procurement or physical capacity.
Read the complete operating guide set · Browse operating articles
Keep four clocks and one repair-order identity
Measure paid attendance, active technician work, sold labor and bay occupation separately, then join them by repair order, technician and date. A vehicle can block a lift while its technician works elsewhere. Two people can work on one vehicle at once: add their person-hours, but count that vehicle's bay interval once. The owner service adviser in the linked case is not a third productive technician.
Sold hours are a billing quantity. They can come from an authorized flat-rate operation rather than the minutes actually spent doing it. FTC describes both estimated flat-rate and actual-time charging; ALLDATA distinguishes independent standard-time estimates from manufacturer warranty times. Choose the applicable operation, included work and authorization before entering the sale. A published guide time is not proof of actual efficiency. Billing basis; Labor-time definitions
Different clocks answer different questions
Who worked, on which operation, for how long? Pauses and general time stay visible.
What authorized hours and labor dollars were sold, adjusted or credited?
When did the vehicle enter and leave the bay, including idle waiting?
Shared repair-order identifiers connect the records; the units remain different.
Build the event register before calculating percentages
| Record | Fields to retain | Why it changes the result |
|---|---|---|
| Paid attendance | Technician, date, paid start/end, paid breaks and general work | Defines the paid denominator; reconcile to the payroll period |
| Active task | Repair order, labor line, technician, start/stop, pause reason, comeback flag | Separates new customer work, repeat work and missing time |
| Sale and billing | Authorized hours, completion date, invoice date, net hours, discount and credit | Keeps work completed separate from work invoiced |
| Bay state | Bay ID, vehicle/order, entry/exit and each wait-state start/end | Shows occupation and the reason a usable bay is blocked |
| Handoff | Parts-ready, authorization, road-test/quality release and pickup timestamps | Assigns delay to a process step instead of a person |
A stopwatch total without an order ID cannot explain which sale it produced. Give each pause one reason and use nonoverlapping states. Do not let the same technician log simultaneous full-time tasks on two vehicles. If a second technician assists, record that person's own session. Identify off-bay road tests separately; they use technician time even though the lift is free.
Check the software's actual definitions before exporting. Shopmonkey's service report excludes general time and unfinished clock sessions; its time log filters by clock-in date. Retain corrections and the original timestamps when repairing a missed clock-out. Missing entries are unresolved measurement gaps, not evidence of no work. Service report scope; Time-log cutoff
Reconcile a week of technician time
The following is a constructed week for the existing two-technician roster, with 80.0 paid hours. All clock time on the new work completed in this example falls inside this week; its matched sold quantity is 55.0 hours. The opening invoice carryover below belongs to earlier completed work and is excluded from this clock cohort. No row is a measured industry average.
| Use of paid time | Hours | Treatment |
|---|---|---|
| New customer work | 44.0 | Matched clock denominator for new sold work |
| No-charge comeback work | 4.0 | Consumes the roster; no new customer sale assumed |
| Training, cleaning and handoffs | 8.0 | Useful paid general time |
| Waiting or no assigned active task | 24.0 | Record the reason; not automatic technician fault |
| Total paid time | 80.0 | Equals the unchanged weekly roster |
| Measure | Formula | Result |
|---|---|---|
| Customer-work utilization | New customer clock-hours / all paid hours | 55.0% |
| Matched labor efficiency | Sold hours on completed new work / its clock-hours | 125.0% |
| Sold output per paid hour | Completed new sold hours / all paid hours | 68.8% |
Utilization multiplied by matched efficiency reproduces sold output per paid hour. Here efficiency exceeds unity because sold guide-time hours exceed their 44.0 actual person-hours. It does not mean employees worked more clock hours than they were paid. Including the 4.0 comeback hours would answer a different question about all job time; total active job time is 48.0 hours. Label that denominator rather than quietly switching it.
These are this article's definitions. Other dashboards may use productivity or efficiency differently. Shopmonkey's documented service-efficiency calculation is billed hours divided by tracked hours, but its report settings and exclusions still matter. Do not rank technicians until missing sessions, job mix, assistance and rework allocation are checked. Product-specific definition
Bridge completed work to invoiced work and realized rate
A weekly billing report can look better or worse merely because the service adviser closed orders on a different day. Keep a completion view for operations and an invoice view for billed sales, then reconcile them. Shopmonkey explicitly provides those two date modes. Money collected is a further event, so neither view by itself is a cash-receipts report. Completion and invoice dates
| Movement | Hours | Basis |
|---|---|---|
| New labor completed this week | 55.0 | Same new-work cohort as the time example |
| Add opening completed work now invoiced | 6.0 | Its task time occurred before this week |
| Subtract completed work still uninvoiced | 4.0 | Keep in completed-work inventory |
| Subtract credited hours | 1.0 | Net sold quantity, separate from cash discounts |
| Net customer invoiced hours | 56.0 | Use for invoice-week labor-rate denominator |
At the unchanged illustrative labor rate of $135 per sold hour and a separate assumed $168.00 labor discount, realized labor sales are $7,392.00. Dividing by 56.0 net invoice hours gives $132.00 per billed hour. Exclude parts, tax and other charges from that numerator. A flat-price labor operation with no recorded sold hours also needs its own flag; do not invent hours to make the ratio plausible.
The posted rate, realized rate and employee wage are different quantities. Separate an hour credit from a dollar discount so the same concession is not deducted twice. For payroll and technician review, use the wage and task time actually applicable to the work rather than today's rate setting.
Measure bay occupation with a state ledger
The example opens 3 bays for 40.0 hours each, providing 120.0 open bay-hours. Count the union of vehicle-occupation intervals in each bay, clipped to the same opening window. Time a car spends in the parking area is not lift occupation. Record closures or an unsafe/unusable lift separately; do not shrink the denominator silently to make utilization rise.
| Bay state | Bay-hours | Operating decision |
|---|---|---|
| Active diagnosis or repair | 45.0 | Review skill and operation mix |
| Waiting for parts | 20.0 | Confirm fitment and delivery before disabling the vehicle |
| Waiting for authorization | 5.0 | Improve estimate and customer handoff |
| Testing and release | 3.0 | Protect quality checks; examine sequencing |
| Waiting for pickup | 7.0 | Move only when safe, permitted and space is available |
| Total occupied | 80.0 | Includes productive work and waits |
| Unoccupied | 40.0 | Unused open space; does not prove sellable labor capacity |
Occupation is 66.7%, while 32.0 bay-hours are waits for parts, approval or pickup. These are constructed state measurements, not a published supplier benchmark. The 45.0 active bay-hours need not equal technician-hours: people can assist together, work off the bay or leave a machine operating. High occupation may therefore describe congestion rather than high billed output.
Follow one vehicle through a full day
| Bay interval | State | Technician time | Authorized sold time |
|---|---|---|---|
| 08:00–09:00 | Diagnosis | 0.8 hours | 1.0 hours |
| 09:00–12:00 | Waiting for a part | 0.0 hours on this vehicle | 0.0 hours |
| 12:00–14:00 | Repair | 1.8 hours | 2.5 hours |
| 14:00–15:00 | Quality checks and release | 0.4 hours | Included in authorized operations |
| 15:00–16:00 | Waiting for pickup | 0.0 hours on this vehicle | 0.0 hours |
| Full bay day | Vehicle occupied 8.0 hours | 3.0 person-hours | 3.5 sold hours |
The repair-order record supports three totals for one vehicle. The waiting periods do not become technician work merely because the vehicle is still on the lift. Conversely, a technician's other jobs during those waits still belong in that person's paid-time ledger. Verify whether the vehicle can safely leave the bay before assuming a delayed part can release capacity; a dismantled vehicle may require planned off-bay space or a different job sequence.
Use observations to challenge the model's ceiling
The unchanged reference model has 346.7 paid technician-hours per average month and 520.0 open bay-hours. It applies an assumed 82.0% maximum billed share to the technician roster, or 65.6 billed hours per average week, and takes the smaller capacity branch. Its resulting 284.3 monthly billed-hour ceiling is tighter than its simplified bay branch.
That bay branch effectively treats billed hours as a one-for-one proxy for bay hours. The model has no repair-specific occupancy duration, parallel assistance or separate blocked-bay state. The diary above shows why a real schedule must test that simplification. It does not replace the original engine or turn a bay-hour into a person-hour. Existing case and its limitations
The mature 235.0 billed-hour demand equals 67.8% of the paid monthly roster. The ceiling is an assumption, not a measured target or a promise that those hours will sell. Do not feed invoiced carryover into a completion-capacity forecast, and do not add the owner adviser's time as mechanic capacity. The unit-economics guide connects the unchanged billed-hour basis to contribution.
Choose the next change from the constraint
| Observed pattern | Check first | Candidate action to test |
|---|---|---|
| Paid hours present, little active work | Demand, authorization, parts availability and clock completeness | Dispatch ready work or change customer handoffs |
| Active work high, sold hours weak | Matched operations, diagnostic authorization, rework and job mix | Correct estimate scope or investigate repeat faults |
| Bay occupation high, long wait states | Dismantled jobs, parts lead time and release/pickup | Stage parts and revise arrival sequencing |
| Completed hours strong, invoice hours weak | Closing uninvoiced work and disputed adjustments | Reconcile adviser closeout rather than changing technician targets |
| All usable bays working and ready jobs queued | Skill coverage, task concurrency and real demand | Cost a capacity change only after a repeatable scheduling test |
Review the event logs with the technicians and service adviser, retain failed periods, and repeat the same definitions after the process change. A freed bay earns nothing without authorized demand, the right skills and the parts to finish it. Preserve road tests, inspections and quality checks rather than improving a ratio by deleting necessary work.
Use the profitability guide for the fixed roster and downside cash exposure, and the startup-cost guide for an actual equipment expansion. This article supplies a measurement method and a constructed diary; a real shop's time records, wage obligations and safe bay procedures still need local evidence.
Sources and scope
- Illustrative operating-case methodology · Checked 2026-10-05 · Article examples authored 5 October 2026: assumed time logs, purchasing terms and cash events. Not measured shop performance, supplier quotations or industry targets. The methodology explains classification; it does not substantiate assumed prices.
- Existing three-bay auto repair operating case · Checked 2026-10-05 · Read-only package/run/monthly/FINANCIAL_ASSUMPTIONS.md binding. Original assumptions are dated 1 October 2026: two technicians, three bays, labor and parts rates, fixed payroll and a billed-share ceiling. These inputs remain unchanged and are not local observations.
- FTC: Auto Repair Basics · Checked 2026-10-05 · US consumer guidance distinguishes estimated flat-rate labor from actual-time billing and describes written repair warranty terms and limits. No single standard repair warranty; state rights vary. Does not establish an operating target or supplier reimbursement.
- ALLDATA: Looking up Part Prices and Labor Times · Checked 2026-10-05 · Product documentation identifies standard labor time as an independent-publisher estimate and distinguishes manufacturer warranty time and optional labor. Neither is a time-clock observation or the shop's customer warranty policy.
- Shopmonkey: Services by Technician Report · Checked 2026-10-05 · Documentation updated 15 May 2026: billed hours / tracked hours for service efficiency; Invoiced versus Labor Completed date modes; general time and open sessions excluded from service tracked hours. This is one product's definition, not a required industry reporting convention.
- Shopmonkey: Time Log Report · Checked 2026-10-05 · Documentation updated 15 May 2026: actual clock sessions are independent of invoice hours; date filtering uses clock-in, and ongoing sessions are excluded. Supports checking report cohort/cutoff rather than treating missing time as zero.