“Eight trucks, six thousand containers a month, revenue just under nine hundred thousand. And what I take home — a hundred thousand. For three years I believed waste collection is simply that kind of business: big turnover, pennies of margin” — that is how Bohdan Nechai, owner of a waste collection company in Vinnytsia, opened the conversation.
If you collect waste for residential blocks and businesses, you have already said this to yourself. The trucks roll out at six, the dispatcher cannot keep up with the calls. And the bottom line shows a sum that would not buy you one second-hand refuse truck.
The reason is almost always the same. The report carries the unit cost of emptying one container, and it looks like a property of the business. In reality it is an average that describes none of your routes.
We break the company down into two units: the container and the kilometre. And we get to why one district brings in 218 012 ₴ while the other, on the very same rate, takes away 115 492 ₴.
Bohdan's road: from one refuse truck to eight
Bohdan started with a single second-hand rear-loader. He drove it himself and did his own talking with the heads of the homeowners' associations. He kept the maths in a notebook: this many contracts, this much diesel, the difference is mine.
Seven years on there were eight trucks, a dispatcher, two mechanics and a schedule laid out on a weekly grid. That is when the feel for the numbers went. The fleet grew eightfold, revenue came along behind it, and the profit stayed where it had been.
“When there was one truck, I knew everything about it: where it went, how much it took, what the fill-up cost. Now there are eight of them — and ask me which district feeds me and which one is quietly eating me. I will not answer.”
Why “eight trucks and six thousand containers” tells you nothing about money
The container is what you get paid for. But a truck does not carry a container, it carries itself: the driver is on a salary, the lease accrues, the diesel burns whether the next bin is twenty metres away or two kilometres.
As long as the books hold the line “6 240 containers emptied”, the simplest question stays unanswered: how many kilometres did the company drive under each one of them.
The report Bohdan worked from for three years
Here is the month he based every decision on. The revenue is simple: 6 240 containers at a rate of 148 ₴ makes 923 520 ₴.
| Cost line | Per month | % of revenue |
|---|---|---|
| Drivers and loaders | 312 000 ₴ | 33.8% |
| Fuel | 196 000 ₴ | 21.2% |
| Servicing and repairs | 84 000 ₴ | 9.1% |
| Lease and depreciation | 128 000 ₴ | 13.9% |
| Landfill disposal charge | 62 000 ₴ | 6.7% |
| Dispatcher, office | 39 000 ₴ | 4.2% |
| Total | 821 000 ₴ | 88.9% |
There is not a single error in this report
The service records, the bank, the trip sheets — it all reconciles to the hryvnia, there is nothing to check. Profit: 923 520 − 821 000 = 102 520 ₴, a net margin of 11.10%.
Bohdan then divided the costs two ways, and both looked logical. Eight trucks cover 2 600 km each, 20 800 km together — so 821 000 / 20 800 = 39.47 ₴ per kilometre. And 821 000 / 6 240 = 131.57 ₴ per container, which on a rate of 148 ₴ gave a margin of 16.43 ₴.
Sixteen hryvnia out of a bin. That is the number he spent three years calling “the business is just like that”.
Life before the kilometre became a line
The bookkeeping Bohdan lived with through those years is recognisable to any hauler who grew out of one truck.
- Revenue was rolled up across the company. One sum for all the contracts — and no way to know which address brought it in.
- Fuel was seen as one line. 196 000 ₴ for the fleet, with no breakdown by truck or route.
- Mileage was never put next to containers. The odometer lived in the trip sheets, the containers in the service records, and those two notebooks never met.
- Unit cost was treated as one figure. 131.57 ₴ a bin — and that number went into every new contract.
- The schedule was set out of habit. Five days a week, because that is how it fell into place in the first year.
- The drive to the landfill was not counted at all. It was neither a route nor a call-out — just “we have to tip somewhere”.
None of these six problems was technical. The drivers were working properly, the trucks were going out on their routes. All six sat in the books — and nobody looks into the books out on the site.
The unit that matters: not the container, the kilometre
The container is the unit you invoice in. The kilometre is the unit you incur costs in. Until the two of them stand in one line, the unit cost of a collection is made up by division.
Revenue per kilometre: 923 520 / 20 800 = 44.40 ₴. Costs per kilometre: 39.47 ₴. The difference is 4.93 ₴ a kilometre, and over 20 800 km it gives exactly those 102 520 ₴. That is what the company actually sells: not the bin, but the road underneath it.
Why the average unit cost of 131.57 ₴ does not exist
That container is not on a single route. 131.57 ₴ is the average between two different businesses, born of a division once the month was already over. In the dense district a bin costs 92.10 ₴, in the sparse one 197.36 ₴. The gap between the two extremes is 105.26 ₴, more than two thirds of the rate.
While both of them live inside one average, the loss-making district looks normal and the profitable one looks mediocre. A decision taken on the number 131.57 ₴ cannot be the right one: it describes a business that does not exist.
“I knew that figure by heart and put it into every new contract. And then I was shown that it is simply the average between the district that feeds me and the district that is finishing me off. Not one of my trucks collects a container like that.”
The cost of a kilometre is the same everywhere — 39.47 ₴
This is where the mechanism clicks. A kilometre costs 39.47 ₴ in the dense district and in the sparse one alike: the same diesel, the same driver, and the lease has no idea where you drove.
The only difference is how many containers that kilometre was shared between. Across the company it averages 0.30 of a container per kilometre, that is 3.33 km for one bin. In the dense district it is 0.43 of a container per kilometre, in the sparse one 0.20. The rate per bin is identical, and the kilometres underneath it are 2.1 times more numerous.
Two districts, taken apart one at a time
Bohdan then wrote the month out for the two districts separately: containers from the service records, mileage from the trip sheets. The unit cost came out of those same 39.47 ₴ multiplied by the kilometres under one bin.
| Monthly metric | Dense district | Sparse district |
|---|---|---|
| Containers | 3 900 | 2 340 |
| Mileage | 9 100 km | 11 700 km |
| Containers per kilometre | 0.43 | 0.20 |
| Kilometres per container | 2.33 | 5.0 |
| Unit cost of a container | 92.10 ₴ | 197.36 ₴ |
| Margin per container (rate 148 ₴) | +55.90 ₴ | −49.36 ₴ |
| Result for the month | +218 012 ₴ | −115 492 ₴ |
| Check: both districts together | 6 240 containers, 20 800 km | +102 520 ₴ |
The same fleet, the same rate, the same drivers. Two lines — and two different businesses under one sign.
Why 218 012 minus 115 492 comes to exactly 102 520 ₴
It is worth stopping here, because this is the point in the calculation people do not believe. The containers add up: 3 900 plus 2 340 is 6 240, exactly what is in the service records. The kilometres add up: 9 100 plus 11 700 is 20 800, exactly what is on the odometers. And the results add up: 218 012 − 115 492 = 102 520 ₴, the very figure that is in the report.
Nothing appeared and nothing vanished. Breaking it down does not add money — it only shows that the consolidated profit is not the result of the company's work, but the difference between two results, one of which carries a minus sign.
The dense district: 2.33 km per container and plus 218 012 ₴
The dense district is where the residential block sites are: pull up once, tip six to eight bins, move two hundred metres. That works out at 2.33 km for one container — and a unit cost of 2.33 × 39.47 = 92.10 ₴.
Against the rate of 148 ₴ that is 55.90 ₴ of margin out of a bin, 37.8% of the price. Over the month the district delivers 218 012 ₴: 577 200 ₴ of revenue from 3 900 containers against 359 188 ₴ of costs for its 9 100 km. The district does 62.5% of all collections, takes 43.8% of the mileage — and brings in more than the whole company shows as profit.
The sparse district: 37.5% of collections and 56.3% of the mileage
Bohdan thought of the second district as “a bit weaker”. It does 2 340 collections — 37.5% of all containers. And it takes 11 700 km of mileage, that is 56.3% of everything the fleet drives.
Fewer collections and more kilometres — that is enough to flip the sign. 5.0 km per bin give a unit cost of 197.36 ₴ against the rate of 148 ₴, that is minus 49.36 ₴ out of every container. Over the month the district takes away 115 492 ₴: 346 320 ₴ of revenue from 2 340 containers against 461 812 ₴ of costs for its 11 700 km. Both districts together: 359 188 + 461 812 = 821 000 ₴ — all of the company's costs, laid out along the mileage. Every contract signed there grew the loss rather than bringing the company closer to zero.
- Private houses instead of block sites. One bin per yard, not eight on a single pull-up.
- The bins stand on their own. The truck lowers its arms, lifts one container and rolls on.
- Addresses out on the edge of the district. A few car service garages and warehouses on the way out add kilometres without a single extra bin.
- A five-day schedule. The same volume stretched over five trips out, and every trip is its own road there and back.
“When they first showed me minus a hundred and fifteen thousand on a district, I asked them to do the sums again. There are real people there, real contracts, the truck comes back full every day. It turned out that a full truck and a full route are different things.”
Break-even in kilometres: 3.75 km per container
The most useful number in this whole article comes out in one move. Divide the rate by the cost of a kilometre: 148 / 39.47 = 3.75 km. That is how far a truck can drive under one bin for the collection to come out at zero.
Then compare it with the facts. The dense district covers 2.33 km — comfortably below the threshold. The sparse one 5.0 km — a third above it, and hence the minus. The average of 3.33 km keeps the company above the threshold, but with nothing to spare: that is exactly why the net margin looks like 11.10%.
Why raising the rate is not the way out
The first reaction to minus 49.36 ₴ is to raise the price in that very district. Let us work out by how much: for 5.0 km per container to come out at zero, the rate there would have to become 197.36 ₴ instead of 148 ₴ — almost a third dearer.
In the private-house sector a price like that does not sell: the neighbour hauls it away on a trailer, and some of the yards simply will not sign a contract. So the rate does not move any further — all the calculations stay at 148 ₴.
The hidden line: 208 trips to the landfill
Now for the line that none of Bohdan's reports ever showed, and it is the biggest one. Over the month the trucks made 208 trips to the landfill, each one 34 km there and back. Together that is 7 072 km.
In money: 7 072 × 39.47 = 279 140 ₴. The profit for that same month was 102 520 ₴. A road with not one container on it is 2.72 times dearer than all the earnings the company credited itself with. Per bin that is 44.73 ₴ out of a rate of 148 ₴.
One trip works out at 1 342 ₴ of pure mileage, and there are 26 such trips per truck a month. Over those kilometres the truck is either already empty or not yet tipped — there are no containers on that road.
“The landfill I kept in my head as a charge per tonne. That eight trucks drive out to it every day and that this road costs more than my entire profit — nobody ever told me. It never gets written on an invoice, after all — it is just a road.”
Why 34 km and 34% are a coincidence
The number 34 appears twice in this section, and it is not a slip. 34 km is the length of one trip to the landfill and back. 34% is the share of those trips in the total mileage: 7 072 km out of 20 800 km. Neither follows from the other, they coincided by chance.
Keep the percentage in mind: every third kilometre the fleet drives serves no container at all.
The landfill in the costs and the landfill in the mileage: 62 000 ₴ and 7 072 km
Two numbers about one and the same place, and they must not be confused. 62 000 ₴ is the landfill disposal charge, a separate cost line in the table above, 6.7% of revenue. 7 072 km is the mileage to that same landfill, and it sits inside the other lines: in the fuel, in the servicing, in the driver's wages.
Per trip the disposal charge works out at about 298.08 ₴, while the road under that same trip costs 1 342 ₴. Getting there is 4.5 times dearer than tipping. Negotiations over the gate will not change that — only geography and the number of trips will.
Why 279 140 ₴ cannot be subtracted from the profit
The commonest mistake after a calculation like this is to add 279 140 ₴ to the costs or take it off the profit. You must not do that.
This money already sits inside the 821 000 ₴. It is not a new cost, but 34% of the existing mileage restated in hryvnia at that same price of 39.47 ₴ per kilometre. The company's costs were and remain 821 000 ₴, and the profit 102 520 ₴.
So what is the figure for? To see the price of geography: it is the limit within which it makes sense to bargain for a closer transfer station, or to cost out a site of your own. As long as the road to the landfill has no sum attached, it feels free.
What to do without touching the rate: fit a district into two days
Bohdan's first decision cost nothing. The sparse district was being served five days a week — the same addresses, a little bit every day. The same volume was packed into two days: the truck now covers the district in one continuous sweep.
The volume did not change — the same 2 340 containers. What changed is the density of the sweep: kilometres per container become 3.6 instead of 5.0.
| Sparse district | Five days a week | Two days a week |
|---|---|---|
| Kilometres per container | 5.0 | 3.6 |
| District mileage for the month | 11 700 km | 8 424 km |
| Mileage saved | — | 3 276 km |
| Saving in variable costs | — | 44 095 ₴ |
| Margin per container (rate 148 ₴) | −49.36 ₴ | +5.91 ₴ |
The margin comes out of that same threshold: 148 − 3.6 × 39.47 = +5.91 ₴. Not much, but the sign has flipped — the district stops eating what the dense one earns.
“I was getting ready to sell a truck or tear up the contracts in that district. And the dearest thing I owned turned out to be the habit of driving out there every day for a piece of it.”
The 3 276 km saving in money: 13.46 ₴, not 39.47 ₴
Care is needed here, otherwise it is easy to paint yourself a saving three times larger than the real one. When you take kilometres out of a fleet you already own, the 39.47 ₴ is not released: the lease, the wages and the office do not go anywhere, they simply spread over less mileage.
What shrinks in the till is only the variable part — fuel and servicing: (196 000 + 84 000) / 20 800 = 13.46 ₴ per kilometre. So 3 276 × 13.46 = 44 095 ₴ a month, that is 43% of the entire profit — with no new truck and no new client.
Keep these two numbers in separate pockets. 39.47 ₴ shows you what geography costs you, and it is the one you compare the rate against. 13.46 ₴ shows how much will actually stay in the till if there are fewer kilometres. The first is for decisions about price, the second for decisions about the schedule.
What changed once the kilometre became a line
The changes to the paperwork came to three. The trip sheets began to be reconciled with the service records, so that every district had both its mileage and its number of bins. Trips to the landfill became a separate line of mileage. And every new address now goes through a check on the kilometres under the bin before it is signed.
- The sparse district stopped being a minus. Two days instead of five, 8 424 km instead of 11 700, 44 095 ₴ saved a month and a margin of +5.91 ₴ instead of −49.36 ₴ a container.
- The road to the landfill got a sum attached. 7 072 km and 279 140 ₴ — that is 34% of the mileage, and now you can see how much it is worth paying for a transfer station closer to town.
- New contracts are counted in kilometres. The threshold of 3.75 km per container answers the question about an address in two minutes, whereas 131.57 ₴ never answered it at all.
No new trucks, no rate increase and no extra clients were needed. What was needed was to see the kilometre as a line with a price of its own.
The takeaway for business owners. If there are vehicles driving in your business, then the unit you invoice in and the unit you incur costs in are different units. Your price of a kilometre is the same everywhere; what differs is only how many paid operations that kilometre was shared between. Work out the threshold — how many kilometres you can drive under one operation for your rate — and compare it with the facts for each district separately. Where the fact is above the threshold, discounts and haggling will no longer help: every new order will add to the minus. This works the same way in delivery, in call-out services and in any business where a vehicle drives between two paid addresses.
Parting advice
- Work out the cost of a kilometre, not just of an operation. 821 000 ₴ over 20 800 km is 39.47 ₴, and that figure is the same in every district.
- Derive the threshold in kilometres per one paid operation. 148 divided by 39.47 is 3.75 km. With a number like that a new address can be assessed before the contract is signed.
- Do not trust the average unit cost. There is no 131.57 ₴ container in the dense district or in the sparse one: there it is 92.10 ₴ and 197.36 ₴.
- Reconcile mileage with the number of operations for each district. The odometer and the service records in different notebooks are the main reason a loss-making district looks normal.
- Count the kilometres that carry no paid operation at all. 7 072 km to the landfill — 34% of the mileage and 279 140 ₴ at the price of a kilometre.
- Before you raise the price, try changing the schedule. The same volume over two days instead of five gave a saving of 3 276 km and flipped the district's sign.
- Count a mileage saving at variable costs. 13.46 ₴ per kilometre, not 39.47 ₴: the lease and the wages do not disappear because the route got shorter.
The money does not vanish — you simply do not see it
People think waste collection rests on two things: having something to drive out in and not underselling on the rate. Without them you really cannot start. But the earnings are decided by a third — how many paid containers each kilometre was shared between, when you pay the same for every one of them.
A hole like that does not close over on its own and it will not show up in the bottom line: the line totals the month, while the minus is written into one district. Yet the moment the kilometre gets a price, the main thing becomes visible: the 11.10% net margin belongs neither to the dense district nor to the sparse one. It is the proportion in which a working business and a road you pay for out of your own pocket got mixed together.
How to see this in your own company
Everything described above rests on two units of measurement: the container and the kilometre. While the unit cost is reduced to one average figure for the whole company, you cannot see that one district works in the plus and the other in the minus, nor how much mileage serves no container at all. When the same data is collected automatically, you see which route pays for itself and which does not — which is exactly why small and medium business owners use Finmap: to see the financial picture instead of totting it up after the fact.
Read also
- Courier Delivery Service: Profit Per Order, Not Per Turnover
- Three pickup points: one eats what the other two earn
Topic foundation: Management Accounting Explained: What It Is and Why Owners Need It
Frequently asked questions
You need three numbers for each district separately: the number of containers emptied, the mileage the trucks covered in that district, and the cost of a kilometre. The cost of a kilometre is one figure for the whole company: all the costs divided by all the mileage. In the example from this article that is 821 000 ₴ over 20 800 km, which makes 39.47 ₴. Then divide the district's mileage by the number of containers — that gives you the kilometres for one bin — and multiply by the price of a kilometre. In the dense district 9 100 km over 3 900 containers gives 2.33 km and a unit cost of 92.10 ₴. In the sparse one 11 700 km over 2 340 containers is 5.0 km and 197.36 ₴. Do not work this figure out with a single division across the whole company: 821 000 over 6 240 gives 131.57 ₴, and no such container exists in the first district or in the second.
Because the price of a kilometre is the same everywhere, while the number of kilometres under a bin is not. The diesel, the driver's wages, the lease and the servicing have no idea which district the truck went to: a kilometre costs 39.47 ₴ in both. The dense district is where the residential block sites are — pull up once, tip several bins, move two hundred metres: 0.43 of a container per kilometre. In the private-house sector there is one bin per yard and the addresses are scattered: 0.20 of a container per kilometre. The difference in density is 2.1 times, and it is exactly that which opens a gap of 105.26 ₴ in the unit cost. The rate meanwhile is identical — 148 ₴ — so one district brings in 55.90 ₴ out of a bin while the other takes away 49.36 ₴.
Divide the rate by the cost of a kilometre. In the example, 148 divided by 39.47 is 3.75 km: that is how far a truck can drive under one bin for the collection to come out at zero without a single hryvnia of earnings. The dense district covers 2.33 km — with plenty to spare; the sparse one 5.0 km — a third above the threshold, hence the minus. The company average, 3.33 km per container, keeps the business above the threshold but with almost nothing left over — and that is where the net margin of 11.10% comes from. This is the most useful number an owner can have, because it can be estimated before a contract is signed: work out how many kilometres the truck will rack up under the bin at a new address and compare it with 3.75. Recalculate the threshold every time the rate or the price of fuel changes.
Because the consolidated line adds up two businesses with different signs. In the example the dense district delivers +218 012 ₴ for the month while the sparse one takes away −115 492 ₴. The check reconciles on all three axes: 3 900 plus 2 340 is 6 240 containers from the service records, 9 100 plus 11 700 is 20 800 km from the odometers, and 218 012 − 115 492 = 102 520 ₴, the very figure that is in the report. Breaking it down neither adds money nor takes any away — it shows that a net margin of 11.10% describes neither of the two districts. As long as only the total is in front of you, it looks as though the business is simply low-margin. In reality the minus has a specific address.
They are invisible because they never arrive as a separate invoice — they are just a road, dissolved into the fuel, the servicing and the driver's hours at the wheel. In the example the trucks made 208 trips to the landfill, each one 34 km there and back: 7 072 km together, that is 34% of all the mileage. The two 34s here are the same by chance — the first is the kilometres of one trip, the second the share of those trips in the mileage. In money, 7 072 × 39.47 = 279 140 ₴, which is 2.72 times more than the entire profit for the month. Per bin that is 44.73 ₴ out of a rate of 148 ₴. One thing matters: this money already sits inside the 821 000 ₴ of costs, and it must not be added to the costs or taken off the profit. The figure is there for something else — to see the limits within which it is worth bargaining for a transfer station closer to town.
These are two different things about one and the same place. 62 000 ₴ is the charge for disposing of the waste, a separate cost line, 6.7% of revenue in the example. 7 072 km is the road to the landfill and back, and it does not sit on a line of its own but inside the fuel, the servicing and the wages. Restated per trip, the charge at the gate is about 298.08 ₴ while the mileage under that same trip is 1 342 ₴ — getting there is 4.5 times dearer than tipping. The practical conclusion: negotiations with the landfill touch the smaller of the two sums. What makes collection cheaper is geography — a closer transfer station and fewer trips — not the disposal rate.
Yes, if you reduce the kilometres under the bin. In the example the district was being served five days a week — a piece of the addresses every day. The same volume was packed into two days: the truck covers the district in one continuous sweep and the kilometres per container become 3.6 instead of 5.0. The district's mileage falls from 11 700 km to 8 424 km, a saving of 3 276 km. The margin per container becomes 148 − 3.6 × 39.47 = +5.91 ₴ instead of −49.36 ₴, so the sign flips. For comparison, the route through price looks like this: for 5.0 km per container to come out at zero, the rate in that district would have to become 197.36 ₴ instead of 148 ₴ — almost a third dearer. In the private-house sector a price like that does not sell, so changing the schedule is more realistic than changing the price list.
13.46 ₴, if the fleet stays as it is. These are two different figures for two different jobs, and they are easy to confuse, which paints you a saving three times larger than the real one. 39.47 ₴ is the full cost of a kilometre out of all the costs; you need it to assess the price of geography and compare it with the rate. But when you take kilometres out of the eight trucks you already own, the lease, the wages and the office do not disappear — they merely spread over less mileage. What shrinks in the till is only the variable part: fuel plus servicing, that is (196 000 + 84 000) / 20 800 = 13.46 ₴ per kilometre. So the 3 276 kilometres saved give 44 095 ₴ a month — 43% of the company's profit. The full cost of a kilometre will fall only when the fleet shrinks along with the mileage.
