Sahawatthanakit (1988) Co., Ltd.
SAHAWATTHANAKIT(1988) · Make It Smart
Back to all articles
Sahawatthanakit (1988)9 min read

Which Customers Actually Make You Money — Why the One Who Orders Most Often Is Usually the One Losing You Money

Revenue per customer does not tell you who pays. How to read profit per customer after spreading overhead by the hours each one consumes, with a worked table where the second-busiest account loses nearly half a million a year, and what to do about it.

job-costingcustomer-profitabilityoverheadparetopricingsmesales-management
สรุป (TL;DR)

Revenue per customer does not tell you who pays. How to read profit per customer after spreading overhead by the hours each one consumes, with a worked table where the second-busiest account loses nearly half a million a year, and what to do about it.

This article covers management-accounting principles for decision support. It is not accounting or tax advice for your specific circumstances. The figures in the table are illustrative, to show how to read it. Use your own.

The question most often answered wrongly

Ask the owner of a contracting or made-to-order business "which customer matters most?" and almost every answer is the one with the highest revenue.

And almost none of them has ever checked whether that account actually pays.

The reason it goes unchecked is not laziness. It is that the report every accounting system provides sorts customers by revenue — a figure that says how much money came in, and nothing at all about how much of your fitters' time they consumed.


The limited resource is hours, not money

A business that sells work as jobs has a very hard ceiling — hours actually sold per month, 416 in our example, or 4,992 a year.

Every hour given to customer A is an hour customer B cannot have.

So the right question is not "who pays the most" but "how much profit is left from one fitter hour spent on this account?"


The table that changes the answer

The five largest customers of the example steel shop over one year (overhead ฿1,009.62/hr):

Customer Jobs Revenue Contribution Hours Overhead consumed Profit after overhead Per hour
A 22 ฿3,960,000 ฿1,650,000 640 ฿646,154 ฿1,003,846 ฿1,569
B 14 ฿1,820,000 ฿910,000 380 ฿383,654 ฿526,346 ฿1,385
C 9 ฿1,170,000 ฿585,000 240 ฿242,308 ฿342,692 ฿1,428
D 31 ฿1,395,000 ฿418,500 890 ฿898,558 −฿480,058 −฿539
E 6 ฿930,000 ฿520,800 145 ฿146,394 ฿374,406 ฿2,582

Three things to read carefully:

🔴 Customer D places the most orders of anyone — 31 jobs, nine more than the biggest account. They consumed 890 hours = 18% of the year's capacity in exchange for ฿418,500 of contribution. After the overhead they actually consumed, they lose ฿480,058 a year.

This is the account the sales team is proud of, because they call every week, and the one everyone thinks of as "our regular".

🟢 Customer E orders least — 6 jobs, lowest revenue in the table. But returns ฿2,582 per hour, the highest — nearly double the biggest account. Two more customers like E would earn more than customer D produces in a year, using less than half the hours.

🟡 Customer A really is the highest by revenue and the largest single block of profit — but sits mid-table on profit per hour. They are not a bad customer. They are the customer carrying a large block of fixed cost for you, which has value in itself.


Three layers, not one

Layer Calculation Answers
1. Contribution Revenue − costs actually paid extra Does taking this work leave anything to help carry fixed costs?
2. Profit after overhead Layer 1 − (hours × overhead per hour) Does this account carry its own share?
3. Profit per hour Layer 2 ÷ hours Compares customers fairly

Layer 3 matters most when you have to choose, because it has removed the effect of size — large and small accounts become directly comparable.


🔴 Found a loss-making account? Find the cause before cutting

Almost every time, the cause can be fixed without losing the customer:

Cause What you can see Remedy
Jobs too small Many jobs, low value each Minimum order value, or consolidate small items into one visit a month
Price never revised Long-standing account, same unit rate for years Raise at the next round, with the figures to support it
Scope creep Actual hours exceed the estimate on nearly every job Issue a variation when scope changes, rather than absorbing it
Repeated rework Recurring hours returning to site Collect complete information up front / confirm specifications in writing
Very slow payment Profit looks fine, the cash never arrives Read alongside the cost of waiting for payment

Raising the price is one remedy out of five — and frequently not the most effective.

And if the account with the lowest profit per hour is your largest — all the more reason not to cut it. The fixed cost it carries does not leave with it; it simply lands on the customers who remain. The safe route is to win higher-margin work first, and let its share fall by itself.


What to do

  1. Stop sorting customers by revenue — sort by profit per hour
  2. Record actual hours per job — without this, none of the table above is possible, and it is the one piece of data to start collecting
  3. Read three layers — contribution · profit after overhead · profit per hour
  4. Review quarterly, not monthly — monthly data swings too much to read
  5. Find the cause before raising the price — small jobs · stale rates · scope creep · rework · slow payment
  6. Always read it alongside days-to-pay — a profitable customer on 120-day terms is consuming your working capital
  7. Win more of the high profit-per-hour work before cutting anyone

The tool for doing this today

Job Costing & Pricing Calculator accumulates this from the jobs you have already priced:

  • A per-customer sheet totals revenue, profit and job count for each account automatically — no separate report to build
  • The figures come from the same costs used to set the price, not a second set that disagrees with what you quoted
  • Overhead is spread by actual hours, so large-job and small-job customers compare fairly
  • The cost of waiting for payment is priced from the credit days ⇒ slow payers stop looking better than they are
  • A five-step status light shows it at the moment you take the work, not when the year closes
  • A self-test sheet of 24 cases you can run yourself before trusting it on live work
  • No macros — Excel, LibreOffice and Google Sheets all open it

One-time payment of ฿999 — launch price until 31 Dec 2026 (regular price ฿1,490) · includes 7% Thai VAT · full Thai tax invoice available · instant download after payment

ℹ️ The workbook itself is in Thai — sheet names, labels and the in-file manual. The formulas and the logic are language-independent, and the product page shows renders of the real file so you can see exactly what you receive.

→ See the product


Read next

Share:LINEFacebook
Free download · no sales call

Get this guide as a reference brief (PDF)

Summary + full section list + standards cited, Saha-branded for your memo/RFQ — emailed to you too.

Your email is used only to send the brief + contact from the Saha team · never shared.

Free consult · real quote within 2 hours

Questions after reading? Talk to our engineers

Tell us what you need — our engineers help you spec it right, with a real quote. No charge.

Or reach us directly:02-096-2118LINE: @sahawatt1988
Related Services

Need help with this in your facility?

Our team handles full procurement and installation for the topics covered in this article. Free quote within 2 hours.

Frequently Asked Questions

1

Why does revenue per customer fail to show who makes you money?

+
Because revenue says nothing about how much of your capacity that customer consumed. A business selling work as jobs has one clearly limited resource, which is fitter hours. A customer placing many small orders can consume more hours than one placing a few large ones, despite lower revenue. Once fixed costs are spread by the hours each customer took, the ranking changes from the one sorted by revenue every time.
2

Which figure should measure profit per customer?

+
Look at three layers. First, contribution: revenue less the costs actually paid extra. Second, profit after the overhead spread across the hours that customer consumed. Third, profit per hour, which is the only one that compares customers fairly, because it has removed the effect of customer size.
3

If a customer is loss-making, should I stop taking their work?

+
Do not cut immediately. Find the cause first, because it can usually be fixed without losing the customer. The common causes are jobs too small for the setup and travel they require, a price agreed years ago that was never revised, scope creeping on every job without being charged, and repeated rework because the information from the customer was incomplete. Each has a different remedy, and raising the price is only one of them.
4

Does setting a minimum order value really help?

+
It helps a great deal when the problem is many small jobs, because the setup cost of a job barely falls with its size. Small or large, it still needs a work order, preparation, travel and making good. A minimum order or minimum call-out charge makes that block of cost somebody's responsibility. A gentler alternative is consolidating small items into one visit a month.
5

How often should this be reviewed?

+
Quarterly is enough for most businesses, because monthly data swings too much to read, especially when some customers order irregularly. Watch the trend in profit per hour for each account rather than a single point, and read it alongside how many days each one actually takes to pay, because a profitable customer who pays very late is still consuming your working capital.
6

What if the largest account turns out to have the lowest profit per hour?

+
Do not rush to cut it. Large accounts usually carry a large block of fixed cost, and removing them does not remove the cost — it simply moves it onto the customers who remain. The safer route is to win higher-margin work first, so their share falls naturally, or to renegotiate price and terms at the next contract round with the figures to support it.

Related content