Blog · Board and management reporting · Construction and building materials
The ten sales KPIs a builders' merchant or construction materials supplier should run on, each with its formula, the export it comes from and what it tells you: category share by trade, account activation, dormant trade accounts by prior value, credit limit headroom, project pipeline matched to accounts, quote conversion, branch coverage of key accounts, price realisation against terms, delivered against collected mix, and contribution per account. Also the three measures most merchants miss, the figures to drop, the identities, and who owns what.
A merchant serves trades that each buy a different basket, on credit, from whichever branch is nearest the job. The measures that matter show what each trade customer is buying elsewhere, which accounts stopped for a reason nobody looked at, and which jobs are coming.
| # | Measure | Formula | Export | What it tells you |
|---|---|---|---|---|
| 1 | Category share by trade | Account spend in category ÷ account total, against the median for full-supply accounts of the same trade, for categories most of that trade buys | Ledger with category; account master with trade | The builder buying no aggregates; the plumber buying no fittings |
| 2 | Account activation | Accounts opened with a second purchase within 90 days ÷ accounts opened, by branch | Account master; ledger | Accounts opened and never used |
| 3 | Dormant trade accounts, by prior value | Prior-year revenue of accounts past k × own order gap ÷ prior-year revenue | Ledger | Trade customers who moved to another merchant |
| 4 | Credit limit headroom | (Limit − balance) ÷ limit, with payment record; accounts over 85% used and paying to terms | Credit file; ledger | Good customers who stopped because they hit the limit |
| 5 | Project pipeline matched to accounts | Value of planning applications and project starts matched to trade accounts, by branch catchment | Planning or project data; account master | Which customers have work coming, and where |
| 6 | Quote conversion, count and value | Quotes matched to orders ÷ quotes decided; by value | Quote log; order file | Project quotes that went elsewhere |
| 7 | Branch coverage of key accounts | Revenue of key accounts touched within cadence ÷ key account revenue | CRM or call log; ledger | Whether the top trade accounts hear from the branch |
| 8 | Price realisation against terms | Invoiced price ÷ agreed terms price | Ledger; terms file | Terms not applied; counter overrides |
| 9 | Delivered and collected mix | Delivered revenue ÷ total; average delivered drop value | Ledger; delivery file | Cost to serve; small drops to site |
| 10 | Contribution per account | Gross margin − rebates − cost to serve | Ledger; delivery and order files | Accounts that earn after what they cost |
Every one of these is computed per account, per branch and rep, and in total, and every one carries an identity that must hold before the table is shown.
Category share by trade. Most merchants know an account's revenue and nothing about its basket against its peers.
Credit limit headroom. Sales and credit control look at different files and the customer falls between them.
Activation. Opening accounts is counted and celebrated. Whether they traded twice is not.
A general builder spends £84,000 a year: 12 percent on timber and sheet where full-supply builders spend 32, and nothing on aggregates where they spend 18. At the account's own spend, those two gaps are worth £16,800 and £15,100. An electrician on the same branch also buys no aggregates, and only one electrician in ten does, so that is no gap at all.
Accounts opened. Without activation it measures form-filling.
Branch revenue against last month. Weather and working days. Use the same month last year.
Average transaction value, alone. Moves with mix and delivery policy; no action follows.
| Table | Must hold |
|---|---|
| Category share | Category spend sums to the account's ledger total; every account has one trade or is counted as untyped |
| Activation | Accounts opened = activated + not yet activated within window + window still open |
| Credit headroom | Balance ties to the receivables ledger |
| Quote conversion | Quotes = converted + lost + open |
A table whose identity fails is a table with a row missing or counted twice. It is not shown until it is fixed.
| Measure | Owner | Reviewed |
|---|---|---|
| Dormancy; key account coverage; credit headroom list | Branch manager; regional sales manager; credit control | Weekly |
| Activation; quote conversion | Branch manager | Monthly |
| Project pipeline | External sales; branch manager | Monthly |
| Category share by trade; price realisation; contribution | Commercial director | Quarterly |
A measure with no owner is a metric, not a KPI; see KPI versus metric versus measure.
Ten measures from the ledger, the account master, the credit file and the quote log. Type the accounts by trade first; most of the rest depends on it. Covirage computes all of them from the exports merchants already produce, files only, with the definitions stated and the identities checked. See Covirage for builders' merchants and construction suppliers.
Because what a customer should buy depends on what it does. A general builder buys timber, aggregates, plasterboard and some plumbing; an electrician buys cable and accessories. Measured against the branch average, every account has gaps that are not real. Measured against its own trade, the gaps are the categories it buys from a competitor.
A growing contractor reaches its limit mid-month, is refused at the counter, and buys elsewhere. In the sales report the account has gone quiet. In the credit file it is at 98 percent of its limit with a clean payment record. Headroom per account, with payment history, is a sales list as much as a credit one.
Then typing them is the first job, and the share of accounts with a confirmed trade is itself a KPI per branch. Trade can be inferred from the basket as a starting point, labelled as inferred, and confirmed at the counter.