Customer Profitability Matrix Builder
An interactive Shapiro 2x2 customer profitability plotter that sorts a 10-customer FMCG portfolio onto the four cells (Carriage Trade, Passive, Bargain Basement, Aggressive), surfaces the silent margin engine and the value destruction zone that revenue ranking hides, and stress-tests what it would take to flip your largest revenue customer out of the worst cell before the next trade terms reset.
Tap any section to explore in detail
5.1Scenario setupThe starting SKU, market, and assumptions the model makes.
The starting SKU, market, and assumptions the model makes.
You run commercial finance or RGM at a mid-sized FMCG manufacturer. Total NSV across the top 10 customers is around $67M, GTN is approximately 22% of GSV on a portfolio basis, and the annual trade terms reset is six weeks away. Your largest customer by revenue (National Grocer, 27% of NSV) sits in the Aggressive cell and is the worst per-unit profit line in the portfolio. The matrix sorts every customer the way revenue ranking does not.
Read every customer's cell on the default portfolio, identify the cells your headline numbers are hiding, and stress-test what happens to portfolio profit when you reshape one or two of the worst rows before walking into the trade terms reset.
Vertical axis: net price received as an index where 100 equals portfolio average. Net price received is list price after on-invoice trade allowances, contract discounts, and listing fees, not the headline list price
Horizontal axis: cost to serve as an index where 100 equals portfolio average. Cost to serve is fully loaded: sales-team time, custom logistics, payment-terms working capital, returns and disputes, audit and compliance, ad-hoc requests
Quadrant thresholds: vertical line at 100 on cost to serve, horizontal line at 100 on net price received. Above the horizontal line is high net price; right of the vertical line is high cost to serve
Bubble size: annual NSV in $M. The biggest bubbles are the largest revenue customers, which is exactly what makes the matrix a diagnostic; the largest bubble often sits in the worst cell
Default portfolio: 10 customers, total NSV around $67M, designed so all four quadrants are visually populated and the lesson's 5 worked-example customers are present as recognisable archetypes (National Grocer, Premium Grocer, Discount Champion, Regional Fresh, Convenience Plus)
5.2Controls & togglesEvery input the calculator exposes, its range, and what it changes.
Every input the calculator exposes, its range, and what it changes.
| Control | Range | Default | What it changes |
|---|---|---|---|
| Click a customer row in the table | Any of the seeded customers, or any you have added | No customer selected (portfolio summary visible) | Highlights the customer on the chart with a darker stroke, fills the editable input fields with that customer's values, and updates the prescription panel below the chart with the cell's strategic posture and 1 to 2 sentences of context drawn from the lesson. |
| Net price received index (per customer) | 75 to 120 | Per the seeded portfolio (range 85 to 109) | Moves the bubble vertically. Crossing 100 flips the customer between the high-price and low-price halves of the matrix. Watch a customer cross from Aggressive into Bargain Basement as you raise the index above 100. |
| Cost to serve index (per customer) | 60 to 130 | Per the seeded portfolio (range 75 to 113) | Moves the bubble horizontally. Crossing 100 flips the customer between the low-cost and high-cost halves. The largest single move you can make on a real portfolio: re-pricing or re-scoping the most expensive cost driver typically shifts a customer 10 to 20 index points. |
| Annual NSV ($M, per customer) | 0.5 to 30 | Per the seeded portfolio (range 2.5 to 18.0) | Sets the bubble size. Larger NSV means a larger bubble. The size of the largest bubble in the worst cell is usually the visual that lands the matrix conversation in the room. |
| Add customer / Delete customer | 5 to 15 customers typical | 10 customers | Add inserts a new customer with neutral defaults (NSV 4.0, NPR 100, CTS 100). Delete removes the selected customer. Use these to model an emerging e-commerce account, a hard-discounter that just listed your range, or to remove a customer you are exiting and watch the portfolio summary shift. |
| Bubble size toggle (NSV / uniform) | On / off | On (size by NSV) | Switches the bubble-size encoding. On shows the revenue-versus-profitability paradox at a glance because the biggest bubble is often in the worst cell. Off makes the small Passive customers visible by giving every bubble the same size; this is how you spot under-managed Passive accounts that the revenue lens hides. |
5.3Step-by-step exploration7-step guided exploration of the scenario.
7-step guided exploration of the scenario.
- Read the starting position
Open the tool and let it run on defaults. Locate every bubble's quadrant before touching anything. Note the largest bubble (National Grocer, around $18M NSV, 27% of the portfolio). Read the prescription panel for the portfolio summary: count of customers per cell and percent of NSV in each cell.
Expected outcome: Two bubbles in Aggressive (including the largest one), two in Carriage Trade, two in Bargain Basement, and four in Passive territory. Around 35% of NSV sits in Aggressive, 27% in Passive, 21% in Carriage Trade, and 17% in Bargain Basement. The picture you walk in with says the portfolio is healthier than it is, because the Aggressive cell holds the biggest revenue line. - Click the largest bubble and read the cell
Select National Grocer. The prescription panel updates to the Aggressive cell text: low net price, high cost to serve, almost always unprofitable. The strategic question is repair or exit, not more investment. The lesson's worked example shows this customer at minus 2 percent per-unit profit at the starting position.
Expected outcome: The biggest revenue customer in the portfolio is in the worst cell. This is the signature reading of the matrix and the reason the tool exists. The next two steps test what it takes to move this customer. - Move cost to serve from 110 to 95 and watch the cell flip
With National Grocer selected, drop the cost-to-serve index from 110 to 95. The bubble crosses the vertical threshold and the cell flips from Aggressive to Bargain Basement. The prescription panel switches to the Bargain Basement text: low net price, low cost to serve, often profitable per unit, and the question becomes whether the volume is worth the share of business.
Expected outcome: A 15-point drop on the cost-to-serve index is a believable real-world move: drop the most expensive ad-hoc requests, tighten payment terms by 15 days, and re-scope the custom packaging line. The customer goes from a value-destroying account to a positive-margin account without a renegotiation of the on-invoice rate. - Now raise net price received from 95 to 102
Stay on National Grocer. Raise the net-price-received index from 95 to 102. The bubble crosses the horizontal threshold and the cell flips again, now from Bargain Basement to Passive. The prescription panel switches to the most profitable cell on the matrix.
Expected outcome: The combination of the cost-to-serve cut and a 7-point net-price recovery (a structural restructure of around 1 to 2 percent on-invoice plus the elimination of the most generous off-invoice term) takes the largest revenue customer from the worst cell to the best cell. The portfolio summary at the top updates: Aggressive share of NSV drops from around 35 percent to around 8 percent, and Passive share rises above 50 percent. The matrix now matches the revenue ranking. - Reset, then look at Regional Fresh in Passive
Click Reset Portfolio. Select Regional Fresh, the customer at 100 net price and 90 cost to serve, around $6.8M NSV. The cell is Passive. The prescription panel describes the Passive posture: high net price, low cost to serve, the most profitable cell on the matrix, the question is purely defensive. Do not under-invest in the most profitable customers in the portfolio because they do not demand attention.
Expected outcome: Toggle the bubble-size encoding from NSV to uniform. The Passive bubbles become visually equal to every other bubble. This is the most under-managed cell in most real portfolios because the customers in it never escalate, never demand reviews, and never trigger a senior-level conversation. They are the silent margin engine. - Add a hypothetical e-commerce customer and read the cell
Click Add Customer. Set the new customer to NSV 4.0, net price received 108, cost to serve 82. Name it Online Direct or similar. The bubble lands in Passive. The portfolio summary updates and the customer count rises to 11.
Expected outcome: A pure-play e-commerce account with low handling cost and slightly above-portfolio net price often lands in Passive on day one. The strategic question for a Seed-tier customer (per the SADD framework on the same lesson page) is how to feed conditional growth investment in without feature-creeping the relationship into Carriage Trade next year. The cell sets the question; the SADD tier sets the answer. - Walk the matrix into the trade terms reset
Reset Portfolio. Snapshot the chart and the portfolio summary. Identify the two or three customers with the largest revenue-to-profit gap (largest bubble in Aggressive, smallest bubble in Passive). Note the specific cost driver you would address on each Aggressive customer. Carry both into the next commercial review.
Expected outcome: You leave with a defensible diagnostic, a specific cost-driver target on each Aggressive customer, and a Passive-protection list. The matrix did not produce the answer; it produced the right question for every account: which cell, what does that cell prescribe, and which lever moves it to a better cell.
5.4Reading the outputEvery KPI, the formula behind it, and how to interpret a positive or negative value.
Every KPI, the formula behind it, and how to interpret a positive or negative value.
| KPI | Formula | How to read it |
|---|---|---|
| Customer cell (Carriage Trade / Passive / Bargain Basement / Aggressive) | Carriage Trade if NPR >= 100 and CTS >= 100. Passive if NPR >= 100 and CTS < 100. Bargain Basement if NPR < 100 and CTS < 100. Aggressive if NPR < 100 and CTS >= 100. | **Read the cell, not the revenue.** A customer's cell prescribes a posture: defend the Passive, re-scope the Carriage Trade, assess the Bargain Basement, repair or exit the Aggressive. The cell is silent on which specific cost driver to address; that part requires the customer P&L behind the bubble. |
| Largest bubble in worst cell | max NSV across customers where cell = Aggressive | **The single most diagnostic reading on the matrix.** When the largest revenue customer sits in Aggressive, revenue ranking is mis-ranking the portfolio by profit, and the trade terms reset has a 1 to 2 percentage point structural opportunity hiding inside it. The conversation is rarely 'exit this customer'; it is 'which specific cost driver moves the cell, and over how many contract cycles'. |
| Percent of NSV in Passive | sum of NSV across customers where cell = Passive, divided by total NSV | **Aim above 30%, watch for Passive drift.** Most healthy portfolios hold around 30 to 40 percent of NSV in Passive. Below 25 percent, the silent margin engine is too small to fund the growth investment the rest of the portfolio needs. Above 45 percent, watch for slow scope-creep: a Passive customer that started low-cost can drift toward Carriage Trade across a few annual reviews if no one is defending the relationship. |
| Percent of NSV in Aggressive | sum of NSV across customers where cell = Aggressive, divided by total NSV | **Above 25% is a structural problem.** Anything above this level means the portfolio's revenue concentration is in customers that pay below average and cost above average to serve. The fix is rarely a renegotiation of the on-invoice rate; it is almost always cost-to-serve restructuring (re-priced ad-hoc requests, tightened payment terms, simplified custom packaging, eliminated low-volume split deliveries). |
| Cost-to-serve understatement check | (reported CTS index) divided by (typical-fully-loaded CTS index estimate), where typical real-world ratio is 0.5 to 0.7 | **Most working teams under-report cost to serve by 1.5 to 2x.** Working capital tied up in payment terms, dispute resolution time, returns processing, and ad-hoc-request overhead almost never make it into the customer P&L. Before the matrix can do its diagnostic work, those costs need surfacing. If a customer that 'should' be in Aggressive is showing up in Passive, the CTS number is probably understated. |
| Per-unit profit anchor (lesson's 5-customer worked example) | Customer A (NPR 95, CTS 110) -2%. B (108, 105) +6%. C (88, 75) +4%. D (100, 90) +9%. E (105, 95) +7%. | **Passive cell wins by a wide margin on per-unit profit.** Customer D in the lesson example earns +9 percent per-unit profit despite mid-pack net price, because cost to serve is 10 points below average. The Passive cell deserves protection not because it is glamorous, but because the per-unit profit gap to every other cell is large and durable. |
The matrix is a diagnostic, not a prescription. The chart sorts the portfolio into the four cells; the prescription panel translates the cell into a posture; the customer P&L behind the bubble surfaces the specific cost driver to act on. Bring the matrix snapshot, the cell counts, and the two or three Aggressive customers' specific cost-driver targets to the next commercial review. The headline read is the one that surprises every senior team: the largest revenue line is usually not the largest profit line, and the matrix is the visual that lands the conversation in the room.
5.55 common mistakes to avoidDiagnostic patterns that catch most misuse of this calculator in practice.
Diagnostic patterns that catch most misuse of this calculator in practice.
- Mistake 1Sorting the portfolio by revenue and stopping thereSymptom: The annual review opens with 'top 5 customers represent 70 percent of NSV', the team congratulates itself on concentration, and the matrix never gets pulled. The largest customer's per-unit profit number is not on any slide.Fix: **Always run the matrix before the revenue slide.** The revenue ranking is a useful mass-allocation check; it is a misleading profit ranking. The matrix is the alternative sort, and it should be visible on every annual customer review deck.
- Mistake 2Using gross margin percent on the vertical axis instead of net price receivedSymptom: Customers with strong list price but heavy off-invoice trade (Aggressive customers in disguise) plot in Carriage Trade because gross margin still looks fine. The matrix says 'expensive but premium' when the truth is 'value-destroying'.Fix: **Use net price received, not gross margin or list price.** Net price received is list price after on-invoice trade allowances, contract discounts, and listing fees. Off-invoice spend pulls the customer toward Aggressive; gross margin smoothing hides it. The matrix only works if both axes reflect what the supplier actually keeps.
- Mistake 3Understating cost to serve and getting false Passive classificationsSymptom: A customer that the Key Account Director privately calls 'a nightmare to deal with' shows up in Passive on the chart. The team trusts the chart and under-invests in re-scoping the relationship.Fix: **Surface the indirect costs first.** Working capital tied in payment terms, dispute resolution time, returns processing, and ad-hoc-request overhead should be on the cost-to-serve number before any customer hits the matrix. Most working teams under-report by 1.5 to 2x; the rule of thumb is to multiply the reported number by 1.5 and re-run the chart to see which cells flip.
- Mistake 4Treating the Aggressive label as an immediate exit signalSymptom: A senior leader sees the largest customer in Aggressive, asks 'should we exit them?', and the conversation collapses into a line-by-line defense of the relationship rather than a cost-driver review.Fix: **The Aggressive cell prescribes restructure or exit, with restructure tested first.** Exit is a year-long commercial conversation, not a one-meeting decision. The first move is to identify the largest cost driver (custom packaging, payment terms, ad-hoc requests, split deliveries, returns) and re-price or re-scope it. Most Aggressive customers can be moved to Bargain Basement with a 12-to-18 month phased restructure that preserves the listing.
- Mistake 5Under-investing in Passive customers because they do not demand attentionSymptom: Annual budget cycles allocate trade investment to the loudest accounts (typically the Aggressive ones). Passive customers receive flat or declining investment for three years running. One year a Passive customer drifts into Carriage Trade because a competitor's KAM moved in with a re-scoped service offer.Fix: **Defend the Passive cell as a deliberate strategy, not by exception.** The Passive cell is the most profitable per unit on the matrix. The protection logic is to allocate enough relationship-management bandwidth to keep the Passive customer's cost-to-serve from drifting upward, and enough conditional growth investment to feed the cell as new e-commerce or convenience accounts mature. Passive is built; it does not stay Passive on its own.
Go deeper on the theory
Continue with the lessonsGo further inside Trade Terms
This calculator is the sandbox slice of Lesson 3: Lesson 3: Customer Tiering. Each of the other 6 Trade Terms lessons teaches a complementary concept that sharpens how you read the output above.
Go further inside Trade Terms
This calculator is the sandbox slice of Lesson 3: Lesson 3: Customer Tiering. Each of the other 6 Trade Terms lessons teaches a complementary concept that sharpens how you read the output above.
- Trade Terms · Lesson 1Free previewTrade Terms AnatomyAll the layers of a retailer trade deal: discounts on the invoice, off-invoice rebates, listing fees, and the rest.Open the preview
- Trade Terms · Lesson 2Free previewGross-to-Net BridgeThe full waterfall from your list price down to what actually lands in your pocket.Open the preview
- Trade Terms · Lesson 4Sign up to unlockTrade Investment EfficiencyHow to tell which trade-spend dollars are working and which are wasted, with the audit trail to prove it.Claim 50% off — unlock
- Trade Terms · Lesson 5Sign up to unlockTrade Terms OptimizationSame total trade spend, better structure. How to recover money without renegotiating headline rates.Claim 50% off — unlock
- Trade Terms · Lesson 6Sign up to unlockCustomer Profitability and Profit PoolThe retailer-by-retailer profit picture, as the buyer sees it. The view you need before you negotiate.Claim 50% off — unlock
- Trade Terms · Lesson 7Sign up to unlockTrade Terms NegotiationWalking into the room with the maths, not just opinions. A simulator that turns your numbers into negotiating moves.Claim 50% off — unlock
See Customer Profitability Matrix Builder inside the full lesson
RGM Academy lets you pull every commercial lever yourself inside a senior-practitioner simulator, with the AI RGM Strategist coaching every decision you make.
Claim 50% off and unlock the full lesson