Module 5: Competition And Market
The most underrated competitor: "doing nothing"
Description
Lesson 3 introduced three competition categories and left one loose thread: the substitute in its purest form isn't another company — it's the buyer actively deciding not to act. Not clicking, not opening the app, not buying yet, solving it some other way that doesn't even involve a product. This lesson devotes the entire space to that player, because it's almost always the one capturing the most budget and the most attention of all — and the one no team ever puts on the "our competition" slide.
Connection to the module. In lesson 1 you saw JustSearchOnGoogle share a quadrant with MegaStoreGenerico — two players, one with brand and budget, the other with neither, occupying exactly the same strategic ground. This lesson digs into why that substitute deserves the same level of analytical attention as the biggest competitor on the roster, and gives Mercado a concrete name and size for the threat, not just a label.
An everyday analogy: the gym and the couch
If you ask a gym owner who their competition is, they'll name the other two or three gyms in the area — same service, same type of customer, easy to spot. But the real reason most gym memberships get used less than twice a month has nothing to do with those other gyms. It has to do with the couch: the option, every single day, of simply not going. Nobody is "stealing" the customer away to another gym — the customer keeps paying the same membership, and yet the gym loses exactly the thing it needs most from that person: for them to show up.
The couch has no logo, charges no membership, hires nobody in marketing — and yet, for most gyms in the world, it's competitor number one by a huge margin. A gym manager who only thinks about "how do I beat the gym on the corner" is solving a much smaller problem than the one that actually determines whether the business works. This is exactly the mistake this lesson fixes for Mercado: JustSearchOnGoogle —opening a generic search engine, or simply not buying anything at all— is Mercado's couch, and it deserves as much strategy as any MegaStoreGenerico.
Worked example: who's really winning the buyer's attention?
To make visible what usually stays invisible, we estimate —with a simple model, declared as such— what percentage of a typical Mercado buyer's "purchase attention" is split among the available options on any given day, including the option of not buying anywhere yet:
const attentionShare = [
{ name: 'JustSearchOnGoogle', type: 'substitute', share: 35 },
{ name: 'MegaStoreGenerico', type: 'direct', share: 30 },
{ name: 'TiendasLocalesOnline', type: 'indirect', share: 15 },
{ name: 'Mercado', type: 'us', share: 15 },
{ name: 'NicheHandmadeMarketplace', type: 'indirect', share: 5 },
];
const ranked = [...attentionShare].sort((a, b) => b.share - a.share);
console.log('=== Who\'s really winning the buyer\'s attention? ===\n');
console.table(ranked);
const total = attentionShare.reduce((sum, p) => sum + p.share, 0);
console.log(`sum of shares: ${total}`);
What to expect. Running the file with Node produces exactly this output:
=== Who's really winning the buyer's attention? ===
┌─────────┬────────────────────────────┬──────────────┬───────┐
│ (index) │ name │ type │ share │
├─────────┼────────────────────────────┼──────────────┼───────┤
│ 0 │ 'JustSearchOnGoogle' │ 'substitute' │ 35 │
│ 1 │ 'MegaStoreGenerico' │ 'direct' │ 30 │
│ 2 │ 'TiendasLocalesOnline' │ 'indirect' │ 15 │
│ 3 │ 'Mercado' │ 'us' │ 15 │
│ 4 │ 'NicheHandmadeMarketplace' │ 'indirect' │ 5 │
└─────────┴────────────────────────────┴──────────────┴───────┘
sum of shares: 100
⚠️ This
shareis a pedagogical model —a fixed estimate for reasoning about the problem, not a measured Mercado data point— and it should always be declared as such when used.
First place in the ranking, by the widest margin in the whole table, isn't MegaStoreGenerico — it's JustSearchOnGoogle. The substitute that no strategy meeting usually mentions captures more attention than the biggest direct competitor, and twice as much as Mercado itself. Now let's confirm that, even though this player captures the largest share of attention, its position on the strategic map doesn't change from what you already saw:
// Pedagogical model: places each player on a 2x2 map along two
// STRATEGIC axes (not objective market metrics) and flags whether
// "our" quadrant is open -- the space where Mercado can win without
// running head-on into another player.
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 };
}
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 result = competitiveMap(us, [
{ name: 'JustSearchOnGoogle', type: 'substitute', scores: { breadth: 10, curation: 1 } },
], axesDiscovery);
console.log('=== competitiveMap: Mercado against "doing nothing" ===\n');
console.log(`[us] ${result.us.name} -> quadrant: "${result.us.quadrant}"`);
console.log(`[substitute] JustSearchOnGoogle -> quadrant: "${result.players[0].quadrant}" | shares quadrant: ${result.players[0].sharesQuadrantWithUs}`);
console.log(`openSpace: ${result.openSpace}`);
=== competitiveMap: Mercado against "doing nothing" ===
[us] Mercado -> quadrant: "curated / broad"
[substitute] JustSearchOnGoogle -> quadrant: "raw-search / broad" | shares quadrant: false
openSpace: true
The two runs together tell this lesson's full story: JustSearchOnGoogle is, by far, the player capturing the most attention (35 of 100), and yet it does not occupy Mercado's quadrant — it's still broad and uncurated, the same ground as MegaStoreGenerico. That means the size of the threat (how much attention it absorbs) and the direction of the threat (what ground it competes on) are two different questions, and this lesson answered the first one: the substitute is huge. Lesson 5 answers the second one, with a twist: what happens if that substitute starts moving toward Mercado's quadrant?
Common mistakes
Ignoring substitutes and "doing nothing" because "they're not real competition." What happens: when building the competitive map, the team leaves out any player that doesn't have the shape of a recognizable company —a generic search engine, the option to postpone the purchase, a friend's advice— because it doesn't feel like "real competition." Why it happens: the word "competition" instinctively evokes another company with a logo, not a buyer behavior; and a behavior is harder to put on a slide than a brand name. How to spot it: if your competitive map doesn't include any player of type substitute, or if the only substitute that shows up is "another type of similar purchase" instead of "buying nothing," you're missing the purest form of the substitute. How to fix it: explicitly ask this lesson's question —"what percentage of buyers, faced with this job, simply don't act?"— and treat that percentage as one more line in the competitive roster, with the same analytical weight as any named competitor.
Measuring the size of the threat by whether it has the shape of a company, not by how much attention it captures. What happens: the team dedicates deep analysis to competitors with little real attention just because they're easy to research (they have a website, they report public metrics), and gives zero analysis to the substitute that, by any reasonable estimate, captures the biggest share. Why it happens: it's more comfortable to measure what's easy to measure than what actually matters — the classic "looking for your keys under the streetlight because that's where the light is, not where they fell" bias. How to spot it: compare how many hours of analysis each player on your roster received against an honest estimate of how much buyer attention each one actually captures — if the correlation is low, effort is misallocated. How to fix it: run this lesson's exercise —an attentionShare table, even if estimated— before deciding which competitor deserves the deepest analysis.
Confusing "the substitute doesn't occupy our quadrant today" with "the substitute isn't a threat." What happens: seeing that JustSearchOnGoogle doesn't share a quadrant with Mercado, the team concludes it can stop paying attention to it entirely. Why it happens: the openSpace: true result reads like a final, permanent verdict, instead of a snapshot of the current moment. How to spot it: if your competitive monitoring plan doesn't include periodically checking whether the substitute is moving quadrants, you're treating a snapshot as if it were a guarantee. How to fix it: remember that this is exactly the topic of the next lesson — a player that's far away today can close the gap fast, and the substitute with the most attention on the whole roster is precisely the one most worth watching closely.
Exercises
Exercise 1 — Estimate the attentionShare for your own context. Think of a product or app you use regularly (it doesn't have to be Mercado). Name its most important substitute competitor in the form of "doing nothing" or "solving it with no product at all," and estimate —roughly, without looking up real data— what percentage of a typical user's attention that substitute captures versus the product itself.
See solution
There's no single correct answer — the exercise evaluates the reasoning, not the number. A valid example: for a language-learning app, the substitute "doing nothing / keep postponing it" probably captures more attention (in terms of days the person doesn't even open the app) than any competing app — the real rival to Duolingo, following this logic, isn't Babbel, it's the user's inertia. What matters in the exercise is recognizing that almost any product has a "doing nothing" substitute bigger than its team usually admits.
Exercise 2 — Recalculate the roster without JustSearchOnGoogle. Run competitiveMap with lesson 3's complete roster (MegaStoreGenerico, SuperTiendaExpress, TiendasLocalesOnline, NicheHandmadeMarketplace), but without JustSearchOnGoogle. Predict whether openSpace changes, then verify.
See solution
openSpace is still true — without JustSearchOnGoogle, no other player on the roster occupied Mercado's 'curated / broad' quadrant anyway. This is exactly the dangerous part of this mistake: removing the substitute doesn't change the 2×2 map's result (because it shares a quadrant with MegaStoreGenerico, not with Mercado), so a team that ignores it won't notice any immediate error in its positioning analysis. The real damage of ignoring it doesn't show up in the 2×2 map — it shows up in the attentionShare table, where the substitute is, by a wide margin, the biggest player. Two different questions, two different tools — and that's exactly why this lesson runs both.
Exercise 3 — Present the finding to a skeptical team. A growth team insists that "our problem is MegaStoreGenerico, not some generic search engine that isn't even competition." Write, in a paragraph, how you would present this lesson's attentionShare table to shift the focus of the conversation, without sounding like you're inventing a threat out of thin air.
See solution
A sample answer: "I'm not saying MegaStoreGenerico doesn't matter — in fact, it captures 30% of purchase attention, second place in the table. What I'm saying is that, per this same estimate, there's something capturing even more: 35%, more than any named competitor, goes to someone who simply searches on Google instead of opening any marketplace. It's not that it's 'not competition' — it's silent competition, the kind that doesn't send out press releases or raise a funding round, and that's exactly why it's the easiest one to miss on our radar. I'm not asking us to stop watching MegaStoreGenerico — I'm asking that half of that energy go toward understanding why so many people choose not to open any marketplace yet, and what specific friction is letting them get away with it."
Summary and next step
This lesson gave a name and a size to the competitor almost no team mentions: "doing nothing," in the concrete form of JustSearchOnGoogle. The attentionShare table showed that this substitute captures more attention than any named, logoed competitor — and competitiveMap confirmed, at the same time, that its strategic position on the 2×2 map doesn't change because of that: it shares ground with MegaStoreGenerico, not with Mercado, at least for now.
Before moving on you should be able to: name the "doing nothing" substitute for any product you analyze, and explain why its threat size and its position on the 2×2 map are two different questions that require two different tools.
That last phrase —"at least for now"— is exactly the door into lesson 5: the map you've built so far is a snapshot of today. The next lesson asks how solid that snapshot is three years from now.
Resources
- Clayton Christensen, Scott Cook, and Taddy Hall, "Marketing Malpractice: The Cause and the Cure" — hbr.org/2005/12/marketing-malpractice-the-cause-and-the-cure. This lesson's reference article: the milkshake study shows, with real McDonald's data, that "buying nothing" (or buying something completely different, like a banana) can be a product's dominant competitor, without anyone having anticipated it. In English.
- Michael Porter, "The Five Competitive Forces That Shape Strategy" — hbr.org/2008/01/the-five-competitive-forces-that-shape-strategy. Porter explains why the threat of substitutes tends to be the most underrated of the five competitive forces, precisely because it doesn't look like "competition" in the traditional sense. In English.