Expense Category Concentration and the Other Bucket

Why this matters

Grouping approved spend by category is the cheapest financial analysis a shop can run, and it is worthless until you know how much of the spend never got a category. Blanks and unrecognised entries fold into a catch-all, and in most shops that catch-all is not a small residue at the bottom of the table, it is one of the biggest rows in it. When it is the biggest, the ranking underneath is not a ranking of your spending. It is a ranking of the minority of your spending that somebody classified, and it moves the moment anyone opens the bucket.

The bucket that is not a category

Every other row names something a person chose. The catch-all names the absence of a choice, so it has no meaning of its own, and it holds three unlike things: blanks where the category was optional and skipped, values the list does not recognise, and the genuine miscellany no sensible list carries a row for.

Only the third is real. The first two are a data-entry result wearing the costume of a finding, and they are never random. They concentrate on whoever enters expenses in a hurry, which is the field, and on the charge types the list gives no obvious home to, which is usually rentals, disposal and one-off third-party fees. So the catch-all is not a fair sample of the rows above it, and assuming it would distribute in the same proportions as they do is the specific belief that makes an unopened bucket feel safe to ignore.

A quarter before and after the bucket was opened

Index a quarter's approved spend at 100 units, so a category's units are also its percentage points of approved spend. Grouped as recorded:

Category Units
Other / uncategorised 34
Materials 21
Fuel 13
Subcontractor 11
Tools and equipment 8
Meals and lodging 5
Equipment rental 4
Permits and fees 3
Training 1

The owner plans two things off this: a conversation with the main supplier, because materials leads the real categories at 21.0 percent of approved spend, and a fuel policy, because fuel is second at 13.0 percent.

Then somebody opens the 34 units of Other line by line. It holds 19 units of counter-bought material entered with no category, 7 units of equipment rental the list had no row for, 5 units of subcontractor charges entered as general, and 3 units of true miscellany. Reallocated:

Category Units Rank before Rank after
Materials 40 1 1
Subcontractor 16 3 2
Fuel 13 2 3
Equipment rental 11 6 4
Tools and equipment 8 4 5
Meals and lodging 5 5 6
Permits and fees 3 7 7
Training 1 8 8

Other survives at 3 units. Materials nearly doubled, from 21 to 40 units, a factor of 1.9, and now exceeds the next two combined at 16 plus 13, or 29 units. Equipment rental went from 4 to 11, a factor of 2.75.

Five of the eight named categories changed rank. The three that held are the leader and the two smallest, which is the worst shape this defect takes: the headline the owner acted on looked confirmed while five of the eight positions underneath it were wrong. Fuel was never second. It was third, behind a subcontractor line nobody had looked at, and the planned fuel policy was aimed at the wrong row.

How big the catch-all is allowed to be

There is no industry benchmark for this and you do not need one, because the limit falls out of the table's own arithmetic.

An unopened bucket of X units can add up to X units to any single category, so any two categories whose gap is X or less are unordered. Either could end up above the other once the bucket is opened.

Run that on the as-recorded table. The largest named category is 21 units, the smallest is 1, so the widest gap between any two rows is 20 units and the bucket is 34. Every pair in that table is unordered. Not just the close ones - every pair. Training could outrank materials.

Run it on the corrected table, where the bucket is 3. The gap from materials at 40 to subcontractor at 16 is 24 units, safe. The gap from subcontractor at 16 to fuel at 13 is exactly 3, which is not safe, and every gap below that is 2 or 3 units, which is also not safe. So even here only the top position is established, and that is fine: the tail of a category table is never ordered, and the tail is not where decisions live.

The working rule: the catch-all has to be smaller than the gap between the two ranks you intend to act on. On a list of eight to twelve categories the top few are usually separated by several points of approved spend, which puts the practical target near 5 percent of approved spend in money, not in line count, because the lines that go in uncategorised skew large the same way the lines that go in without a job link do. Compute yours from your own gaps rather than adopting that figure.

Designing the list so the catch-all stays small

Bucket size is a design outcome, not a discipline problem, and shouting about it does not work. Four decisions set it.

Length: eight to twelve categories. Past about a dozen, somebody standing at a counter with a receipt stops reading and takes whichever row is nearest, or leaves it blank, so a longer list produces a bigger catch-all and a worse table at once. The example above runs eight named categories plus the bucket, at the short end of the band.

Distinctness. A category earns a row only if a charge landing in it would change a decision that the neighbouring row would not, with a different person owning the response. Whether a given split clears that bar is its own subject. See related: The Cost Categories Worth Separating.

Decisions, not tidiness. One row per supplier account helps a reconciliation and changes nobody's decision. Splitting materials into stock replenishment and job-specific purchase changes who you call when it grows.

Keep an Other row, and keep it optional. Make the field mandatory with no catch-all and the blanks do not disappear, they hide: a rushed entry takes the first plausible row, and a wrong charge inside a real category is invisible while a blank announces itself. A visible 8 percent bucket you can work beats an invisible 8 percent error spread across your six largest rows.

Every category has its own denominator

Once the bucket is small, the useful read is not which row is biggest. It is which rows are supposed to move when work moves, and against what. Materials, subcontractor and equipment rental track revenue, because they scale with the size of the work. Permits and fees track the count of permitted jobs, which is a job type rather than a revenue figure. Training tracks headcount and arrives in lumps, and tools and equipment is a step function with no business being read as a trend at all. Fuel tracks trips, not revenue.

That last one is where shops lose an afternoon. In the corrected quarter, fuel is 13 units against a revenue index of 1.00, across 180 completed jobs. The next quarter it is 16 units, revenue index 1.08, across 214 completed jobs.

  • Against revenue: 13 over 1.00 becomes 16 over 1.08, which is 14.81, up 13.9 percent.
  • Against completed jobs: 13 over 180 is 0.0722, and 16 over 214 is 0.0748, up 3.5 percent.

Same two quarters, same fuel, and the answer is a problem or a rounding error depending on the base. Fuel is burned per trip, so the second reading is the honest one; the first is mostly reporting that job count rose 18.9 percent while revenue rose 8 percent.

A category growing faster than what it should track

Materials across the same two quarters goes from 40 units to 52, with approved spend overall going from 100 to 119 units and units still pinned to the first quarter's base.

  • As a share of approved spend: 40.0 percent to 52 over 119, 43.7 percent.
  • In amount: up 30 percent, against revenue up 8 percent.
  • Per unit of revenue: 40 over 1.00 becomes 52 over 1.08, which is 48.15, up 20.4 percent.

Three different claims, and only the third is worth chasing, because it is the only one holding revenue constant. Three things produce it, and they separate on evidence the shop already has.

Supplier prices rose. The tell is the unit price of a handful of items you buy every quarter. Check three. Say they are up about 6 percent. Prices then explain a 6 percent rise, and 1.204 divided by 1.06 leaves 13.6 percent of the movement unexplained, which is quantity per unit of revenue.

Mix shifted toward material-heavy work. The tell is the job-type distribution, and here it rules itself out. Job count rose 18.9 percent against revenue's 8 percent, so the average job got smaller, and the smaller jobs in this shop are service calls, which carry less material per unit of revenue than installs. A mix shift should have pushed this figure down. It went up 20.4 percent.

Leakage. Material bought and not consumed on the job it was bought for, consumed and never billed, or consumed on a job it was never attached to. The tell is materials per unit of revenue rising inside a single job type at unchanged prices, and the confirmation is a stock count. See related: Expense per Job Only Sees Expenses Somebody Attached to a Job.

Prices account for part of the movement and mix is ruled out outright, which leaves the remaining 13.6 percent sitting on the third.

Two shops where the read fails for opposite reasons

Push list length to both extremes and the same read breaks twice, which is the cleanest proof that the target is not simply more categories or fewer.

Shop A runs two categories, job costs and overhead. The catch-all is genuinely zero, every line is classified, and the table is useless. The top row is most of approved spend, so it passes any coverage test you like, and there is nothing to separate from anything, so no concentration read exists. It restates the profit and loss statement and changes no decision.

Shop B runs 41 categories. Its catch-all is also near zero, because there is a row for everything. The largest category is 9 percent of approved spend and ranks three through fifteen sit within a point of each other, so nothing is ordered and nothing is large enough to be worth ordering. Same failure as a 34-unit bucket, reached from the opposite direction.

Hence the two conditions a category table satisfies before its concentration means anything:

  1. The top three categories cover more than half of approved spend. Shop A passes; Shop B fails at 9 plus 8 plus 7, or 24 percent. The as-recorded quarter fails at 21 plus 13 plus 11, or 45 of 100 units. The corrected quarter passes at 40 plus 16 plus 13, or 69.
  2. No two categories you intend to act on sit closer together than the catch-all. Shop A has no pair to test; Shop B fails on every pair; the as-recorded quarter fails on every pair; the corrected quarter passes on the only pair anyone was going to act on.

There is no cross-trade benchmark for what the shares themselves should be, and anyone offering one is comparing business models rather than performance, since a shop that subcontracts heavily and one that self-performs will never agree and neither is wrong. Benchmark each row against your own trailing four quarters, against the base that row is supposed to track, and investigate any move you cannot explain with price or mix.

References

  • See related: The Cost Categories Worth Separating, for the test of whether a given split earns its own row
  • See related: Expense per Job Only Sees Expenses Somebody Attached to a Job, for spend that is categorised but never reaches a job
  • See related: The Expense Approval Rate and the Queue Behind It, for why only approved spend is in this table
  • See related: Cost of Goods Sold vs Operating Expense Categorization, for which side of the gross margin line each category sits on