: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 · DISTRIBUTION COST & PROFITABILITY
REVENUE VS COST-TO-SERVEREVENUECOSTAccount A+18%Account B+3%Account C−14%Fig. — Margin by account Cost-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?
Approach Account Accuracy Order-Pattern Cost Updates at Scale
Gross Margin per LineRevenue minus COGS ✕ ✕ ✕
ABCActivity-Based Costing ✓ ~ ~
TDABCTime-Driven Activity-Based Costing ✓ ✓ ✓
✓ Strong~ Partial✕ Weak
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.