Module 8: Project Define Mercados Strategy
How to win
Description
The one-pager's third layer answers the cascade's second choice: now that we know where we play, what makes us win there, and against whom exactly? This lesson brings together two models from two different modules, because "how to win" always has two inseparable halves: real differentiation against today's rivals (differentiationMap, module 4) and the complete competitive landscape, including players you weren't watching yet (competitiveMap, module 5). Neither one, alone, answers "how we win" — the first tells you what advantage you have; the second tells you how much longer that ground is going to stay yours.
Connection to the module. This lesson reuses differentiationMap verbatim from module 4 and competitiveMap verbatim from module 5, with no changes to any formula or any data. The combined result fills the one-pager's howToWin layer, and it's the last piece lesson 6 needs to derive winOn — the most important half of the strategic filter.
An everyday analogy: the weapon and the terrain where it's used
"How we win" in any real competition always has two separate questions, and confusing them is a costly mistake. The first is: what's my specific advantage, compared to today's rivals? The second is: is that competitive ground going to keep looking the same, or is someone new about to enter and play? A chess player who masters a specific opening wins games today against the rivals they know — but if they never check what new openings the players they haven't faced yet are studying, they can show up to a tournament with a weapon that no longer surprises anyone.
This one-pager layer brings together exactly those two questions: differentiationMap is the weapon —what specific advantage Mercado has, verified dimension by dimension—; competitiveMap is the terrain —who else is playing this game, and where the terrain itself is moving. No "how to win" strategy is complete if it answers only one of the two.
Worked example: real differentiation, and the space that sustains it
First, differentiationMap on module 4's six dimensions and two competitors:
function differentiationMap(us, competitors, dimensions) {
const REAL_DIFF_MARGIN = 2;
return dimensions.map((dim) => {
const usScore = us.scores[dim.key];
const rivals = competitors.map((c) => ({ name: c.name, score: c.scores[dim.key] }));
const best = rivals.reduce((a, b) => (b.score > a.score ? b : a));
const gap = usScore - best.score;
let verdict;
if (gap >= REAL_DIFF_MARGIN) verdict = 'differentiation';
else if (gap <= -REAL_DIFF_MARGIN) verdict = 'gap';
else verdict = 'parity';
return { dimension: dim.key, mattersToSegment: dim.matters, usScore, bestCompetitor: best.name, bestCompetitorScore: best.score, verdict };
});
}
function competitiveMap(us, players, axes) {
const [xAxis, yAxis] = axes;
const place = (player) => {
const xSide = player.scores[xAxis.key] >= xAxis.midpoint ? xAxis.high : xAxis.low;
const ySide = player.scores[yAxis.key] >= yAxis.midpoint ? yAxis.high : yAxis.low;
return `${ySide} / ${xSide}`;
};
const usQuadrant = place(us);
const placed = players.map((p) => ({ name: p.name, type: p.type, quadrant: place(p), sharesQuadrantWithUs: place(p) === usQuadrant }));
const openSpace = !placed.some((p) => p.sharesQuadrantWithUs);
return { us: { name: us.name, quadrant: usQuadrant }, players: placed, openSpace };
}
// --- howToWin, half 1: differentiationMap (module 4) ---
const mercadoDiff = { name: 'Mercado', scores: { catalogBreadth: 3, price: 3, deliverySpeed: 4, curatedDiscovery: 5, localSellerTrust: 5, appAnimationPolish: 5 } };
const genericMegastoreDiff = { name: 'genericMegastore', scores: { catalogBreadth: 5, price: 5, deliverySpeed: 4, curatedDiscovery: 2, localSellerTrust: 2, appAnimationPolish: 2 } };
const neighborhoodShop = { name: 'neighborhoodShop', scores: { catalogBreadth: 1, price: 3, deliverySpeed: 2, curatedDiscovery: 3, localSellerTrust: 3, appAnimationPolish: 1 } };
const dimensions = [
{ key: 'catalogBreadth', matters: false },
{ key: 'price', matters: false },
{ key: 'deliverySpeed', matters: true },
{ key: 'curatedDiscovery', matters: true },
{ key: 'localSellerTrust', matters: true },
{ key: 'appAnimationPolish', matters: false },
];
console.log('=== howToWin: differentiationMap ===\n');
const howToWin = differentiationMap(mercadoDiff, [genericMegastoreDiff, neighborhoodShop], dimensions);
console.table(howToWin);
const realDiffs = howToWin.filter((r) => r.verdict === 'differentiation' && r.mattersToSegment);
console.log(`\nReal differentiation: ${realDiffs.map((r) => r.dimension).join(', ')}`);
// --- howToWin, half 2: competitiveMap (module 5) ---
const axesDiscovery = [
{ key: 'breadth', label: 'catalog breadth', low: 'niche', high: 'broad', midpoint: 5 },
{ key: 'curation', label: 'curation depth', low: 'raw-search', high: 'curated', midpoint: 5 },
];
const us = { name: 'Mercado', scores: { breadth: 8, curation: 8 } };
const rosterToday = [
{ name: 'MegaStoreGenerico', type: 'direct', scores: { breadth: 9, curation: 2 } },
{ name: 'SuperTiendaExpress', type: 'direct', scores: { breadth: 6, curation: 3 } },
{ name: 'TiendasLocalesOnline', type: 'indirect', scores: { breadth: 3, curation: 4 } },
{ name: 'NicheHandmadeMarketplace', type: 'indirect', scores: { breadth: 3, curation: 8 } },
{ name: 'JustSearchOnGoogle', type: 'substitute', scores: { breadth: 10, curation: 1 } },
];
console.log('\n=== competitive landscape: competitiveMap, TODAY ===\n');
const today = competitiveMap(us, rosterToday, axesDiscovery);
console.table(today.players);
console.log(`openSpace today: ${today.openSpace}`);
// --- The final value proposition, backed only by real differentiation ---
const valueProp = {
differentiators: realDiffs.map((r) => r.dimension),
statement: 'For buyers who browse without knowing exactly what they\'re looking for, Mercado is the curated-discovery marketplace that connects you with verified local sellers -- unlike the generic giant, which shows you everything but doesn\'t help you find anything.',
};
console.log('\n=== howToWin, in one sentence ===\n');
console.log(valueProp.statement);
console.log(`Verified pillars: ${valueProp.differentiators.join(' + ')}.`);
What to expect. Running the file with Node produces exactly this output:
=== howToWin: differentiationMap ===
┌─────────┬──────────────────────┬──────────────────┬─────────┬────────────────────┬─────────────────────┬───────────────────┐
│ (index) │ dimension │ mattersToSegment │ usScore │ bestCompetitor │ bestCompetitorScore │ verdict │
├─────────┼──────────────────────┼──────────────────┼─────────┼────────────────────┼─────────────────────┼───────────────────┤
│ 0 │ 'catalogBreadth' │ false │ 3 │ 'genericMegastore' │ 5 │ 'gap' │
│ 1 │ 'price' │ false │ 3 │ 'genericMegastore' │ 5 │ 'gap' │
│ 2 │ 'deliverySpeed' │ true │ 4 │ 'genericMegastore' │ 4 │ 'parity' │
│ 3 │ 'curatedDiscovery' │ true │ 5 │ 'neighborhoodShop' │ 3 │ 'differentiation' │
│ 4 │ 'localSellerTrust' │ true │ 5 │ 'neighborhoodShop' │ 3 │ 'differentiation' │
│ 5 │ 'appAnimationPolish' │ false │ 5 │ 'genericMegastore' │ 2 │ 'differentiation' │
└─────────┴──────────────────────┴──────────────────┴─────────┴────────────────────┴─────────────────────┴───────────────────┘
Real differentiation: curatedDiscovery, localSellerTrust
=== competitive landscape: competitiveMap, TODAY ===
┌─────────┬────────────────────────────┬──────────────┬──────────────────────┬──────────────────────┐
│ (index) │ name │ type │ quadrant │ sharesQuadrantWithUs │
├─────────┼────────────────────────────┼──────────────┼──────────────────────┼──────────────────────┤
│ 0 │ 'MegaStoreGenerico' │ 'direct' │ 'raw-search / broad' │ false │
│ 1 │ 'SuperTiendaExpress' │ 'direct' │ 'raw-search / broad' │ false │
│ 2 │ 'TiendasLocalesOnline' │ 'indirect' │ 'raw-search / niche' │ false │
│ 3 │ 'NicheHandmadeMarketplace' │ 'indirect' │ 'curated / niche' │ false │
│ 4 │ 'JustSearchOnGoogle' │ 'substitute' │ 'raw-search / broad' │ false │
└─────────┴────────────────────────────┴──────────────┴──────────────────────┴──────────────────────┘
openSpace today: true
=== howToWin, in one sentence ===
For buyers who browse without knowing exactly what they're looking for, Mercado is the curated-discovery marketplace that connects you with verified local sellers -- unlike the generic giant, which shows you everything but doesn't help you find anything.
Verified pillars: curatedDiscovery + localSellerTrust.
Two findings complete this layer. The first: of six dimensions, only two are real differentiation that also matters to the segment (curatedDiscovery, localSellerTrust) — appAnimationPolish also comes out 'differentiation', but nobody in the segment cares about it, so it doesn't count as part of "how we win." The second, from the competitive landscape: today, none of the five players on the roster —neither the two direct ones, nor the two indirect ones, nor the biggest substitute of all— occupies the same quadrant as Mercado. openSpace: true isn't a coincidence of these two specific competitors; it's the confirmation, over the complete roster, that the real differentiation differentiationMap found has, today, an open space to live in.
Deep dive: why "today" is this layer's most important word
Module 5 already taught you this in detail, and this one-pager layer inherits it undiluted: openSpace: true describes today's landscape, with each player's current curation scores. If you projected the same competitiveMap three years forward —with JustSearchOnGoogle raising its curation from 1 to 7, the same AI shopping assistant trend module 5 already modeled—, openSpace would drop to false, with no new competitor entering the roster. This one-pager's howToWin layer, then, doesn't say "Mercado wins forever" — it says "Mercado wins today, with a real advantage and an open space, and that space has an expiration date if nobody defends it." That expiration date is exactly the question that opens the next layer: what makes this advantage hard to copy, not just that nobody has copied it yet today?
Common mistakes
Presenting differentiationMap without competitiveMap, as if "winning today" were enough. What happens: the one-pager includes the complete six-dimension table —real differentiation confirmed— and stops there, with no mention of the wider competitive landscape or its future projection. Why it happens: differentiation feels like the complete conclusion of "how we win," and the competitive landscape feels like a separate topic, more "market watch" than core strategy. How to spot it: if your howToWin layer includes no mention of openSpace or of where the market is moving, you only have half the weapon with no terrain. How to fix it: always require both halves together, as in this lesson — the real differentiation and the competitive space that sustains it, never one without the other.
Including appAnimationPolish in the value proposition because it technically "wins." What happens: someone notices appAnimationPolish also has verdict: 'differentiation' in the table, and proposes including it in the final "how we win" statement, because "it's also a real advantage, isn't it?" Why it happens: the eye stops on the verdict column, not on mattersToSegment — and a row marked 'differentiation' looks, at first glance, just as valid as any other. How to spot it: if your final "how we win" list includes any dimension with mattersToSegment: false, someone read only one column of the table. How to fix it: module 4's rule didn't change getting here — real differentiation and that it matters to the segment, both conditions at once, or it doesn't enter the final value proposition.
Treating openSpace: true as a permanent guarantee, with no mention of the projection. What happens: the one-pager cites openSpace: true as if it were a fixed fact of the business, with no mention that that same model, projected just three years out, produces false. Why it happens: a positive result invites closing the topic there, and calculating the projection feels like looking for problems that don't exist today. How to spot it: if your howToWin layer mentions no expiration date or no trend that could close the space, you omitted module 5's most important finding. How to fix it: always cite today's result together with its projection — lesson 5 (moats) is precisely the engineering answer to that expiration date.
Exercises
Exercise 1 — Add a seventh dimension to differentiationMap. The logistics team proposes measuring deliveryReliability (delivery reliability, not speed), which does matter to the segment. The scores are: Mercado = 6, genericMegastore = 4, neighborhoodShop = 5. Without running anything, calculate the verdict and decide whether it would enter the final value proposition.
See solution
Between the two competitors, neighborhoodShop (5) scores higher than genericMegastore (4) on this dimension, so the best rival is neighborhoodShop with 5. Mercado's gap is 6 - 5 = 1, which doesn't reach REAL_DIFF_MARGIN (2), so the verdict is 'parity'. It wouldn't enter the final value proposition — it matters to the segment, but Mercado doesn't win there by enough margin to call it real differentiation, just a close call with a slight edge.
Exercise 2 — Predict the effect of a new competitor on competitiveMap. A new competitor, AIShoppingAssistant, enters with scores: { breadth: 9, curation: 9 }. Without running anything, which quadrant would it fall into, and would it share a quadrant with Mercado?
See solution
With breadth: 9 (≥ 5 → 'broad') and curation: 9 (≥ 5 → 'curated'), it would land in the 'curated / broad' quadrant — exactly the same quadrant as Mercado (us.scores = { breadth: 8, curation: 8 }, also 'curated / broad'). sharesQuadrantWithUs would be true, and openSpace would drop to false immediately, with no need to wait for any three-year projection — a competitor entering directly with high breadth and high curation would occupy Mercado's open space from day one.
Exercise 3 — Explain to an investor why "we win today" isn't the whole story. An investor, after seeing the differentiation table and the openSpace: true map, asks: "so, you've already won, nothing more to do here?" Write, in a paragraph, your response using this lesson's vocabulary.
See solution
A sample answer: "We win today, with clear evidence: two dimensions of real differentiation that matter to our segment, and a completely open competitive space against the five most relevant players in the landscape, including the biggest substitute of all. But 'winning today' and 'continuing to win' are different questions — the same model that confirms today's open space, projected just three years out with a technology trend that's already visible, shows that space closing. It's not a warning sign, it's the exact reason the next part of our strategy —how defensible this advantage is, not just whether it exists today— matters as much as what we just showed you."
Summary and next step
In this lesson you filled the one-pager's third layer: howToWin, with two verified halves — differentiationMap confirmed that only curatedDiscovery and localSellerTrust are real differentiation that matters to the segment, and competitiveMap confirmed that ground is open today against the five players in the complete landscape, though with a visible expiration date in the three-year projection.
Before moving on you should be able to: explain why "how we win" needs two models and not one, and distinguish real-but-irrelevant differentiation (appAnimationPolish) from real and valuable differentiation.
Lesson 5 fills the fourth layer: moats — how truly defensible the advantage you just confirmed is, with moatScore over Mercado's complete inventory.
Resources
- April Dunford, "The 'No Differentiation' Illusion" — aprildunford.substack.com/p/the-no-differentiation-illusion. The difference between having no differentiation and not knowing how to precisely spot it — the same discipline that separated
appAnimationPolishfromcuratedDiscoveryin this lesson. In English. - Michael Porter, "What Is Strategy?" (Harvard Business Review, 1996) — hbr.org/1996/11/what-is-strategy. The original article distinguishing operational effectiveness (competing by improving the same things as everyone) from real strategic positioning (competing by being different) — the argument behind this layer's
verdict === 'differentiation'line. In English. - Jeff Jordan (a16z), "So You Want to Compete Against Amazon?" — a16z.com/so-you-want-to-compete-against-amazon. On what it means to compete with a generic giant without copying its game — the same argument that separates Mercado from
genericMegastorein this lesson's landscape. In English.