Specialty contractors keep 7.7 cents of every dollar, and lighting is the biggest line on the bid.
Specialty trade contractors run a 7.7% net margin, and lighting is the largest revenue line an electrical contractor sells. A few percent off on the fixture count is therefore most of the margin, so LumenTakeoff separates scope from the count and refuses to export numbers that do not reconcile.
The figure
The typical specialty contractor keeps 7.7 cents of every dollar. Lighting is the biggest line on an electrical bid.

CFMA built its 2025 Construction Financial Benchmarker from the financials of 1,558 companies. Specialty trade contractors came out at a 7.7 percent net income before taxes. All contractors together sat at 6.7 percent, and best in class reached 12.0 percent.
Set that beside what lighting actually is on an electrical bid. Electrical Contractor magazine's 2024 Profile of the Electrical Contractor puts lighting fixtures, lamps, ballasts and controls at the top of the revenue list, about a quarter of what electrical contractors sell. Roughly nine in ten firms do lighting work.
So the arithmetic is unkind. If the largest line on the bid is off by a few percent, that is not a rounding error against 7.7 cents on the dollar. It is most of the job's margin, decided on day one by a person counting circles.
I count them, so I know how the errors happen. It is almost never arithmetic. It is a Type F1 folded in with the Type F beside it, because the difference is a short slash and you are on the twelfth sheet. It is the remodel plan where half the fixtures are existing to remain and the grey ones got counted anyway. It is the addendum sheet that never made it into the pile. Each one is quiet, and each one surfaces at buyout with the money already spent.
What LumenTakeoff does about it
LumenTakeoff counts deterministically on supported vector sheets and refuses to pretend anywhere else. Scanned or raster pages are reported as unsupported, never guessed at, and Coverage says which pages were counted, which were out of scope and which could not be read. A gap you can see beats a total that quietly swallowed a sheet.
Scope is kept separate from the count. An exact symbol count is not automatically the bid count, so families are separated into new work, existing to remain, relocated, demolition and unresolved, and the in-bid-scope figure holds existing to remain out instead of folding it in. Stroke colour and lineweight are a review signal, never the contractual scope decision: black does not universally mean new work, dashed does not universally mean existing, and grey or non-black is never counted as new work. Where the drawing does not settle it, the family is flagged rather than assumed.
Naming works the same way. A name is a schedule type code, and it lives in the tag the drafter placed and the schedule that defines it, not in the symbol's shape. A ranked shape match orders the candidates and never sets the name. The N4 and N10 case stays ambiguous until a person decides, because an exact count with no name is a valid outcome and a confident wrong name is not.
Then Lock in runs a reconciliation check first. If the numbers do not reconcile, the export is refused rather than produced. The XLSX carries Coverage, Quantities, Findings and Evidence, and the proof images ring every counted instance on the sheet it came from.
On the biggest line of the bid, at 7.7 cents on the dollar, I would rather be handed the flag than the total.
The machine counts. You decide.
Bring a plan set
See what LumenTakeoff finds.
Run a real lighting takeoff and review the result against the way your team works today.
- Supported vector plan sets
- Lighting fixture families and counts
- Evidence you can check against the drawing
Built for electrical estimators. Your address is used to reply about LumenTakeoff and nothing else.