Trade Investment ROI: The Ceiling on What a Trade Dollar Can Ever Return
The most a trade dollar can ever earn, before anyone argues about the baseline
Start from the top, not the middle
Trade Investment ROI asks what the load ratio cannot: of the gross profit this customer gave you, how much did the trade money actually buy?
Where Incremental Gross Profit is the gross profit you would NOT have had without the trade money, and Trade Spend is what that money cost you.
The word doing the work is incremental. Some of the volume would have sold anyway, and you have to take it out. How much? Nobody knows. That is the do‑nothing baseline, the most argued‑about number in trade terms. Everyone has a figure and nobody can prove theirs, so the meeting goes round in circles and the terms get renewed.
So skip the argument. Ask what the BEST case looks like instead, and be as generous to your own trade money as you possibly can: assume nothing at all would have sold without it. Then every case is incremental and the trade money gets credited with the whole gross profit. That gives you a ceiling, and it needs no baseline:
Try it on a round number. You sell a customer $100 of product at the list price.
- You give $25 of it back in trade terms, so you actually collect $75.
- The product cost you $60 to make.
- Your gross profit is 75 - 60 = $15.
You spent $25 of trade money, and the whole customer only produced $15 of gross profit. So even if you insist that not one case would have sold without that money, the most it could possibly have earned you is $15.
Ceiling = 15 / 25 = 0.60x. That is a +60% return, and it is the best this account will ever show you. Spend the $25, and if truly nothing would have sold without it, you are $15 better off than you were.
Now watch it collapse when you put a real baseline on it. Say 65% of that volume was coming anyway, which is a normal number.
- Without the $25, you would still have sold 65 cents of every dollar of that product, and you would have sold it at the full $100 price, so you would have banked 0.65 x $40 = $26 of gross profit.
- With the $25 spent, you banked $15.
- You are $11 worse off for having spent $25. That is a -44% return.
Same account. Same money. +60% in the best case, -44% in the real one. Nothing changed except the baseline, and the baseline is the only thing in this calculation that nobody can prove.
So what does a ceiling below 1.0x actually kill? Not the money, and not at "any baseline" (a claim this lesson used to make, and it was wrong). It kills the ARGUMENT, by naming the bar the room has to believe. Turn the ceiling around and it hands you that bar: this $25 breaks even only if fewer than 37.5% of those units were coming anyway. Say that sentence out loud in front of a CFO and watch what happens.
The general rule, worth carrying. A 1.0x ceiling breaks even at a 50% baseline. So below 1.0x, the money only pays if fewer than half your units were coming anyway, and nobody's customer base looks like that.
So run the ceiling first. It is two numbers off a P&L, it takes ten seconds, and it tells you whether the baseline argument is worth having at all.
The ceiling, and the rule that falls out of it
Where m is your gross margin at the list price ((list price minus cost of goods) divided by the list price) and g is your trade rate (trade spend as a share of gross sales). Both as decimals or both as percentages, it does not matter, they cancel.
The second form is worth memorizing, because it removes the dollars entirely. Two rates, and you have your ceiling.
Set the ceiling to 1.0 and solve:
Your trade rate has to be under half your gross margin at the list price before the money can survive a baseline of even 50%. In symbols, g is the trade rate and m is the gross margin at the list price, both from the line above.
On this lesson's seed, the list price is $2.80 and the cost of goods is $1.67, so the gross margin at the list price is 40.4%. Half of that is 20.2%. Every customer above a 20.2% trade rate needs fewer than half its units to have been coming anyway before its trade money breaks even, and no real customer base is that incremental:
| Customer | Trade rate (g) | Ceiling (m - g) / g | Breaks even only if the baseline is under | Verdict |
|---|---|---|---|---|
| MegaMart | 24.9% | 0.62x | 38% | CAPPED |
| ValuePlus | 29.5% | 0.37x | 27% | CAPPED |
| OnlineFirst | 17.0% | 1.37x | 58% | Workable |
| Other customers | 17.2% | 1.35x | 57% | Workable |
| Blended | 22.9% | 0.76x | 43% | CAPPED |
Read the fourth column, because it is the one that ends meetings. It is the ceiling turned around: baseline = ceiling / (1 + ceiling). Nobody in consumer goods believes that only 27% of ValuePlus's volume was coming anyway, or 38% of MegaMart's. Real baselines run far north of that.
The blended line is the one to sit with. Across the whole customer base, this trade money only breaks even if fewer than 43% of the volume was coming anyway. There is no modeling artifact in that, and no baseline you could quarrel with, because the ceiling itself needs no baseline at all. It is simply what a 22.9% trade rate does to a 40.4% gross margin.
The account everyone was proud of
MegaMart is 36% of the volume, the biggest customer in the base, and by every measure the commercial team reports on, it is the healthy one. Its trade rate of 24.9% is only two points above the blended 22.9%. Its load of 3.02x is comfortably mid‑pack. Nothing in the trade pack flags it.
Run the ceiling.
| MegaMart | |
|---|---|
| Gross sales | $3,628,800 |
| Trade spend (24.9%) | $903,571 |
| Net sales | $2,725,229 |
| Cost of goods | $2,164,320 |
| Gross profit | $560,909 |
| Ceiling = 560,909 / 903,571 | 0.62x |
MegaMart spends $903,571 of trade money to produce $560,909 of gross profit. The trade line is 1.6 times the whole gross profit it supports. Assume every single case at MegaMart happened only because of that money, the most generous thing you can possibly say about it, and it returns +62%. That is the number at the very top of the range, and everything real drags it down from there.
Here is what "the top of the range" is worth. A 0.62x ceiling breaks even at a 38% baseline. So to believe MegaMart's trade money washes its face, you have to believe that fewer than four in ten of its cases would have sold without any of it. Nobody believes that about a fifteen‑year customer with permanent shelf space. At a 65% baseline the money runs at -27% on the behavior wallet, and that is the reading you should take into the room.
The number nobody wants to say out loud is that this was true last year, and the year before, and it will be true next year, and no promotional calendar fixes it.
What does fix it: MegaMart has 14.1pp of behavior money inside that 24.9pp, which is money that could be made to earn. Convert 15.7pp of face value to conditional at a 70% earn rate and the expected trade rate drops to 20.2%, right at the g = m/2 line, and the ceiling reaches 1.0x. Hold those two numbers next to each other, because the gap between them is the whole negotiation: the behavior wallet holds 14.1 points and the job needs 15.7, so the last 1.6 points have to come out of the access money, and the Conditionality and the Earn Rate card walks that conversation properly. Convert the lot and the ceiling reaches 1.32x.
That is the lesson in one account. You diagnose with arithmetic and you fix with a negotiation, and you cannot open the negotiation until the arithmetic is done, because until then you do not know what you are asking for or why.
Cross‑lesson. The ceiling consumes the per‑customer cascade from Trade Terms Lesson 2 (it needs net sales) and the customer gross profit from Trade Terms Lesson 5 (it needs cost of goods). It is the number that turns those two into a decision.
Running the ceiling in a real room
Run it before the meeting, not in it. The ceiling needs gross profit and trade spend for one customer. Both are already in the customer P&L you built in Trade Terms Lesson 5. No baseline, no model, no analyst. If the ceiling is 0.6x, you now know the meeting is not about promotional effectiveness.
It kills the two arguments that eat the most time. The first is "our promotions are working, look at the uplift." Uplift is a volume claim and the ceiling is a profit fact; a capped account can post beautiful uplifts and still lose money on its trade spend. The second is "we just need a better baseline." A better baseline moves you down from the ceiling, never up, so the ceiling is the most flattering number anyone in the room will ever produce. The only baseline that rescues a 0.62x account is one below 38%, and no buyer, analyst or category director is going to sign their name to that.
Three moves lift ONE account's capped ceiling, and only three. Look again at the ceiling written in rates, (m - g) / g, where m is your gross margin at the list price and g is your trade rate. There are only two things in it, so there are only two things you can pull.
- Cut g. Reduce what you expect to pay. The earn rate, on the Conditionality card below, is how you do this without cutting a dollar of face value.
- Raise m by raising price. A list‑price rise lifts the gross margin at list price and cuts the trade rate at the same time, because the same dollars of trade money become a smaller share of a bigger list. It hits the ceiling twice.
- Raise m by cutting cost. Slower, and usually not yours to call.
The BLENDED ceiling has a fourth move, and it is the only one that needs no buyer. The blend is volume‑weighted, so moving volume toward the accounts that already clear 1.0x lifts it without touching a single rate. Where the next listing goes, where the next promotional slot goes, which account gets the new product first: those are decisions you make on your own, and they change the blended ceiling. Do not let a lesson about negotiation talk you out of the lever that needs no negotiation.
Everything else you might reach for (better targeting, sharper mechanics, tighter execution) moves you around underneath the ceiling. Those dollars are real and they are worth having. What they cannot do is un‑cap the account.
Where the ceiling stops being exact. Say these out loud rather than burying them, because a sharp CFO will find them.
- It is a property of your invoice architecture as much as of the account, so it only compares on a common list‑price basis. This is the one that will actually bite you. Take MegaMart's 8.5 points of structural discount and fold it into a customer‑specific invoice price of $2.562 instead. Its gross sales fall to $3,320,352 and its trade spend to $595,123, while its net sales ($2,725,229) and its gross profit ($560,909) do not move a cent. The ceiling now reads 0.94x instead of 0.62x, and not one dollar has changed hands. Push it further and price a discounter dead‑net: its trade spend is zero, it has no ceiling at all, and the worst account in your base drops off the screen by bookkeeping. So restate every account onto one reference price before you rank them. And if the WHOLE base reads capped, check the reference price before you believe it, because a list price nobody actually transacts at inflates g and caps everything by arithmetic. The tool cannot tell a trade‑terms problem from a list‑price fiction.
- It assumes your cost of goods is variable. If it carries allocated fixed cost, an incremental case earns more than the average case, and you should run the ceiling on contribution margin instead of gross margin.
- It is bounded to one product in one year. Trade money that wins a listing you keep for five years, or that lifts a whole brand block, can genuinely beat the ceiling. If you want to claim that, name the mechanism and price it. It is not a free pass, and "halo" without a number is not an argument.
- It bounds the AVERAGE return of the pot, not the next dollar. A capped account's next promotional dollar can still return three times its cost. Cap the pot, keep working the margin.
Continue exploring
Put this concept to work
Run the tool
See The Ceiling in action
RGM Academy lets you pull the levers yourself in an interactive simulator, with a senior AI RGM strategist coaching every decision you make.
Unlock the full Trade Investment Efficiency and Optimization lesson