July 26, 2026 · The Key Bot

Job Costing for Traffic Control Companies

How to build a job cost that actually reflects a traffic control job — the four cost buckets, why equipment-days are the one most companies get wrong, how to allocate the overhead that does not attach to any job, and the reports worth running weekly.

Traffic OS — job costing for traffic control companies

In-depth guide · sources linked inline

Most traffic control companies know their revenue by job and their costs by month. That combination feels like financial visibility and is not — it tells you the business made money without telling you which work made it. In a trade where a shoulder closure and a long-term barricade rental have almost nothing in common economically, that gap is expensive.

This is a practical framework for costing a traffic control job: what belongs in it, what to do about the costs that refuse to attach to any single job, and which handful of reports actually change decisions.

Why generic job costing fits this trade badly

Standard construction job costing assumes labor plus materials plus subs plus equipment, with materials consumed into the work. That model was built for trades where the stuff you bring gets installed and stays.

Traffic control inverts it. Almost nothing is consumed. The cones come back. The barricades come back. What the job actually consumes is time on your assets — device-days, truck-days, crew-hours — plus a small tail of genuine consumables.

This has three consequences that generic costing misses:

Utilization dominates. If a device or a crew is not on a job, it still costs. In a consumables business, idle inventory is capital sitting still; here, idle capacity is money actively burning. That makes utilization a first-class cost driver rather than an efficiency metric.

Duration is a cost, not a schedule detail. The MUTCD's own framing is instructive: work duration is defined in five categories, from work occupying a location up to 1 hour at the short end to more than 3 days at the long-term stationary end (Section 6N.01, 11th Edition). Device requirements escalate with duration, and so do device-days. A job that slips from two days to four does not cost twice as much in labor — it costs twice as much in labor and doubles the device-day charge and blocks that equipment from other work.

Mobilization is a large fixed cost on a small variable job. Setting up and tearing down a short-duration closure can take longer than the work itself. The MUTCD notes this directly about short-duration operations. A costing model that spreads cost evenly across hours on site will systematically under-cost short jobs and over-cost long ones.

Bucket one: field labor at a loaded rate

The single most common costing error in this industry is putting the hourly wage into the job cost.

A loaded rate has to carry, at minimum: wage, employer payroll taxes, workers' compensation at the classification's real rate, benefits, paid time off, and the non-billable time the business pays for but does not sell — yard time, travel between jobs, load-out and load-in, training, and standby.

That last category is the one that moves the number most, and it is why the loaded rate in traffic control is often further above the wage than field managers expect. The mechanics of building it are covered in detail in building a loaded labor rate; the point for job costing is narrower: use one rate, apply it consistently, and rebuild it at least annually.

Two refinements worth the effort:

Separate productive from standby hours on the ticket. Both cost money. Only one produces value. A customer whose jobs reliably generate two hours of crew standby waiting on a prime contractor is a different customer economically from one whose jobs do not, and you cannot see that unless the hours are typed at capture.

Cost overtime at its actual premium. If the crew that covered a Saturday closure was in overtime, that job carries the premium. Averaging overtime across all jobs hides which work is structurally producing it — typically night work, emergency callouts, and jobs that keep slipping.

Where classified work is involved, the wage floor is not yours to set. Prevailing wage determinations are published by the Department of Labor and looked up per locality and construction type at SAM.gov's wage determinations site, which defines a wage determination as "a set of wages, fringe benefits, and work rules that the U.S. Department of Labor has ruled to be prevailing for a given labor category in a given locality." Do not carry a remembered figure into an estimate — look the current determination up for the job, every time, because they change and they are locality-specific. The downstream reporting obligations that follow are covered in certified payroll for traffic control contractors.

Bucket two: equipment as device-days

This is the bucket most companies simply do not have, and it is the one that makes the whole exercise worth doing.

The logic: every device you own has an acquisition cost, a service life, a refurbishment cost, a loss rate, and a storage and transport cost. Divide the annual total for a device class by the number of days that class is realistically deployable in a year, and you have an internal charge-out rate per device-day. Charge it to jobs.

Nobody's first version of this is precise. It does not need to be. What it needs to do is make a device-heavy job look different from a labor-heavy one on the cost report, because right now it does not.

What to include per device class:

  • purchase cost spread over realistic service life, not tax depreciation life
  • refurbishment and repair, which for barricades and drums is substantial
  • loss and damage, measured from actual out-versus-back counts rather than guessed
  • storage, yard handling and transport

The loss line deserves special attention because it is measurable and usually is not measured. If your crews count devices out and count them back on every deployment, the annual delta by device class is your real loss rate. If they do not, you are estimating a number that could be materially wrong in either direction. The mechanics of getting that data are covered in tracking devices by job site.

There is also a compliance dimension to knowing your fleet precisely. The MUTCD requires certain devices, supports and appurtenances to be crashworthy, and states those provisions "apply to all streets, highways, and site roadways open to public travel" (Section 6A.04); the eligibility framework sits in FHWA's roadside hardware policy memoranda. Devices that need replacing for eligibility reasons rather than wear reasons belong in the same capital plan the device-day rate is funding.

If you already rent devices to customers, you have most of this data and a rate structure besides — see traffic control device rental rates. The internal charge-out rate is not the same number as the external rental rate, and conflating them will make in-house work look artificially unprofitable.

Bucket three: direct job costs

The straightforward bucket, so long as everything lands in it.

  • permit and application fees
  • subcontracted plan preparation or engineering seals
  • traffic control plan revisions after rejection
  • subcontracted flagging or equipment from another vendor
  • fuel and vehicle cost attributable to the job
  • per diem and lodging for out-of-area work
  • police or off-duty officer details where required

Two of these commonly go missing. Permit fees get paid by the office on a card and coded to a general expense account, never reaching the job. Plan revisions get treated as overhead because they feel like rework rather than job cost — but a job that needed three plan cycles genuinely cost more than one that needed one, and if that never shows up, you will keep bidding that customer the same way. The drivers behind those cycles are covered in common reasons plans get rejected and what drives traffic control plan cost.

Per diem is worth handling deliberately rather than as a reimbursement afterthought. The IRS publishes annual special per diem rates — Notice 2025-54 sets the high-low substantiation method at $319 per day for travel to a high-cost locality and $225 for other localities within CONUS, with $86 and $74 of those respectively treated as the meals portion, effective for allowances paid on or after October 1, 2025. Whether your arrangement is structured to be non-taxable is a question for your accountant, but the cost is job cost either way. The operational side is in per diem and travel pay for crews.

Bucket four: the overhead that will not attach

Dispatch, the yard, the office, insurance, bonding, software, the owner's time. None of it belongs to any one job and all of it has to be recovered from jobs.

Three allocation bases are common, and the choice matters more than most people expect:

Percentage of revenue. Simplest. Systematically over-allocates to high-revenue, low-effort work such as long-term equipment rentals, and under-allocates to labor-intensive short jobs that consume dispatch attention.

Per crew-day or per crew-hour. Better for labor-driven businesses. Overhead in this trade largely scales with crew activity — dispatching, scheduling, payroll, ticket chasing — so a crew-day basis tracks the actual driver. Its weakness is that a pure equipment rental with no crew attached absorbs nothing.

Split basis. Allocate crew-driven overhead per crew-day and asset-driven overhead per device-day. More work to set up, materially more honest for a company doing both service and rental.

Whichever you pick, apply it consistently and state it. The failure mode is not choosing the theoretically optimal basis — it is changing basis quietly, after which no two periods are comparable.

Insurance and bonding sit here and are not trivial. The SBA's Surety Bond Guarantee program, for context on scale, covers guaranteed bonds on contracts up to $9 million for non-federal contracts and $14 million for federal contracts, with a fee of 0.6 percent of the contract price for performance and payment bonds. Those are program parameters rather than your costs, but they anchor the order of magnitude that has to be recovered. More on the structure in insurance and bonding for traffic control contractors.

The reports that actually change decisions

Four, run on a weekly cadence.

Margin by job type. Group by the work you actually sell — flagging day rate, shoulder closure, lane closure, long-term barricade rental, special event, emergency callout. This is the report that tells you what to sell more of. It routinely surprises people: the work that feels busiest is often not the work that pays best.

Margin by customer. Same jobs, different lens. Some customers cost more to serve at the same price — slow permitting, frequent schedule changes, ticket disputes, standby time, slow payment. A customer at 22 percent margin who pays in 75 days and disputes a third of tickets may be worse than one at 18 percent who does not.

Estimated versus actual, by line. Not just the total variance — where it came from. Labor hours over, device-days over, or a direct cost that was never estimated at all. Each has a different fix, and the third is usually the biggest.

Standby and non-billable hours by customer and job type. The report nobody runs. It is where the invisible margin goes, and it converts an anecdote ("that prime always keeps us waiting") into a number you can take into a rate conversation.

A note on cadence, because it is where most costing programs quietly die. The four reports above are worth very little run once and a great deal run every week, and the difference is not analytical rigour — it is that a weekly rhythm catches a mispriced job type inside one billing cycle rather than at year end. In a seasonal business that distinction is most of the season. Pick a fixed slot, run the same four reports, and accept a rough number arriving on time over a precise one arriving in March.

The second failure mode is running them for the owner only. The estimator needs the estimate-versus-actual report to price the next one, and the dispatcher needs the standby report to know which customers to push back on. A cost report that never leaves the office changes nothing that happens in the field.

Feeding it without destroying your week

Every part of this depends on field data that has to be captured once, at the moment it happens, by the person who did it.

The requirements are unglamorous:

Hours tied to a job, not a day. A clock-in that knows which job it belongs to produces job labor cost with no allocation step. A clock-in that only knows the date requires someone to reconstruct the split, and reconstructions are wrong.

Device counts out and back, per deployment. Both numbers, at both moments. This feeds device-days, loss rate, and the availability picture simultaneously.

Direct costs captured on the job record. Permits, per diem, fuel, subcontracted plans — entered against the job when incurred, not coded to a general ledger account at month end and never seen again.

One number for hours. If payroll and job costing count hours from different sources, they will disagree, and the disagreement will be resolved in favor of payroll every time — leaving job cost quietly wrong.

That last one is why capture matters more than arithmetic. A spreadsheet computes job cost perfectly well. What it cannot do is stop someone re-keying a paper ticket into it three days later, and re-keying is where the accuracy goes.

Why this is worth doing now rather than eventually

The context is a business environment with real operational risk attached to getting jobs wrong. FHWA's work zone statistics record 891 work zone fatalities in 2022, including 94 highway worker fatalities, while the National Work Zone Safety Information Clearinghouse puts the wider economic burden at roughly $41 billion in comprehensive societal crash costs for 2024. Companies that run thin on documented cost data also tend to run thin on documented everything else, and the two failures show up together — in disputes, in claims, and in prequalification. Agency prequalification in particular asks for financial and performance evidence a company either has or does not; see DOT prequalification for traffic control contractors.

The more immediate argument is simpler. Bidding without job cost is bidding on the last guy's number plus a feeling. It works until a competitor with real numbers prices the work you are good at correctly and takes it, leaving you the work you were quietly subsidising.

A workable first pass

You do not need a costing project. You need four weeks:

Week one: fix labor. Build one loaded rate. Apply it to every job. Split standby from productive hours on tickets starting immediately.

Week two: build rough device-day rates for your top five device classes. Rough is fine — you are trying to separate device-heavy from labor-heavy jobs, not to audit anything.

Week three: route direct costs to jobs. Permits, per diem, subcontracted plans, fuel. Mostly this is a coding discipline, not a system change.

Week four: pick an overhead basis, write it down, and run margin by job type for the last quarter.

At the end of that you will have a defensible cost per job and, more usefully, a ranked list of what to stop bidding. The estimating side of the loop is covered in bidding traffic control jobs, and the utilization metrics that sit alongside job cost are in crew utilization metrics.

Traffic OS ties clock-ins, device deployments and direct costs to the job record so the cost report is a read of field data rather than a re-entry of it, and prices in flat monthly tiers rather than per user — which matters when the people entering the data are seasonal. If you want to see your own numbers rather than a demo dataset, bring a recent quarter to a walkthrough.

Frequently asked questions

What are the cost buckets for a traffic control job?+

Four: field labor at a fully loaded rate, equipment consumed as device-days rather than as depreciation, direct job costs such as permits, subcontracted plans, per diem and fuel, and an allocated share of overhead. The first two are where nearly all the error lives.

Why do equipment costs get missed?+

Because devices are owned, not purchased per job. A cone bought two years ago feels free at the moment it goes on a truck. Charging jobs an internal equipment-day rate is what makes a device-heavy job look different from a labor-heavy one, which is exactly the comparison a bidder needs.

Should job costing use the loaded labor rate or the wage?+

The loaded rate. Wage alone excludes payroll taxes, workers' compensation, benefits, paid time, and — most significantly in this trade — non-billable time such as yard time, travel, and load-out. A job costed at bare wage will look profitable at a price that loses money.

How do you handle standby and delay?+

Cost it and track it separately from productive time. Standby is real cost regardless of whether the contract lets you bill it, and separating it is the only way to learn which customers and which job types systematically produce unbillable hours.

How often should job costs be reviewed?+

Weekly for open work and at close for every job. A monthly cadence means a bad job type can run for six weeks before anyone notices, which in a seasonal business can be most of the season.

Do we need software for this, or will a spreadsheet do?+

A spreadsheet can compute job cost correctly. What it cannot do is get the field data in without re-keying — hours, quantities, equipment out and back — and re-keying is where the accuracy goes. The value of a system here is capture, not arithmetic.