Why this matters
Decomposing TDP means splitting any TDP change into its two arithmetic drivers, ACV change and SKUs-per-door change, so the brand can tell genuine door expansion apart from assortment growth and from a shift in store mix. The same headline number can hide three completely different commercial stories.
A category manager opens the quarterly distribution recap. TDP at Sprouts is up +18%. The headline lands in the deck, the sales team carries it into the buyer review, the brand celebrates.
Then the GM asks one question: "What's actually driving the +18%?"
That same +18% can have three different commercial answers behind it, and each one points to a different next move. A TDP gain from real door expansion is a win for the sales team. A TDP gain from slotting a slow-moving SKU into existing doors is a working-capital problem wearing a growth costume. And a TDP gain from shedding small doors while keeping the large ones is a quality-of-distribution shift that deserves its own conversation.
Can't decompose TDP, can't tell which one you're holding. This page is the decomposition.
The decomposition math
TDP is the sum of each SKU's %ACV distribution (see What is TDP). That sum can also be read as two inputs multiplied together:
TDP = ACV % × ACV-weighted average SKUs per carrying store
Two inputs, one output. So a TDP change has two arithmetic drivers:
% ΔTDP ≈ % ΔACV + % Δ(SKUs/carrying store)
(The approximation is exact for small changes and stays within a percentage point for changes under roughly 20%.)
Whichever input moved more is doing more of the work. Here's the decomposition table for any TDP change:
| ACV change | SKUs/door change | What this means |
|---|---|---|
| Up | Flat | New doors. Distribution is genuinely expanding. |
| Flat | Up | Assortment growth. Existing buyers see more of the brand at the shelf. |
| Up | Up | Both moving. Disambiguate using store-count change to see whether new doors are also carrying more SKUs. |
| Up | Down | New doors are carrying fewer SKUs each. Often happens when conventional grocery picks up a single hero SKU. |
| Flat | Down | SKU pruning at existing doors. Could be intentional (rationalization) or a warning sign (delistings). |
| Down | Up | Door loss but the surviving doors stocked more SKUs. Often a quality-of-distribution story. |
| Down | Flat | Door loss. Genuine distribution contraction. |
| Down | Down | Both contracting. Worst case, usually a real problem. |
Filling in this table takes three numbers: ACV change, the change in average SKUs per carrying store, and (as a sanity check) the change in raw store count. SPINS gives you all three at the brand × retailer × channel level.
Worked example: same +15% TDP, three different stories
Three brands at Sprouts, each posting a +15% TDP change quarter over quarter. Identical headline number. Completely different inputs underneath.
| Brand | Q4 ACV → Q1 ACV | Q4 SKUs/door → Q1 SKUs/door | Q4 TDP → Q1 TDP | Story |
|---|---|---|---|---|
| A, emerging wellness | 50% → 57.5% (+15%) | 3.0 → 3.0 (flat) | 150 → 172 (+15%) | Pure door expansion |
| B, established snack | 80% → 80% (flat) | 4.0 → 4.6 (+15%) | 320 → 368 (+15%) | Pure assortment growth |
| C, natural beverage | 60% → 66% (+10%) | 2.5 → 2.6 (+4%) | 150 → 172 (+15%) | Mixed: both contributing |
Same TDP gain, very different things to do about it.
Brand A is winning new doors, and the sales team's pitch is landing. The open question is whether those new doors add more SKUs over time, which compounds TDP, or stay stuck at a single SKU. Velocity in the new doors is the next thing to check, because a brand that adds doors with weak velocity hands the gain right back in delistings within a couple of cycles.
Brand B has saturated its door footprint at Sprouts (80% ACV is near the practical ceiling) so its +15% TDP came entirely from getting one more SKU onto shelves it already had. The question there is whether the new SKU is incremental to the line or just eating the existing SKUs. Check velocity per SKU; average velocity per SKU often slips 5–10% when assortment expands without the category expanding to match.
Brand C has both factors moving, but the +10% ACV gain dominates. Most of its +15% TDP is door expansion with a thin assortment lift on top, probably a buyer adding the brand to more regions and stocking a slightly broader pack.
Walk into a category review with "TDP up 15%" and you leave money on the table next to the person who walked in with the right one of those three sentences.
Why ACV-only views miss this
ACV on its own is the right "are we getting onto shelves" metric, but it's blind to depth. Brand B's +15% TDP doesn't even register in an ACV-only report. A sales team chasing pure ACV growth would correctly mark Brand B as flat and never see that the shelf footprint grew. The TDP decomposition is the only view that catches both expansion modes at once.
For the cross-cutting question of which metric answers which type of question, see Velocity vs. share of shelf vs. TDP: which metric to use when.
Worked example: decomposing a TDP decline
Decomposing TDP gains is the easy case. The declines are where decomposition actually changes what you do next, because "we lost distribution" and "we got pruned" call for different fixes entirely.
A natural beverage brand reports TDP at Natural Grocers down −12% quarter over quarter. Three patterns could be underneath it:
| Brand scenario | Q4 ACV → Q1 ACV | Q4 SKUs/door → Q1 SKUs/door | Q4 TDP → Q1 TDP | Story |
|---|---|---|---|---|
| D, lost doors | 70% → 61.6% (−12%) | 2.5 → 2.5 (flat) | 175 → 154 (−12%) | Distribution contraction at the door level |
| E, pruned at existing doors | 70% → 70% (flat) | 2.5 → 2.2 (−12%) | 175 → 154 (−12%) | Buyer rationalization at existing stores |
| F, small-store loss with assortment gain | 70% → 67% (−4%) | 2.5 → 2.3 (−8%) | 175 → 154 (−12%) | Mixed: lost smaller doors and reduced SKU count at survivors |
Same TDP decline, very different action items.
Brand D has a door-loss problem, most likely a regional buyer who walked away from the brand, or a chain-level reset. The way back is a buyer-relationship conversation aimed squarely at re-stocking the doors that dropped off.
Brand E has an assortment problem. The buyer kept the brand on but pulled a SKU per store, which usually means either a slow-moving SKU got rationalized or a competitor took the slot. The way back is defending the SKUs that remain and earning the dropped slot back with velocity data.
Brand F has both, and that's usually the harder spot to be in, because it tends to signal broader competitive pressure. The first move is diagnosis: was the small-door loss buyer-initiated (a cost-cutting decision at small stores) or shopper-initiated, with low velocity driving the buyer's hand?
The TDP-only report reads −12% for all three. The decomposition is the only view that tells you which conversation you're actually walking into.
Decomposing TDP at the SKU vs. brand level
The same decomposition math runs at two natural rollup levels, and they tell different stories. Brand-level TDP answers a broad question (across all our SKUs, how wide and how deep is our distribution) and it's the executive-summary view. SKU-level TDP asks something narrower: for one specific SKU, what's its ACV and what's its store-count footprint? That's the buyer-conversation view.
A brand-level TDP gain might come from one SKU's strong door expansion, from a slow drip of small SKU-level wins across the line, or from launching a new SKU outright. The brand-level number won't tell you which. To see where growth is coming from, or where erosion is starting, the SKU-level cut is what surfaces the pattern early.
A quick example. A brand reports brand-level TDP up 8%. Drop to the SKU level and four of five existing SKUs are flat or down, while the newly launched fifth SKU is carrying 10 points of the brand-level TDP all by itself. Read only the brand-level number and the team calls it "the brand is winning." Read the SKU-level decomposition and you see the truth: the existing line is stagnant or shrinking, and one new SKU is papering over it. That's a very different strategic picture.
Which points straight at the matching anti-pattern: reporting brand-level TDP gains with no SKU-level decomposition during a recent product launch. Launches almost always inflate brand-level TDP for a few quarters as the new SKU ramps. The inflation is real, but it tells you nothing about what the rest of the line is doing.
Reading TDP decomposition across retailers
A multi-retailer brand will often see very different TDP decompositions at different retailers, and that variation is itself the strategic information. In a single quarter, a wellness brand might see this:
| Retailer | ACV change | SKUs/door change | TDP change | Reading |
|---|---|---|---|---|
| Sprouts | +6% | +3% | +9% | Both factors working; strong relationship |
| Natural Grocers | +12% | flat | +12% | Door expansion underway, assortment still narrow |
| Independent natural (KeHE/UNFI) | +2% | +8% | +10% | Assortment depth growing at existing doors; door growth slow |
| Target Pet | flat | flat | flat | Steady-state, neither factor moving |
Four different commercial stories tucked under one brand-level TDP roll-up. And the right next move differs at each: what you do at Sprouts isn't what you do at Natural Grocers, which isn't what you do with KeHE/UNFI buyers. A consolidated brand-level "TDP up" report would blend all four into a single number and lose every bit of that per-retailer texture.
Anti-patterns
- Reporting TDP change alone. A standalone TDP number can't be parsed. Always put ACV and SKUs/door next to it: the three-column view is the floor for a defensible report.
- Treating a SKUs/door change as "more shelf space." A new SKU at an existing door is sometimes a real facing gain and sometimes a swap, where the buyer pulled an under-performing SKU and slotted yours in. Cross-check share of shelf wherever you have it (see What is share of shelf?) to tell facing gains apart from one-for-one swaps.
- Ignoring store-count change when ACV moves. ACV can shift because the panel re-composed, not because a real door count changed. The brand "gains ACV" purely from a reweighted panel. The diagnostic is simple: did raw store count move the same direction as ACV? If it didn't, you're looking at weighting drift. See Reading SPINS panel coverage.
- Comparing TDP across categories without normalizing. A 200 TDP in cereal and a 200 TDP in shelf-stable beverages are not the same thing, because the typical SKU count per store differs by category. Cross-category TDP comparison is noise unless you normalize for it.
- Mistaking SKU bloat for growth. Drop a low-velocity SKU into existing doors and TDP goes up while velocity per SKU goes down. The TDP report cheers; the buyer clocks the velocity drop at the next review. Always pair TDP-up-from-assortment with the velocity-per-SKU trend.
Doing this in Scout
Scout's brand-performance views put ACV, average SKUs per carrying store, raw store count, and TDP in adjacent columns, pulled from the SPINS extracts you already work with. The decomposition table above is the default cut, so "TDP up 15%" sits right next to "ACV up 10%, SKUs/door up 4%" with no pivot in between. Drill into a retailer × time-period view and the same three columns travel together, which makes the diagnostic question, door expansion or assortment growth, something you read at a glance instead of derive in a spreadsheet.
Summary + further reading
- TDP is the sum of each SKU's %ACV — equivalently, ACV times the ACV-weighted average SKUs per carrying store. A TDP change has two arithmetic drivers, and either or both can move.
- The same TDP headline can come from door expansion, assortment growth, or a quality-of-distribution shift, and each one calls for a different commercial move.
- Always report TDP with ACV and SKUs/door beside it, and cross-check raw store count to catch panel-weighting drift.
Related: What is TDP? · What is ACV? · Velocity vs. share of shelf vs. TDP: which to use when