Distribution & Wholesale

Customer Profitability for Distributors

:root{–orange:#C75B22;–orange-bright:#E2761A;–orange-faint:rgba(199,91,34,0.10);–red:#D11F4B;–green:#1C7A57;–ink:#1A1714;–ink-2:#4A4138;–muted:#756859;–muted-2:#9A8E7E;–paper:#F3EEE4;–paper-2:#EDE6D8;–surface:#FBF9F3;–line:#DCD3C2;–line-2:#C9BEAA;–night:#1A1714;–night-2:#211D17;–night-line:rgba(255,255,255,0.12);}.cnp-redesign .serif{font-family:’Newsreader’,Georgia,serif;font-weight:400;}.cnp-redesign .mono{font-family:’IBM Plex Mono’,ui-monospace,monospace;}.cnp-redesign a{color:var(–ink);text-decoration:none;}.cnp-redesign a:hover{color:var(–orange);}.cnp-redesign .wrap{max-width:1240px;margin:0 auto;padding:0 40px;}.cnp-redesign .wrap-narrow{max-width:940px;margin:0 auto;padding:0 40px;}@media (max-width:740px){.cnp-redesign .wrap,.cnp-redesign .wrap-narrow{padding:0 22px;}}.cnp-redesign h1,.cnp-redesign h2,.cnp-redesign h3,.cnp-redesign h4{font-family:’Newsreader’,Georgia,serif;font-weight:400;color:var(–ink);letter-spacing:-0.018em;margin:0;text-wrap:balance;}.cnp-redesign h1{font-size:clamp(40px,5vw,68px);line-height:1.04;letter-spacing:-0.022em;}.cnp-redesign h2{font-size:clamp(30px,3.6vw,46px);line-height:1.12;}.cnp-redesign h3{font-size:clamp(22px,2.2vw,28px);line-height:1.2;font-weight:500;}.cnp-redesign h1 em,.cnp-redesign h2 em,.cnp-redesign h3 em{font-style:italic;color:var(–orange);}.cnp-redesign p{margin:0;}.cnp-redesign p + p{margin-top:1.1em;}.cnp-redesign .eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:’IBM Plex Mono’,monospace;font-size:12px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(–muted);}.cnp-redesign .eyebrow::before{content:”;width:26px;height:1px;background:var(–orange);}.cnp-redesign .eyebrow.dark{color:rgba(255,255,255,0.55);}.cnp-redesign .section{padding:96px 0;}.cnp-redesign .section-dark{background:var(–night);color:rgba(255,255,255,0.86);}.cnp-redesign .section-dark h2,.cnp-redesign .section-dark h3{color:#fff;}.cnp-redesign .section-paper-2{background:var(–paper-2);}@media (max-width:740px){.cnp-redesign .section{padding:64px 0;}}.cnp-redesign .lede{font-size:19px;line-height:1.62;color:var(–ink-2);max-width:62ch;}.cnp-redesign .section-head{margin-bottom:56px;}.cnp-redesign .section-head h2{margin-top:18px;max-width:24ch;}.cnp-redesign .section-head […]

:root{–orange:#C75B22;–orange-bright:#E2761A;–orange-faint:rgba(199,91,34,0.10);–red:#D11F4B;–green:#1C7A57;–ink:#1A1714;–ink-2:#4A4138;–muted:#756859;–muted-2:#9A8E7E;–paper:#F3EEE4;–paper-2:#EDE6D8;–surface:#FBF9F3;–line:#DCD3C2;–line-2:#C9BEAA;–night:#1A1714;–night-2:#211D17;–night-line:rgba(255,255,255,0.12);}.cnp-redesign .serif{font-family:’Newsreader’,Georgia,serif;font-weight:400;}.cnp-redesign .mono{font-family:’IBM Plex Mono’,ui-monospace,monospace;}.cnp-redesign a{color:var(–ink);text-decoration:none;}.cnp-redesign a:hover{color:var(–orange);}.cnp-redesign .wrap{max-width:1240px;margin:0 auto;padding:0 40px;}.cnp-redesign .wrap-narrow{max-width:940px;margin:0 auto;padding:0 40px;}@media (max-width:740px){.cnp-redesign .wrap,.cnp-redesign .wrap-narrow{padding:0 22px;}}.cnp-redesign h1,.cnp-redesign h2,.cnp-redesign h3,.cnp-redesign h4{font-family:’Newsreader’,Georgia,serif;font-weight:400;color:var(–ink);letter-spacing:-0.018em;margin:0;text-wrap:balance;}.cnp-redesign h1{font-size:clamp(40px,5vw,68px);line-height:1.04;letter-spacing:-0.022em;}.cnp-redesign h2{font-size:clamp(30px,3.6vw,46px);line-height:1.12;}.cnp-redesign h3{font-size:clamp(22px,2.2vw,28px);line-height:1.2;font-weight:500;}.cnp-redesign h1 em,.cnp-redesign h2 em,.cnp-redesign h3 em{font-style:italic;color:var(–orange);}.cnp-redesign p{margin:0;}.cnp-redesign p + p{margin-top:1.1em;}.cnp-redesign .eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:’IBM Plex Mono’,monospace;font-size:12px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(–muted);}.cnp-redesign .eyebrow::before{content:”;width:26px;height:1px;background:var(–orange);}.cnp-redesign .eyebrow.dark{color:rgba(255,255,255,0.55);}.cnp-redesign .section{padding:96px 0;}.cnp-redesign .section-dark{background:var(–night);color:rgba(255,255,255,0.86);}.cnp-redesign .section-dark h2,.cnp-redesign .section-dark h3{color:#fff;}.cnp-redesign .section-paper-2{background:var(–paper-2);}@media (max-width:740px){.cnp-redesign .section{padding:64px 0;}}.cnp-redesign .lede{font-size:19px;line-height:1.62;color:var(–ink-2);max-width:62ch;}.cnp-redesign .section-head{margin-bottom:56px;}.cnp-redesign .section-head h2{margin-top:18px;max-width:24ch;}.cnp-redesign .section-head .sub{margin-top:16px;max-width:58ch;color:var(–muted);font-size:17px;}.cnp-redesign .btn{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;font-family:’Hanken Grotesk’,sans-serif;font-size:14.5px;font-weight:600;border-radius:2px;border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .22s,color .22s,border-color .22s;}.cnp-redesign .btn-primary{background:var(–orange);color:#fff;border-color:var(–orange);}.cnp-redesign .btn-primary:hover{background:#A8481A;border-color:#A8481A;color:#fff;}.cnp-redesign .btn-ghost{background:transparent;color:var(–ink);border-color:var(–line-2);}.cnp-redesign .btn-ghost:hover{background:var(–ink);color:#fff;border-color:var(–ink);}.cnp-redesign .btn-ghost-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,0.25);}.cnp-redesign .btn-ghost-dark:hover{background:#fff;color:var(–ink);border-color:#fff;}.cnp-redesign .dim-hero{padding:84px 0 92px;border-bottom:1px solid var(–line);}.cnp-redesign .dim-hero .grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:72px;align-items:center;}.cnp-redesign .dim-hero h1{margin-top:26px;}.cnp-redesign .dim-hero .lede{margin-top:26px;}.cnp-redesign .dim-hero .hero-meta{margin-top:40px;display:flex;align-items:center;gap:18px;font-family:’IBM Plex Mono’,monospace;font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(–muted);}.cnp-redesign .dim-hero .hero-meta .sep{width:1px;height:13px;background:var(–line-2);}.cnp-redesign .dim-hero .fig{border:1px solid var(–line);background:var(–surface);border-radius:3px;padding:30px 30px 24px;}.cnp-redesign .dim-hero .fig .cap{margin-top:18px;display:flex;justify-content:space-between;font-family:’IBM Plex Mono’,monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(–muted-2);}@media (max-width:980px){.cnp-redesign .dim-hero .grid{grid-template-columns:1fr;gap:48px;}.cnp-redesign .dim-hero .fig{max-width:560px;}}.cnp-redesign .dim-define{display:grid;grid-template-columns:1fr 1fr;gap:72px;}.cnp-redesign .dim-define .col h2{font-size:clamp(26px,2.6vw,34px);}.cnp-redesign .dim-define .col p{margin-top:22px;}.cnp-redesign .dim-define .col .k{color:var(–ink);font-weight:600;}@media (max-width:880px){.cnp-redesign .dim-define{grid-template-columns:1fr;gap:52px;}}.cnp-redesign .maturity{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(–night-line);border-radius:3px;overflow:hidden;}.cnp-redesign .m-level{position:relative;background:var(–night-2);padding:30px 26px 34px;display:flex;flex-direction:column;}.cnp-redesign .m-level + .m-level{border-left:1px solid var(–night-line);}.cnp-redesign .m-level .m-badge{font-family:’IBM Plex Mono’,monospace;font-size:11px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.45);}.cnp-redesign .m-level .m-num{font-family:’IBM Plex Mono’,monospace;font-size:52px;font-weight:300;line-height:1;color:rgba(255,255,255,0.18);margin-top:18px;}.cnp-redesign .m-level .m-name{font-family:’Newsreader’,Georgia,serif;font-size:24px;color:#fff;margin-top:14px;}.cnp-redesign .m-level .m-desc{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,0.6);margin-top:12px;flex:1;}.cnp-redesign .m-level .m-ticks{display:flex;gap:5px;margin-top:26px;}.cnp-redesign .m-level .m-ticks i{height:4px;flex:1;background:rgba(255,255,255,0.12);border-radius:1px;}.cnp-redesign .m-level[data-level=”1″] .m-ticks i:nth-child(-n+1),.cnp-redesign .m-level[data-level=”2″] .m-ticks i:nth-child(-n+2),.cnp-redesign .m-level[data-level=”3″] .m-ticks i:nth-child(-n+3),.cnp-redesign .m-level[data-level=”4″] .m-ticks i:nth-child(-n+4){background:var(–orange-bright);}.cnp-redesign .m-level[data-level=”4″]{background:rgba(226,118,26,0.10);}.cnp-redesign .m-level[data-level=”4″] .m-num{color:rgba(226,118,26,0.55);}.cnp-redesign .m-level[data-level=”4″] .m-badge{color:var(–orange-bright);}@media (max-width:980px){.cnp-redesign .maturity{grid-template-columns:1fr 1fr;}.cnp-redesign .m-level:nth-child(3){border-left:0;}.cnp-redesign .m-level:nth-child(n+3){border-top:1px solid var(–night-line);}}@media (max-width:560px){.cnp-redesign .maturity{grid-template-columns:1fr;}.cnp-redesign .m-level + .m-level{border-left:0;border-top:1px solid var(–night-line);}}.cnp-redesign .steps{border-top:1px solid var(–line);}.cnp-redesign .step{display:grid;grid-template-columns:150px 1fr 1.4fr;gap:40px;align-items:baseline;padding:44px 0;border-bottom:1px solid var(–line);}.cnp-redesign .step .s-num{font-family:’IBM Plex Mono’,monospace;font-size:58px;font-weight:300;line-height:1;color:var(–orange);}.cnp-redesign .step .s-title{font-family:’Newsreader’,Georgia,serif;font-size:27px;color:var(–ink);}.cnp-redesign .step .s-desc{font-size:16.5px;color:var(–ink-2);max-width:52ch;}@media (max-width:880px){.cnp-redesign .step{grid-template-columns:80px 1fr;}.cnp-redesign .step .s-num{font-size:42px;}.cnp-redesign .step .s-desc{grid-column:2;}}.cnp-redesign .compare{width:100%;border-collapse:collapse;}.cnp-redesign .compare th,.cnp-redesign .compare td{padding:22px 24px;text-align:left;}.cnp-redesign .compare thead th{font-family:’IBM Plex Mono’,monospace;font-size:11.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(–muted);border-bottom:1px solid var(–line-2);}.cnp-redesign .compare tbody tr{border-bottom:1px solid var(–line);}.cnp-redesign .compare tbody th{font-family:’Newsreader’,Georgia,serif;font-size:20px;font-weight:400;color:var(–ink);}.cnp-redesign .compare tbody th .note{display:block;font-family:’Hanken Grotesk’,sans-serif;font-size:13px;color:var(–muted);margin-top:3px;}.cnp-redesign .compare td{text-align:center;}.cnp-redesign .compare th:first-child{text-align:left;}.cnp-redesign .compare tr.is-hero{background:var(–surface);}.cnp-redesign .compare tr.is-hero tbody th{color:var(–ink);}.cnp-redesign .mark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:14px;font-weight:600;line-height:1;}.cnp-redesign .mark.yes{background:rgba(28,122,87,0.12);color:var(–green);}.cnp-redesign .mark.no{background:rgba(209,31,75,0.10);color:var(–red);}.cnp-redesign .mark.part{background:rgba(199,91,34,0.12);color:var(–orange);}.cnp-redesign .compare-legend{margin-top:20px;display:flex;gap:28px;flex-wrap:wrap;font-family:’IBM Plex Mono’,monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(–muted);}.cnp-redesign .compare-legend span{display:inline-flex;align-items:center;gap:8px;}.cnp-redesign .compare-wrap{overflow-x:auto;}@media (max-width:740px){.cnp-redesign .compare th,.cnp-redesign .compare td{padding:16px 12px;}.cnp-redesign .compare tbody th{font-size:17px;}}.cnp-redesign .faq-list{border-top:1px solid var(–line);}.cnp-redesign .faq-item{border-bottom:1px solid var(–line);}.cnp-redesign .faq-item summary{list-style:none;cursor:pointer;padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;}.cnp-redesign .faq-item summary::-webkit-details-marker{display:none;}.cnp-redesign .faq-item .q{font-family:’Newsreader’,Georgia,serif;font-size:22px;font-weight:500;color:var(–ink);line-height:1.3;flex:1;}.cnp-redesign .faq-item .plus{width:22px;height:22px;flex:0 0 22px;position:relative;color:var(–orange);}.cnp-redesign .faq-item .plus::before,.cnp-redesign .faq-item .plus::after{content:”;position:absolute;background:currentColor;}.cnp-redesign .faq-item .plus::before{left:0;right:0;top:50%;height:1.5px;transform:translateY(-50%);}.cnp-redesign .faq-item .plus::after{top:0;bottom:0;left:50%;width:1.5px;transform:translateX(-50%);transition:transform .25s;}.cnp-redesign .faq-item[open] .plus::after{transform:translateX(-50%) scaleY(0);}.cnp-redesign .faq-item .a{padding:0 0 30px;max-width:70ch;color:var(–ink-2);}.cnp-redesign .related{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}.cnp-redesign .rel-card{display:flex;flex-direction:column;gap:30px;background:var(–surface);border:1px solid var(–line);border-radius:3px;padding:26px 26px 24px;transition:border-color .2s,transform .2s;}.cnp-redesign .rel-card:hover{border-color:var(–orange);transform:translateY(-2px);color:inherit;}.cnp-redesign .rel-card .r-idx{font-family:’IBM Plex Mono’,monospace;font-size:11px;letter-spacing:0.16em;color:var(–muted-2);}.cnp-redesign .rel-card .r-name{font-family:’Newsreader’,Georgia,serif;font-size:22px;color:var(–ink);display:flex;align-items:center;justify-content:space-between;gap:14px;}.cnp-redesign .rel-card .r-name svg{flex:0 0 auto;color:var(–orange);transition:transform .2s;}.cnp-redesign .rel-card:hover .r-name svg{transform:translateX(4px);}.cnp-redesign .rel-card.is-cta{background:var(–night);border-color:var(–night);}.cnp-redesign .rel-card.is-cta .r-idx{color:rgba(255,255,255,0.45);}.cnp-redesign .rel-card.is-cta .r-name{color:#fff;}.cnp-redesign .rel-card.is-cta .r-name svg{color:var(–orange-bright);}@media (max-width:980px){.cnp-redesign .related{grid-template-columns:1fr 1fr;}}@media (max-width:620px){.cnp-redesign .related{grid-template-columns:1fr;}}.cnp-redesign .cta-band{background:var(–night);color:#fff;position:relative;overflow:hidden;padding:110px 0;}.cnp-redesign .cta-band::before{content:”;position:absolute;top:-180px;right:-180px;width:520px;height:520px;background:radial-gradient(circle,rgba(226,118,26,0.30) 0%,rgba(226,118,26,0) 60%);pointer-events:none;}.cnp-redesign .cta-band .wrap{position:relative;z-index:2;}.cnp-redesign .cta-band h2{color:#fff;max-width:22ch;}.cnp-redesign .cta-band h2 em{color:var(–orange-bright);}.cnp-redesign .cta-band p{color:rgba(255,255,255,0.7);margin-top:22px;max-width:56ch;font-size:18px;}.cnp-redesign .cta-band .cta-row{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap;}.cnp-redesign{font-family:’Hanken Grotesk’,system-ui,-apple-system,sans-serif;background:var(–paper);color:var(–ink-2);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;}.cnp-redesign *,.cnp-redesign *::before,.cnp-redesign *::after{box-sizing:border-box;}.cnp-redesign::selection{background:var(–orange);color:#fff;}.seo-body{max-width:none !important;padding:0 !important;}.seo-content{width:100% !important;max-width:none !important;}.cnp-redesign .section{padding:64px 0;}.cnp-redesign .related{grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch;}.cnp-redesign .rel-card{gap:14px;padding:24px;justify-content:flex-start;}@media (max-width:980px){.cnp-redesign .related{grid-template-columns:1fr 1fr;}}@media (max-width:620px){.cnp-redesign .related{grid-template-columns:1fr;}}.cnp-redesign .dim-hero{padding:32px 0 56px !important;}.cnp-redesign .step{padding:30px 0 !important;}.seo-hero{display:none !important;}
Distribution & Wholesale

Know which accounts actually pay.

In distribution, 15–25% of customers are typically loss-making once true cost-to-serve is calculated — subsidised by your most efficient accounts. ABC / TDABC reveals exactly which, and why.

INDUSTRY · DISTRIBUTIONCOST & PROFITABILITY
REVENUE VS COST-TO-SERVEREVENUECOSTAccount A+18%Account B+3%Account C−14%
Fig. — Margin by accountCost-to-serve
The problem

The average-margin mirage.

Distributors live on thin gross margins and high volume. Averaged across the book, the business looks healthy — but small, frequent, high-touch orders cost far more to serve than the average assumes, and quietly consume the margin earned elsewhere.

Why it matters

Subsidised accounts you can’t see.

Order frequency, drop size, returns, payment terms and special handling vary enormously between customers. Without true cost-to-serve, your best accounts subsidise your worst — and discounting decisions make it worse.

Cost visibility maturity

How well do you cost each account?

Level 1
01
Reactive

Margin judged on gross margin per line. No view of cost to serve each account.

Level 2
02
Structured

Customer gross margins tracked. Service cost — picking, delivery, returns — still blended.

Level 3
03
Analytical

Activity-based costing of warehousing, delivery and admin. Cost-to-serve by account emerging.

Level 4
04
Optimised

TDABC cost-to-serve by account and order — a live tool for pricing, terms and rationalisation.

How we engage

Three steps to true cost-to-serve.

01
Profit Check

A free diagnostic to estimate how many of your accounts are likely loss-making once order frequency and handling are costed.

02
ProfitAudit 360

A 5–25 day engagement delivering a customer-profitability whale curve, true cost-to-serve by account, and a pricing and terms roadmap.

03
Commercial implementation

We support repricing, minimum-order and surcharge design, and account rationalisation grounded in real margin.

Comparing approaches

Gross margin, ABC, or TDABC?

ApproachAccount AccuracyOrder-Pattern CostUpdates at Scale
Gross Margin per LineRevenue minus COGS
ABCActivity-Based Costing~~
TDABCTime-Driven Activity-Based Costing
Strong~PartialWeak
FAQ

Frequently asked questions.

How many accounts are usually loss-making?
Across most distributors we model, 15–25% of accounts are margin-negative on a full cost-to-serve basis — masked by healthy-looking average margins.
What drives the difference between accounts?
Order frequency, drop size, returns, special handling and payment terms. Two accounts with identical revenue can have very different true margins.
Do we need new systems?
No. We build on your ERP, WMS and delivery data — no new platforms required.
Can we fix loss-making accounts without losing them?
Often yes — through minimum order sizes, delivery surcharges, term changes or re-routing. The model shows which lever works for each account.
Start here

Find out where your hidden margin lives.

The Profit Check takes 5 minutes. No data upload. You get a personalised profitability diagnostic.