Do Bigger Tickets Earn Worse Margins?
Why this matters
Bin your completed jobs by revenue size, put each bin's average margin beside it, and you get a short list of numbers that answers a question no single headline figure can: does your pricing hold as the work gets bigger? The answer comes as a shape, not a number, and the three shapes it can take call for three completely different actions. Getting the shape right is the difference between repricing a catalogue that was fine and letting a change-order habit eat the largest jobs you take.
Building the curve
Take every completed job with revenue in the period. Sort by revenue. Cut into bands, and label the bands in multiples of your own median job revenue rather than in fixed amounts, so the curve stays readable as prices move and so it is comparable with another shop's. Four or five bands is enough; more than that and the counts per band get too thin to trust.
For each band, take the average of its jobs' own margin percentages, which is the same plain average the rest of your margin figures use. Then read the bands in order, smallest to largest.
Two things to fix before reading it. Count the jobs in each band and write the count beside the margin, because the largest band is always the emptiest and it is also the one the eye lands on. And confirm each band holds a mixture of job types rather than one type; a band that is entirely installs is telling you about installs, not about size.
The worked curve
| Band (multiple of median job revenue) | Jobs | Average margin |
|---|---|---|
| Under 0.5x | 48 | 57 percent |
| 0.5x to 1x | 71 | 54 percent |
| 1x to 2x | 52 | 48 percent |
| 2x to 5x | 34 | 41 percent |
| Over 5x | 9 | 29 percent |
214 jobs. The top band holds 9 of them, which is too few to rank on its own: one bad job in a 9-job band moves its average by several points, so 29 percent is an observation rather than a finding. Strike it for now and read the first four bands, which hold 205 jobs between them and fall monotonically from 57 to 41 percent, a drop of 16 points.
That is enough. The finding does not need the top band, and stating it without the top band is what makes it defensible.
The top band still has something to give, just not as an average. Nine jobs is few enough to open every one of them. Below the count where a band can be ranked, stop averaging and start reading: nine job files will tell you in an afternoon whether they share a cause, and that is a stronger answer than a mean of nine.
Naming the shape
Declining, and it is the common one. Margin erodes as jobs get larger, steadily, across bands with enough jobs to mean something.
Before accepting that, rule out the one thing that fakes it: job-type concentration. If the large bands are almost all installs and the small bands are almost all service calls, the curve is showing you the type difference you already knew about, restated in size language. Check the type mix per band. Where each band holds a spread of types and the decline survives, size itself is doing the eroding, and that is a different and more useful finding.
A declining curve splits in two: sold away and delivered away
A margin can be lost at two moments, and they need opposite fixes. Put the quoted margin next to the delivered margin for each band and the curve separates itself.
| Band | Quoted margin | Delivered margin | Lost after the quote |
|---|---|---|---|
| Under 0.5x | 57 percent | 57 percent | 0 points |
| 0.5x to 1x | 55 percent | 54 percent | 1 point |
| 1x to 2x | 51 percent | 48 percent | 3 points |
| 2x to 5x | 50 percent | 41 percent | 9 points |
Read the two columns separately. Quoted margin falls from 57 to 50 across the four bands, so 7 of the 16 points were sold away before anyone picked up a tool. Delivered margin falls further because the gap between quote and delivery widens from 0 points to 9, so the other 9 points were delivered away. Seven plus nine is the 16-point fall, and the two halves have nothing to do with each other.
The sold-away half is a pricing decision the shop has already been making, probably without deciding it: big jobs get quoted about 7 points thinner to win them. That is legitimate if it works, so test whether it works. Pull the win rate by band. If the 2x-to-5x band converts at the same rate as the 0.5x-to-1x band, the 7 points bought nothing and can come back.
The delivered-away half is not a pricing problem at all, and raising prices on top of it simply moves the same leak up a level.
The hours test on the delivery half
Nine points lost between quote and delivery is either scope that grew without being billed, or an estimating method that is systematically light on large work. One test separates them.
Compare estimated hours against actual hours, per job, and apply a flag: any job whose actual hours exceed its estimate by more than 15 percent with no signed change order attached gets flagged. Evaluated per job, not against the band average, because a band average hides the shape - a band where every job runs 15 percent over is an estimating problem and a band where a third of jobs run 60 percent over is a scope-control problem, and both produce the same band mean.
In the worked shop:
- 2x-to-5x band: 38.0 hours estimated on average against 44.5 actual, 17.1 percent over. 15 of 34 jobs flagged, or 44.1 percent of the band.
- 1x-to-2x band: 9.0 estimated against 9.6 actual, 6.7 percent over. 6 of 52 jobs flagged, or 11.5 percent.
- Under 0.5x band: no hour estimate exists, because these are priced flat rate off the book. Nothing to test, which is itself the reason this band does not leak.
Nearly half the 2x-to-5x band grew past its estimate and nobody raised a change order on any of them. That is the 9 points, and the fix is a rule rather than a price: on any job above a stated size, work that was not in the quoted scope stops until it is priced and authorised. The flag above is also the monitor - re-run it next period and count the flagged jobs, not the margin, because the margin will take a quarter to catch up and the flag count moves immediately.
One of those flagged jobs, all the way through
Take a single job out of the 2x-to-5x band and index its quoted revenue at 100 units so the percentages are readable.
- Quoted margin 50 percent, so quoted cost is 50.0 units.
- Of that cost, labour is 30.0 units across 38.0 estimated hours, which prices an hour of this crew at 0.79 units. Parts and travel make up the remaining 20.0 units.
On the second day the customer asks for two extra items. They are small, the relationship matters, and the crew does them. The job closes at 44.5 hours, which is 6.5 hours over the estimate, or 17.1 percent. No change order was raised, so revenue stays at 100 units.
- Extra labour: 6.5 hours at 0.79 units an hour is 5.1 units.
- Extra parts for the two items: 3.4 units.
- New cost: 50.0 plus 5.1 plus 3.4, which is 58.5 units.
- Delivered margin: (100.0 minus 58.5) over 100.0, or 41.5 percent.
The job lost 8.5 margin points, and it lost them without anybody doing anything wrong in the ordinary sense. Nobody padded hours, nobody was slow, the customer is happy and the work is good. Fifteen jobs losing that much, spread across a band of 34, account for 3.8 of the band's 9-point gap, so the rest of the gap sits in jobs that ran further over than this one.
Note the proportion. On this one job, the unbilled extras cost 8.5 points, while the pricing discount the shop applies to this whole band is 7 points. The thing nobody decided cost more than the thing they did decide. That is the argument for putting the change-order rule in before the pricing conversation, and it is also why a band's margin will not respond to a price rise while the leak is open: the extras will absorb the increase.
Flat, and rising
Flat across the bands is the good outcome and it means your pricing method holds at every size: flat-rate work is priced from a book that was built correctly, and larger jobs are being estimated the same way rather than a looser way. The action is to stop looking. The one thing to confirm before believing it is the count per band, because a curve with two populated bands and three thin ones is not flat, it is undersampled.
Rising as jobs get larger is the least common and the most fixable. It means the small end is not covering the cost of being there at all. Work it in hours rather than percentages, because that is what a visit consumes: if a short call takes 1.4 hours on site plus 0.5 hours of travel, the job consumes 1.9 hours of technician time before a single part, so a minimum charge built to cover 1.0 hour of labour sells every one of those visits below the time it costs. Raise the minimum charge to cover the whole 1.9 hours plus the parts typically used, and the bottom band lifts without touching anything else in the catalogue.
Note what this does NOT call for. A rising curve is not an argument for repricing the middle and upper bands, which are performing. It is one line in the price book, and a shop that responds to it with a general price increase will lose work it was making money on to fix work it was not.
Checking your own curve
- Build it twice, once on all jobs and once on a single job type that has enough jobs to band. If the shape survives inside one type, size is the driver. If it vanishes, you were looking at the type mix.
- Write the job count next to every band and refuse to read any band under 30 completed revenue jobs as a rank, however striking the number. That is the same reliability floor the job-type ranking card uses, applied to a band instead of a type.
- Add the quoted-margin column before drawing any conclusion about pricing. Without it you cannot tell a discount from a leak, and the two fixes are opposites.
- Re-run it on the same bands next period, defining the bands on the same multiples of the median. If you rebuild the band boundaries around a new median every time, the curve will move on its own and you will be reading your own price rises back as a shape change.
One condition changes the method rather than the reading. If your large work is sold on a time-and-materials or cost-plus basis, there is no quoted-margin column to build: the margin is set by the markup and delivered equals quoted by construction, so that work will show flat however badly it is running. For a shop with a meaningful share of billing on that basis, ask the size question through hours instead - hours worked against hours invoiced by band, and the share of logged hours that get written down before the invoice goes out. The write-down is where a cost-plus job leaks, and no margin curve will ever show it to you.
References
- See related: Gross Margin Percent Is an Average of Averages - the basis each band average is computed on
- See related: The Job-Type Margin Ranking and the Count Beside It - the reliability floor this card borrows, and the type cut that must be ruled out first
- See related: The Minimum Charge or Trip Fee Catalog Entry
- See related: Estimating Confidence From Tracking Actuals