Pack-Price Matrix: Where Your Portfolio Has Holes (and Why It Matters)
Every pack in the category plotted on size against price tier
The Strategic X-Ray of Your Portfolio
A pack‑price matrix is a grid with pack size along one axis and price along the other, holding every SKU in the category. Your packs and your competitors' packs sit on the same picture, which is what makes it worth drawing.
The axes. Most matrices use 3 to 5 size bands on one axis (Small 50 to 100g, Medium 150 to 250g, Large 300 to 500g) and 3 to 4 price bands on the other, named however the category names them, with Economy, Mainstream, Premium and Super‑Premium the common set. This lesson's own grid uses three of them, and you will also see them written as Low, Mid and High wherever the page describes the sandbox. Each position is one combination of size and price, and each combination answers a different shopper need.
⛔ Keep this axis separate from the price tiers in [PPA Lesson 1](ppa/1‑price‑tiers), because the two measure different things and the difference catches people out. This axis is the shelf price, what a shopper hands over for the pack. Lesson 1's tier is price per kilogram, indexed against the category average. They rank the same range in almost opposite order, because a small pack is cheap on the ticket and dear per gram while a big one is the reverse. The 75g Snack further down this page is the cheapest pack in the range at $1.29 and the dearest per kilogram at $17.20, so it sits at the bottom of this grid and at the top of the per‑kilogram ladder. On this grid a band name means a band of shelf price and nothing else.
Plot every SKU and four things show up at once:
- Where competitors cluster, so you can see which shopper is already well served
- Where the gaps sit
- Where your own brand is doubled up, and where it is missing
- Where the price‑per‑unit ladder holds, and where it breaks
It is worth being able to draw from memory. A category manager who cannot sketch their own pack‑price matrix does not yet know their category. The grid is also the base layer under OBPPC (Occasion, Brand, Pack, Price, Channel), which is how a portfolio gets designed around the occasions people buy for rather than around price points.
Quantifying the Matrix
Coverage and density metrics
Coverage % = (Filled Positions / Total Possible Positions) x 100
A 3x3 matrix (3 sizes x 3 price tiers) has 9 positions. If 6 contain at least one SKU, coverage is 67%.
Brand Coverage % = (Positions with Your SKUs / Total Possible Positions) x 100
This tells you how much of the category your brand covers.
Packs per position = the number of SKUs sitting in one position
High density (4+ SKUs per position) indicates intense competition and margin pressure. Low density (0‑1 SKU) may indicate either an opportunity or an unviable combination.
Herfindahl‑Hirschman Index per Position (HHI) = Sum of (Market Share %)^2 for each brand in the position
HHI above 2500 = concentrated, meaning a few brands hold most of the position between them. HHI below 1500 = fragmented (many competitors). ⛔ Concentrated does not mean one brand dominates: four brands on 25% each score exactly 2500 with no leader at all. This tells you how contestable each position is.
Spread is two readings rather than one number, and both are worth taking. Count how many of the nine positions your own packs occupy, then check how your volume splits across them. A brand sitting in three positions with four fifths of its volume in one of them is concentrated, whatever the position count says, so the count alone will flatter you.
Building the matrix on the category in this lesson's sandbox
Twelve packs, four brands, nine positions
The sandbox further down this page is a matrix somebody already built, and it is worth counting once before you touch it. Twelve packs from four brands are plotted on pack size across the bottom and shelf price up the side, and the grid cuts that plane into nine positions.
The axes come from where the category actually clusters, rather than from round numbers that look tidy:
- Size: Small under 120g, Medium 120g to 280g, Large 280g and above
- Price: Low under $2.00, Mid $2.00 to $4.00, High $4.00 and above
| Low | Mid | High | |
|---|---|---|---|
| Small | 3 packs | 1 pack | empty |
| Medium | 1 pack | 3 packs | empty |
| Large | empty | 3 packs | 1 pack |
Three readings the count gives you that a SKU list never does
Six of the nine positions hold a pack, so the category reads 67% covered. The three empty positions are a small pack at a high price, a medium pack at a high price, and a large pack under $2.00.
Your own brand sits in three of the nine. CrunchCo has four packs and they land in Small / Low, Medium / Mid and Large / Mid, which means two of the four share a position. Four listings, three positions, and one duplication you are paying a slotting fee for twice.
Nobody is really above $4.00. One pack in the whole category clears it, and two of the grid's three empty positions sit up there. That is either the largest opening in the category or the reason nobody has bothered, and counting positions cannot tell you which. The scoring card later in this lesson is how you separate the two.
An empty position is a question rather than an opportunity, and the large‑and‑cheap one is where to start being suspicious. To put a pack there you have to come in under $2.00 on a pack over 280g, which is below the store brand's own 400g at $2.29, and the sandbox lets you do exactly that and read what it costs you.
Building Your First Matrix
Building one of these for the first time in a category rewards discipline in five places.
- Settle the axes before you plot anything. Agree the size bands and the price tiers first, and set them on the natural breakpoints in the category rather than on round numbers. Look at where real pack sizes and real prices actually cluster, and cut there.
- Plot everybody. Your brand, every branded rival, private label, and the small local entrants. A partial map is worse than none, because it looks complete. In a typical grocery biscuit category that means 40 to 80 SKUs across 6 to 10 brands.
- Use what shoppers pay, not what you publish. Plot actual retail prices, ideally the average selling price over the last 12 weeks with the deep promotions stripped out, rather than recommended prices. The map has to show the shelf, not the price list.
- Rebuild it on a rhythm. Launches, delistings, price moves and new private‑label entries all shift packs around the grid. A quarterly rebuild, plus a check whenever something big lands, keeps it current without turning it into somebody's full‑time job.
- Expect to need several. One map is where you start. You will end up with one per channel, grocery against convenience against online, one for each major customer, and one per region wherever pricing or assortment genuinely differs.
Continue exploring
Put this concept to work
See Portfolio Mapping 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 Pack-Price Matrix lesson