OBPPC Matrix Builder
Build the complete 4 × 4 Occasion × Channel portfolio blueprint, identify deliberate white space vs unintentional gaps, and eliminate same-pack-within-channel overlaps before the category review. The same interactive model the full RGM Academy course uses for PPA Lesson 4 — no auth, no paywall.
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 are the Category Director on a mainstream biscuit brand heading into the annual portfolio review with a grocery account. Your range today has grown organically — a mix of packs the factory can run cheaply, a couple of innovations that went onto shelf to tick a retailer listings box, and one pack size the Sales team thinks is their golden goose. The CFO has asked for a structural view of the portfolio: where it serves every consumer occasion × channel combination, where it has deliberate white space, where it accidentally cannibalises itself, and where a competitor can walk in and list a gap-filler without resistance.
This is the OBPPC Matrix — Occasion × Brand × Pack × Price × Channel — rendered as a live 4 × 4 grid. Four consumption occasions (On-the-Go, Family Meal, Sharing / Social, Everyday Snack) × four channels (Convenience, Supermarket, Club / Wholesale, Online) = 16 cells, of which 14 are viable (On-the-Go × Club and On-the-Go × Online are dead space — impulse occasions don't work in those channels). Your job by Friday: build the complete OBPPC blueprint, identify deliberate vs unintentional white space, flag any same-pack-within-channel overlaps, and bring a portfolio-status verdict to the Category Director.
Use the matrix builder to construct the full portfolio blueprint, identify strategic white space from unintentional gaps, and eliminate same-pack-within-channel overlaps that cannibalise portfolio breadth.
The matrix is 4 × 4 = 16 cells with 2 structural dead-space cells (On-the-Go × Club, On-the-Go × Online) → 14 viable cells. Dead space is excluded from coverage math — filling a dead cell is impossible, so treating them as 'missing' would be a false-negative reading.
The 10 pack options span $1.29 (Single Serve 50g) to $12.99 (Gift Tin 350g), covering single-serve, snack, standard, family, sharing, premium, bulk, variety, multipack, and gift formats. Prices are category-calibrated for mainstream branded biscuits; adjust mentally for your actual price architecture.
Overlap logic is channel-scoped, not matrix-scoped. The same pack in two occasions within the SAME channel fires an overlap warning. The same pack in the same occasion across DIFFERENT channels does not — that is a legitimate portfolio choice (e.g. Family Pack 400g in both Supermarket and Online is fine; those are separate retailer shelves).
White space is ambiguous by default — the tool does not distinguish 'deliberate' (commercially uneconomic cell, e.g. Sharing × Convenience for a premium brand) from 'unintentional' (open invitation to a competitor). Use the tool to surface the empty cells, then apply your own commercial judgement about whether each gap is a choice or a risk.
Pack-role and price-point validation sit outside this sandbox. The sandbox flags coverage, white space, and overlaps — it does NOT run Pack Role Index (PRI) guardrails, Break-Even Elasticity (BE_ε) viability, Net Incrementality gates, or Van Westendorp PSM OPP/IPP corridor checks on each cell. Those validations come from PPA Lesson 2, Pricing Lesson 2, Pricing Lesson 3 respectively — the full RGM Academy course wires all four checks into one integrated review.
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 |
|---|---|---|---|
| Cell pack dropdown | 11 options per cell (10 packs + Empty) | Seed: 7 cells pre-filled (single-small, snack-100, family-400, bulk-750, sharing-300, variety-500, standard-200). 7 cells empty. | Primary control. Each change updates all four portfolio metrics live. Assigning the same pack twice within one channel fires an overlap warning. |
| Coverage % | 0% – 100% | 50% (7 of 14 viable cells filled) | Share of viable cells with a pack assigned. Green ≥80%, amber 50-80%, plain <50%. The primary completeness signal. 100% means every shopper moment in every channel is served. |
| White Space (count) | 0 – 14 cells | 7 cells at the seed | Viable cells left empty. Red >3, amber 1-3, green 0. Treat each white-space cell as a commercial choice — deliberate dead end, or unintentional competitor invitation. |
| Unique Packs | 0 – 10 | 7 at the seed | Distinct pack formats used across the 14-cell matrix. 5-8 is the typical FMCG portfolio rhythm. 1-2 = monotone; 9-10 = fragmented range. |
| Overlaps (count) | 0 – many | 0 at the seed | Same-pack-within-channel cases. Each overlap represents internal cannibalisation between two occasions the shopper sees as interchangeable. Zero is the structural-quality baseline. |
| Reset button | — | — | Restores the 7-cell default seed. Useful for clearing an overlap experiment before running a new one. |
5.3Step-by-step exploration7-step guided exploration of the scenario.
7-step guided exploration of the scenario.
- Read the default seed — the half-built baseline
Leave every control at default. Read the four portfolio-health tiles and scan the matrix.
Expected outcome: Coverage 50% (7/14), White Space 7 cells, Unique Packs 7, Overlaps 0. Portfolio Status "incomplete" (50% sits below the 60% 'partial' threshold; 7 white-space cells sits below the 8-cell 'high-white-space' trigger, so the seed deliberately lands in the 'just getting started' band). The seed represents a typical mid-build portfolio — strong Supermarket column, partial Club, completely empty Online and Convenience. The commercial read: enough signal to diagnose the portfolio shape, not yet enough to defend in a retailer category review. - Fill the Online column — a growth-channel play
Set family-online to Family Pack 400g, sharing-online to Variety Pack 500g, everyday-online to Standard 200g. (On-the-Go × Online is dead space — leave it as N/A.)
Expected outcome: Coverage jumps from 50% to 71% (10/14). Unique Packs stays at 7 (existing packs re-used in Online — no new formats added). Overlaps stay at 0 (overlap logic is channel-scoped; the same pack in Online and Supermarket is a legitimate cross-channel consistency, not a cannibalisation). Portfolio Status advances from "incomplete" to "partial" (now above the 60% coverage threshold; still below 80% near-complete). - Create an intentional overlap — see the warning fire
Change sharing-super from Sharing Box 300g to Standard 200g. Now both everyday-super and sharing-super use Standard 200g.
Expected outcome: Overlap count flips to 1. Warning banner appears: "Standard 200g used multiple times in Supermarket — consider differentiating by occasion." Portfolio Status moves to "fragmented-with-overlap". The commercial read: you have two Supermarket-channel packs the shopper cannot tell apart on shelf — they collapse into one choice, and volume goes to whichever has the more prominent facing. Differentiation is the fix: give the Sharing occasion a format the Everyday occasion does not use. - Reset, then push toward complete coverage
Click Reset (restores 7-cell seed). Then fill: family-conv → Snack Pack 100g, sharing-conv → Premium Select 180g, sharing-online → Gift Tin 350g, everyday-conv → Multipack 6x30g, everyday-online → Standard 200g, family-online → Family Pack 400g, everyday-club → (skip for now).
Expected outcome: Coverage ~93% (13/14). Unique Packs ~9. Overlaps 0 (all new packs are distinct per channel). Portfolio Status "near-complete". White space drops to 1 cell (everyday-club). At this stage the portfolio is defensible in a retailer review — the final white-space decision is whether a bulk-750 everyday-club is worth a separate listing or whether the family-club bulk-750 already answers the everyday occasion in club. - Complete the matrix — fire the full-coverage banner
Fill the last cell: everyday-club → Bulk Value 750g. The Family × Club cell already has Bulk Value 750g.
Expected outcome: Coverage 100%, White Space 0, Overlaps 1 (bulk-750 now doubles up in Club across Family and Everyday). Portfolio Status "fragmented-with-overlap". Lesson learned: pushing to 100% coverage naïvely by re-using packs creates cannibalisation. Fix: change everyday-club to Variety Pack 500g → overlap with sharing-club. Or change to a differentiated bulk — a Multipack 6x30g serves the Everyday routine-purchase Club shopper without duplicating the Family Pack 750g. Adjusting to multi-6: Coverage 100%, Overlaps 0, emerald "Full OBPPC Coverage" banner. - Run the greenfield test — empty matrix
Reset, then click every cell and set to Empty.
Expected outcome: Coverage 0%, White Space 14 cells, Unique Packs 0, Overlaps 0. Portfolio Status "high-white-space". This is the greenfield brief — every cell is an open strategic choice. The correct build order in FMCG is Supermarket column first (highest-volume channel), Everyday row first (routine-purchase occasion), then branch into Convenience (impulse), Club (bulk buyers), and Online (subscription + delivery). - Map back to the cross-lesson gates every cell must clear
Open the related-concept links below the walkthrough: OBPPC Framework, Pack Roles Framework, Pack-Size Elasticity, Good/Better/Best.
Expected outcome: Understanding that the OBPPC matrix is a portfolio-structure check, not a portfolio-viability check. Every cell must also pass: (a) Pack Role Index guardrail (PPA Lesson 2 — Entry ~120, Routine 100, Upsize 70-85, Upscale >120), (b) Break-Even Elasticity viability (Pricing Lesson 2 — BE_ε), (c) Net Incrementality ≥60% with Pricing Lesson 6 1.2× conservatism multiplier, (d) Van Westendorp OPP/IPP corridor per price point (Pricing Lesson 3), (e) channel execution logic (Pricing Lesson 7 — Convenience EDLP full-margin; Supermarket Hi-Lo; Club bundles; Online subscriptions). The RGM Academy full course wires all five checks into an integrated review.
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 |
|---|---|---|
| Coverage % | filledCells / viableCells × 100 (viableCells = 14) | Green ≥80%, amber 50-80%, plain <50%. 100% means every viable Occasion × Channel cell has an assigned pack. Below 80% flags a partial portfolio; below 50% flags an early build. |
| White Space (cells) | viableCells − filledCells | Red >3, amber 1-3, green 0. Each white-space cell is a strategic choice — deliberate dead end or unintentional competitor invitation. The tool surfaces the count; commercial judgement decides whether each gap is okay. |
| Unique Packs | count(distinct packId where packId ≠ 'none') | 5-8 is the typical FMCG portfolio rhythm. 1-2 = monotone architecture (missing occasion differentiation). 9-10 = fragmented range, supply-chain complexity cost, retailer shelf pushback. |
| Overlaps (count) | Σ(packs appearing ≥2× within the same channel, minus first occurrence) | Each overlap is internal cannibalisation dressed up as portfolio breadth. Two Supermarket packs with identical formats collapse into one shopper choice, and volume goes to whichever has the more prominent facing. Zero overlap is the structural-quality baseline. |
| Portfolio Status | derived state machine over coverage + overlap | `complete` (100% + 0 overlap) · `near-complete` (≥80% + 0 overlap) · `partial` (60-80%) · `high-white-space` (≥8 cells empty) · `fragmented-with-overlap` (overlap >0 + coverage <80%) · `incomplete` (early build). The one-word read for a CFO who doesn't want four tile numbers. |
Read Portfolio Status first — it collapses the four metric tiles into one verdict that maps directly to how a review will talk about the matrix. Then check Overlaps (goal: 0) before Coverage (goal: ≥80%) — eliminating overlap is structurally more important than pushing coverage to 100% naïvely, because overlap = cannibalisation = wasted SKU slots on shelf. The per-occasion summary bars at the bottom of the sandbox show coverage per occasion row — a row at 0/3 or 0/4 is a category-leader opportunity; a row fully filled with distinct channel-appropriate packs is a defensible position.
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 1Optimising for Coverage % without checking Overlaps firstSymptom: Matrix reads 100% coverage but the Overlap warning is firing — the portfolio looks complete but has 2-3 packs doing duplicate work on shelf.Fix: Coverage + Overlap must be evaluated TOGETHER. 100% coverage with 2 overlap warnings is a worse portfolio than 93% coverage with 0 overlaps — each overlapping pack collapses two cells into one shopper choice, so 14 filled cells with 2 overlap warnings = 12 distinct choices on shelf = 12/14 = 86% effective coverage, not 100%. Always eliminate overlaps before chasing the last few coverage points.
- Mistake 2Treating white-space cells as automatic revenue gapsSymptom: Commercial team lists every empty cell as an innovation project and over-extends the range.Fix: Some white space is deliberate. Sharing × Convenience for a premium brand, Family Meal × Convenience for most categories, On-the-Go × Club (already coded as dead space) — these are combinations where the consumer occasion and channel economics do not align. Apply the filter: is there a credible shopper + retailer economic argument for filling this cell? If not, it is strategic white space, not a gap.
- Mistake 3Confusing same-pack-across-channels with same-pack-within-channel overlapSymptom: Tool shows Overlaps = 0 but the commercial team thinks Family Pack 400g in Supermarket AND Online is double-counting.Fix: The tool's overlap logic is channel-scoped by design. Family Pack 400g in Supermarket and Online is NOT an overlap — those are different shelf environments, different shopper missions (grocery-run vs top-up vs scheduled delivery), and different category-manager relationships. Cross-channel pack consistency is often a strategic advantage (brand + logistics efficiency). Only same-pack-within-channel is cannibalisation.
- Mistake 4Using the sandbox as a portfolio-viability check instead of a portfolio-structure checkSymptom: Recommendation goes to the business saying "portfolio is complete, no overlaps" — but one of the packs has a broken unit economics (Pack Role Index 65, below the Entry 120 / Routine 100 / Upsize 70-85 / Upscale >120 guardrails).Fix: OBPPC is a structure check: does the range cover every viable Occasion × Channel cell with distinct packs? It does NOT check pack viability per cell. Five additional gates are required per cell before a portfolio recommendation is defensible: (a) PPA Lesson 2 Pack Role Index guardrail, (b) Pricing Lesson 2 Break-Even Elasticity viability, (c) Pricing Lesson 6 Net Incrementality ≥60% with 1.2× cross-XED conservatism multiplier, (d) Pricing Lesson 3 Van Westendorp OPP/IPP corridor per price point, (e) Pricing Lesson 7 channel execution logic (Convenience = EDLP; Supermarket = Hi-Lo; Club = bundles; Online = subscriptions). The RGM Academy full course wires all six checks (including OBPPC structure) into one integrated review.
- Mistake 5Filling all 14 cells with just 2-3 pack formatsSymptom: Coverage 100%, Overlaps 6-8, Unique Packs 2-3. The matrix appears complete but the entire portfolio is structurally undifferentiated.Fix: A single-pack-across-channels strategy (one pack in every channel) minimises SKU count but eliminates occasion differentiation — the whole point of OBPPC. Rule of thumb for a mainstream FMCG portfolio: 5-8 distinct pack formats across the 14 viable cells, with at most 2 cells sharing a pack across different channels (never same-channel). If you are at Unique Packs < 4 with Coverage 100%, you are optimising for factory simplicity, not shopper choice architecture.
Go deeper on the theory
- Price Pack ArchitectureOBPPC FrameworkOBPPC framework
- Price Pack ArchitectureThe Four Pack Roles Frameworkpack roles framework FMCG
- Price Pack ArchitecturePack-Size Elasticitypack size elasticity
- Price Pack ArchitecturePrice Tier Laddersprice tier ladder FMCG
- Price Pack ArchitectureGood-Better-Best Pricinggood better best pricing
- PricingWillingness to Pay (WTP)willingness to pay measurement
- Trade Promotion OptimizationSource of Volumesource of volume promotion
- Integration LabThe Five RGM LeversRGM five levers
Continue with the lessonsGo further inside Price Pack Architecture
This calculator is the sandbox slice of Lesson 4: OBPPC Framework. Each of the other 6 Price Pack Architecture lessons teaches a complementary concept that sharpens how you read the output above.
Go further inside Price Pack Architecture
This calculator is the sandbox slice of Lesson 4: OBPPC Framework. Each of the other 6 Price Pack Architecture lessons teaches a complementary concept that sharpens how you read the output above.
- Price Pack Architecture · Lesson 1Free previewPrice Tiers & LaddersThe structural price tiers in any FMCG category — and which tier holds the volume vs. the margin.Open the preview
- Price Pack Architecture · Lesson 2Free previewPack RolesEvery pack assigned a clear role — Entry, Routine, Upsize, Upscale — so the portfolio has no gaps and no overlaps.Open the preview
- Price Pack Architecture · Lesson 3Sign up to unlockRSP/kg Incentive CurveThe pack-ladder pricing math that makes shoppers trade up without eroding the margin you're trading them up to.Claim 50% off — unlock
- Price Pack Architecture · Lesson 5Sign up to unlockPack Size × Price MatrixTwo-axis diagnostic for pack-ladder tension — surfaces inverted curves and trade-up economics in one view.Claim 50% off — unlock
- Price Pack Architecture · Lesson 6Sign up to unlockGood-Better-Best ArchitectureTier-premium ladder design — anchor a Best to elevate Better, without breaking Good's volume base.Claim 50% off — unlock
- Price Pack Architecture · Lesson 7Sign up to unlockConsumer Decision TreeThe demand-side hierarchy behind every shopper choice — the upstream input to every PPA, OBPPC, and pack-role decision.Claim 50% off — unlock
See OBPPC 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 — unlock the full lesson