Pack-Price Matrix: Where Your Portfolio Has Holes (and Why It Matters)
Plotting every SKU in the category on a 2D matrix with pack size on one axis and price tier on the other
The Strategic X-Ray of Your Portfolio
A pack-price matrix is a two-dimensional grid that plots every SKU in a category along two axes: pack size (grams, millilitres, or unit count) on one axis and price point (or price tier) on the other. When fully populated with your products and competitors, this matrix becomes the single most revealing tool in pack-price architecture.
The matrix typically uses 3-5 size bands on one axis (e.g., Small 50-100g, Medium 150-250g, Large 300-500g) and 3-4 price tiers on the other (e.g., Economy, Mainstream, Premium, Super-Premium). Each cell in the resulting grid represents a specific combination of size and price -- and by extension, a specific consumer occasion, need state, or value proposition.
What makes portfolio mapping powerful is pattern recognition. When you plot every SKU in a category, you immediately see where competition clusters, where gaps exist, where your brand is over- or under-represented, and where the price-per-unit logic holds or breaks down. A category manager who cannot draw their pack-price matrix from memory is not yet fluent in their category.
The matrix is also the foundation of OBPPC (Occasion, Brand, Pack, Price, Channel) frameworks used by leading FMCG companies to systematically design portfolios that cover every relevant consumer occasion.
Quantifying the Matrix
Coverage % = (Filled Cells / Total Possible Cells) x 100
A 3x3 matrix (3 sizes x 3 price tiers) has 9 cells. If 6 contain at least one SKU, coverage is 67%.
Brand Coverage % = (Cells with Your SKUs / Total Possible Cells) x 100
This tells you how much of the category landscape your brand addresses.
Cell Density = Number of SKUs in a Cell
High density (4+ SKUs per cell) indicates intense competition and margin pressure. Low density (0-1 SKU) may indicate either an opportunity or an unviable combination.
Herfindahl-Hirschman Index per Cell (HHI) = Sum of (Market Share %)^2 for each brand in the cell
HHI > 2500 = concentrated (one brand dominates). HHI < 1500 = fragmented (many competitors). This tells you how contestable each cell is.
Portfolio Spread Index = Standard Deviation of your SKU positions across the matrix
Low spread = concentrated portfolio. High spread = diversified portfolio.
Biscuits Category -- Building the Matrix
A category manager at a major biscuit brand built the full pack-price matrix for their top retailer:
Size Bands: Small (50-100g), Medium (150-250g), Large (300-500g)
Price Tiers: Economy (below $1.80), Mainstream ($1.80-$3.50), Premium ($3.50-$6.00)
Results: 52 SKUs from 8 brands mapped across 9 cells.
Key findings:
- Medium/Mainstream cell had 18 SKUs from 6 brands -- the most crowded cell, and where 62% of category volume sat.
- Small/Economy had 7 SKUs but declining volume (-4% YoY) as consumers moved away from the cheapest options.
- Large/Premium had just 1 SKU (a competitor's gifting tin) with 8% YoY growth -- a clear underdeveloped cell.
- Their own brand had 11 SKUs in 5 of 9 cells, entirely absent from all three Premium-tier cells.
This single exercise revealed that the brand had been competing exclusively in the bottom two-thirds of the market while the fastest-growing segment (premium) was completely unaddressed. It became the foundation for a 3-year portfolio strategy that included a premium range extension.
Cross-lesson connection — PPA Lesson 4 (OBPPC): the pack-price scatter you build here is the diagnostic that precedes the OBPPC matrix. White spaces identified on this scatter feed directly into the OBPPC Occasion × Channel gap analysis from L4. Every empty cell on the scatter is a candidate for a specific occasion-channel combination in the OBPPC view.
Building Your First Matrix
Building a pack-price matrix for the first time in a category requires discipline:
1. Define the axes before plotting: Agree on size bands and price tiers before populating the matrix. Base these on natural breakpoints in the category, not arbitrary divisions. Look at the distribution of actual pack sizes and prices for natural clusters.
2. Plot ALL players: Include your brand, every branded competitor, private label, and emerging/local brands. An incomplete matrix gives a false picture. In a typical grocery biscuit category, this might mean 40-80 SKUs across 6-10 brands.
3. Use sell-out data, not list prices: Plot actual retail prices (ideally average selling price across the last 12 weeks, excluding deep promotions) rather than recommended retail prices. The matrix must reflect what consumers actually see.
4. Update regularly: The matrix is not a one-time exercise. Competitor launches, delistings, price changes, and new private label entries all shift the landscape. Best practice is quarterly refresh with monthly monitoring of major changes.
5. Build multiple views: A single matrix is a starting point. You will need matrices by channel (grocery vs. convenience vs. online), by retailer (each major customer), and by region (if pricing or assortment varies geographically).
Continue exploring
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.
Claim 50% off — early launch offer