Module 3: Target And Positioning

What positioning IS

Description

You already know how to choose a segment and name it by its job. What's missing is the second half of the module's title: what are you, in that segment's head, compared to everything else they could choose? That's the question positioning answers — and the right answer surprises most technical teams, used to thinking of "better" as a sum of points on a feature comparison table. Positioning isn't "who scores more by adding up every column" — it's what specific category you occupy in your segment's mind, so clearly that when they think about that job, they think of you first, with no need to compare anything.

This lesson demonstrates it with an experiment that's uncomfortable for any engineer: we take the real Mercado — strong on one dimension (curatedDiscovery: 9), weak on the rest — and compare it against a hypothetical version, "Mercado, generalist," with the same score (7) across all six dimensions, with no obvious weak point. In a product review, the generalist version sounds safer: "it has no clear weakness." positionFit, run on both, says the opposite.

Connection to the module. Lessons 2 through 4 focused on choosing the segment well. This lesson takes the mandatory next step: once the segment is chosen, positioning decides how you invest your limited resources within the dimensions that segment values — concentrated on one, or spread evenly across all of them. Lesson 6 takes this idea and turns it into a written, verifiable sentence: the positioning statement.

An everyday analogy: the word you earned

When someone mentions "the search engine," almost anyone in the world thinks of the same name, without hesitating. When someone mentions "the professional social network," there's also a name that comes up on its own, with no real mental competition. Those brands didn't earn that word by being reasonably good at twenty things at once — they earned that word by being, for years, obsessively better than anyone else at one single thing, until that thing and that brand became, in people's minds, practically synonymous. Nobody remembers a brand for being "solid overall" — people remember a brand for the specific word that brand earned.

Positioning is exactly that bet: choosing which word you're going to own in your segment's head, and then investing disproportionately in earning it, even if that means being visibly weak on other dimensions that, for THAT segment, matter less. A brand that tries to "be good at everything, with no weaknesses" never wins any word — it stays "a decent option," which is exactly the place nobody thinks of first.

Worked example: the advantage of having a clear weakness

We run positionFit twice for the same segment (explorers), comparing the real Mercado — spiky, strong on one dimension and weak on the rest — against a hypothetical "generalist Mercado" that spreads exactly the same total capacity, but evenly: a solid 7 across all six dimensions, with no visible low point.

function positionFit(target, product, alternatives) {
  const dims = Object.keys(target.weights).filter((d) => target.weights[d] > 0);
  const weightedScore = (c) => dims.reduce((sum, d) => sum + target.weights[d] * c.scores[d], 0);
  const productScore = weightedScore(product);
  const rivals = alternatives.map((a) => ({ name: a.name, score: weightedScore(a) }));
  const bestRival = rivals.reduce((a, b) => (b.score > a.score ? b : a));
  const byDimension = dims.map((d) => {
    const rivalBest = alternatives.reduce(
      (best, a) => (a.scores[d] > best.score ? { name: a.name, score: a.scores[d] } : best),
      { name: alternatives[0].name, score: -Infinity }
    );
    return { dimension: d, weight: target.weights[d], productScore: product.scores[d], bestRivalScore: rivalBest.score, bestRivalName: rivalBest.name, wins: product.scores[d] > rivalBest.score };
  });
  return { segment: target.name, productWeightedScore: Number(productScore.toFixed(2)), bestRival: bestRival.name, bestRivalWeightedScore: Number(bestRival.score.toFixed(2)), fitsSegment: productScore > bestRival.score, byDimension };
}

const mercado = { name: 'Mercado', scores: { curatedDiscovery: 9, sellerTrust: 8, catalogBreadth: 6, price: 5, deliverySpeed: 5, convenience: 6 } };
// Same total effort, spread evenly: a solid 7 across everything, no visible weakness.
const mercadoGeneralist = { name: 'Mercado (generalist, no category ownership)', scores: { curatedDiscovery: 7, sellerTrust: 7, catalogBreadth: 7, price: 7, deliverySpeed: 7, convenience: 7 } };
const genericMegastore = { name: 'genericMegastore', scores: { curatedDiscovery: 3, sellerTrust: 4, catalogBreadth: 9, price: 8, deliverySpeed: 9, convenience: 8 } };
const localShop = { name: 'localShop', scores: { curatedDiscovery: 6, sellerTrust: 9, catalogBreadth: 2, price: 4, deliverySpeed: 3, convenience: 3 } };
const alternatives = [genericMegastore, localShop];

const explorers = { name: 'explorers', weights: { curatedDiscovery: 0.4, sellerTrust: 0.3, catalogBreadth: 0.1, price: 0.1, deliverySpeed: 0.05, convenience: 0.05 } };

console.log('=== positionFit: real Mercado (spiky) for explorers ===\n');
const r1 = positionFit(explorers, mercado, alternatives);
console.log(`segment: ${r1.segment} | productWeightedScore: ${r1.productWeightedScore} | bestRival: ${r1.bestRival} (${r1.bestRivalWeightedScore}) | fitsSegment: ${r1.fitsSegment} | margin: ${(r1.productWeightedScore - r1.bestRivalWeightedScore).toFixed(2)}`);

console.log('\n=== positionFit: generalist Mercado (even 7) for explorers ===\n');
const r2 = positionFit(explorers, mercadoGeneralist, alternatives);
console.log(`segment: ${r2.segment} | productWeightedScore: ${r2.productWeightedScore} | bestRival: ${r2.bestRival} (${r2.bestRivalWeightedScore}) | fitsSegment: ${r2.fitsSegment} | margin: ${(r2.productWeightedScore - r2.bestRivalWeightedScore).toFixed(2)}\n`);
console.table(r2.byDimension.map((d) => ({ dimension: d.dimension, weight: d.weight, product: d.productScore, bestRival: `${d.bestRivalName}:${d.bestRivalScore}`, wins: d.wins })));

What to expect. Running the file with Node, the output is exactly this:

=== positionFit: real Mercado (spiky) for explorers ===

segment: explorers | productWeightedScore: 7.65 | bestRival: localShop (6) | fitsSegment: true | margin: 1.65

=== positionFit: generalist Mercado (even 7) for explorers ===

segment: explorers | productWeightedScore: 7 | bestRival: localShop (6) | fitsSegment: true | margin: 1.00

┌─────────┬────────────────────┬────────┬─────────┬──────────────────────┬───────┐
│ (index) │     dimension      │ weight │ product │      bestRival       │ wins  │
├─────────┼────────────────────┼────────┼─────────┼──────────────────────┼───────┤
│    0    │ 'curatedDiscovery' │  0.4   │    7    │    'localShop:6'     │ true  │
│    1    │   'sellerTrust'    │  0.3   │    7    │    'localShop:9'     │ false │
│    2    │  'catalogBreadth'  │  0.1   │    7    │ 'genericMegastore:9' │ false │
│    3    │      'price'       │  0.1   │    7    │ 'genericMegastore:8' │ false │
│    4    │  'deliverySpeed'   │  0.05  │    7    │ 'genericMegastore:9' │ false │
│    5    │   'convenience'    │  0.05  │    7    │ 'genericMegastore:8' │ false │
└─────────┴────────────────────┴────────┴─────────┴──────────────────────┴───────┘

Both versions of Mercado win the segment (fitsSegment: true in both) — but look at the margin. The real Mercado wins by 1.65. The generalist Mercado, with the same total investment spread differently, wins by only 1.00 — 40% less margin — and it still wins on the exact same single dimension that matters (curatedDiscovery), just with less of an edge over localShop (7 against 6, instead of 9 against 6). The generalist Mercado "has no weaknesses" in the sense that it never scores below 7 on anything — and precisely because of that, it also has no real strength on the one dimension this segment weighs at 40%. Spreading the same total capacity evenly doesn't make you safer — it makes you mediocre exactly where it would benefit you most to be extraordinary.

This is positioning in one executed sentence: you don't win by adding up points across every column — you win by owning, with a disproportionate edge, the one column your segment looks at first. The real Mercado "owns" curatedDiscovery in a way no rival comes close to (9 against the second-best's 6). The generalist Mercado owns nothing — it's simply "decent at everything," which, in the head of a buyer comparing options, isn't a memorable category of anything.

Going deeper: positioning isn't "being the best," it's "being the only one in your category"

A common confusion, especially among technical teams trained to optimize aggregate metrics, is thinking positioning's goal is to maximize the total productWeightedScore. It isn't. The goal is that, when someone in your segment thinks about the job you solve, your name comes up alone, with no need to actively compare against anyone else — because they already know, in advance, that in that specific category there's no better option. That's different from "winning the total sum": you can have a higher productWeightedScore than a rival and still own no clear category in anyone's mind, if your advantage is spread out in small fragments everywhere instead of concentrated in one recognizable place.

The category Mercado owns, per this module's data, isn't "marketplace" in general — that category is already owned, in most people's minds, by the generic megastore. It's something narrower and more winnable: "the place where I find something I didn't know I was looking for, with the trust of a local seller." That sentence, not the sum of points, is what lesson 6 is going to turn into a formal positioning statement — and what lesson 7 is going to warn you not to dilute by also trying to own the leader's category.

Common mistakes

Positioning by a feature list instead of by the job you solve best. What happens: the positioning proposal gets written as a list of technical capabilities ("we have AI recommendations, one-click checkout, a loyalty program, live chat") instead of naming a single clear category the segment recognizes. Why it happens: for an engineering team, it's natural to think of the product as the sum of its features — each one represents real work, and listing them feels like demonstrating value. How to spot it: if your positioning needs more than one sentence to explain itself, or if that sentence is a list instead of a category, you probably described features, not a position. Compare it with the worked example: the generalist Mercado, "good at everything," is this trap turned into a number — lots of capacity, no category of its own. How to fix it: instead of listing features, complete the sentence "we are the [category] for [segment] who [job]" — if that sentence needs a feature list to sound convincing, you still don't have a positioning, you have a changelog.

Believing winning more dimensions automatically means better positioning. What happens: it gets celebrated that a product "has no clear weaknesses" or that it wins more columns on a comparison table than last quarter, without asking whether those wins are concentrated where the segment actually looks first. Why it happens: a table with more green cells looks, visually, like obvious progress — it's easier to communicate in a meeting than "we concentrated more advantage on a single dimension and deliberately lost ground on four others." How to spot it: you saw the executed result — the generalist Mercado wins the same number of dimensions as the real Mercado (one), but with less total margin. "Winning more columns" wasn't even the pattern that separated the two: what mattered was concentrating the advantage on the right column. How to fix it: when evaluating a product decision, ask not "does this improve more dimensions?" but "does this deepen our advantage on the dimension our segment weighs most, even if it sacrifices others they barely care about?"

Not distinguishing "winning the total score" from "owning a recognizable category". What happens: the team measures positioning success solely by whether fitsSegment returns true, without asking whether there's a word or short phrase the segment immediately associates with the product, with no comparison needed. Why it happens: true/false is a binary, satisfying signal — it feels like a complete verdict, when it actually only confirms the product wins on average, not that it occupies a memorable place in anyone's mind. How to spot it: ask someone outside the team, with no context, "what do you think of when you think of discovering something new to buy?" — if the answer doesn't include your product, a fitsSegment: true in your own internal analysis doesn't yet mean you've won the category in anyone's real mind. How to fix it: use positionFit as a necessary but not sufficient test — confirm the product wins with the data, and complete it with lesson 6's qualitative question: is there a short, memorable sentence that captures that win?

Exercises

Exercise 1 — Diagnose the pattern without running code. A third hypothetical product, "ultra-focused Mercado," has these scores: { curatedDiscovery: 10, sellerTrust: 5, catalogBreadth: 3, price: 3, deliverySpeed: 3, convenience: 3 } — even more concentrated than the real Mercado. Without calculating the exact number, predict: for the explorers segment, would its margin over localShop be bigger, smaller, or similar to the real Mercado's margin (1.65)? Justify with this lesson's pattern.

See solution

It would be bigger. curatedDiscovery carries the highest weight (0.4) of the six dimensions, and this product pushes that dimension from 9 to 10 (more edge over localShop, still at 6), sacrificing the low-weight dimensions even further. Following the worked example's pattern — concentrating more on the highest-weight dimension increases the margin, spreading evenly reduces it — "ultra-focused Mercado" should win by an even bigger margin than 1.65, even though its individual scores on the other five dimensions are lower than the real Mercado's. You can confirm it by calculating: 0.4×10 + 0.3×5 + 0.1×3 + 0.1×3 + 0.05×3 + 0.05×3 = 4 + 1.5 + 0.3 + 0.3 + 0.15 + 0.15 = 6.4. Wait — this calculation gives 6.4, lower than 7.65. Check your intuition: concentrating helps only up to the point where you don't collapse the low-but-not-zero-weight dimensions too much, like sellerTrust (weight 0.3, the second most important) — dropping it from 8 to 5 costs more than the gain from 9 to 10 in curatedDiscovery makes up for. The real lesson of the exercise: concentrating helps, but only if you concentrate on the right dimension without neglecting the second-heaviest dimension — positioning isn't "everything on one thing," it's a complete hierarchy of priorities, not a single winner.

Exercise 2 — Find the category in one sentence. Using the worked example's result (Mercado owns curatedDiscovery at 9 against the second-best's 6, backed by sellerTrust at 8), write a short positioning sentence (under 15 words) an explorers buyer could remember effortlessly, without using the word "marketplace."

See solution

A reasonable version: "The place where you find something you didn't know you were looking for, from someone you trust." It passes the lesson's test: it's short, it names the category (a discovery place, not a search engine or a discount store), and it connects to the second-heaviest dimension (sellerTrust, "from someone you trust") without diluting itself into a feature list. Any sentence mentioning price, speed, or catalog variety would be competing, unnecessarily, on dimensions where Mercado is weaker and where the explorers segment barely values them.

Exercise 3 — Defend the deliberate weakness. A product coworker sees Mercado scoring only 5 on price and 5 on deliverySpeed, and proposes a project to "raise those numbers and have no visible weakness." Using the worked example's result (generalist Mercado vs. real Mercado), write in 2-3 sentences why that proposal, applied carelessly, could weaken Mercado's positioning instead of strengthening it.

See solution

An example answer: "We already ran that experiment: a Mercado with even scores of 7 across everything, instead of 9 on discovery and 5 on price, wins the explorers segment by a smaller margin — 1.00 instead of 1.65 — even though it 'has no weaknesses.' If raising price and deliverySpeed means pulling engineering investment away from curatedDiscovery or sellerTrust — the two dimensions this segment actually weighs heavily — we'd end up looking more like the generalist Mercado than the Mercado that clearly wins. If we can raise price and speed WITHOUT touching our two main strengths, let's go for it — but the goal should never be 'have no weaknesses,' because a clear weakness on a low-weight dimension is, for this segment, almost free."

Summary and next step

Positioning isn't winning the total score sum against the alternatives — it's owning, with a disproportionate edge, the specific category your segment looks at first, even if that means being visibly weak on dimensions that segment barely cares about. You saw, executed, that a "no weaknesses" Mercado (an even 7 across everything) wins with a smaller margin than the real Mercado (9 on discovery, weak on the rest) — spreading the same total capacity evenly produces a product that looks safer and is weaker on the category that actually counts.

Before moving on you should be able to: distinguish "winning the total score" from "owning a recognizable category in the segment's mind"; and explain why a clear weakness, on the right dimension, can be part of good positioning instead of a defect to fix.

Lesson 6 takes this idea of an owned category and turns it into a written, verifiable tool: the positioning statement, using the template Geoffrey Moore and April Dunford popularized, applied to Mercado and tested, again, with positionFit.

Resources

  • April Dunford, Obviously Awesomeaprildunford.com/books. The entire book starts from this same distinction: positioning isn't "being the best product," it's finding the competitive context where your real strengths become obviously relevant. In English.
  • Geoffrey Moore, Crossing the Chasmgeoffreyamoore.com/book/crossing-the-chasm. Moore insists that strong positioning for a narrow beachhead beats weak positioning for a broad market — the same pattern you saw executed with the generalist Mercado. In English.
  • Clayton M. Christensen and Taddy Hall, "Know Your Customers' Jobs to Be Done" — hbr.org/2016/09/know-your-customers-jobs-to-be-done. The category you own in the segment's mind is directly tied to the job that segment hires you to solve, not to a list of capabilities. In English.
  • Marty Cagan (SVPG), "Product Market Fit" — svpg.com/product-market-fit. Cagan warns against the same "generalist with no weaknesses" mistake: a product that tries to serve everyone rarely achieves the strong fit a specific segment does allow. In English.