Module 4: Differentiation And Value Prop

The Value Proposition Canvas, applied to Mercado

Description

So far you've built three separate pieces: the differentiation map (lesson 2), the value proposition statement (lesson 3), and a notion of how sustainable each advantage is (lesson 5). The Value Proposition Canvas, the framework Alexander Osterwalder and his team created at Strategyzer, is the industry-standard tool for organizing exactly those pieces into a single diagram with two halves facing each other.

The left half is the customer profile: the jobs that customer is trying to get done, the pains (friction, fears, obstacles) they face trying to do it, and the gains (outcomes, benefits) they expect to get. The right half is the value map: what your product offers, organized into pain relievers (what eases each friction) and gain creators (what produces each expected outcome). The complete canvas "fits" when every important element on the left side has a concrete answer on the right side — and this lesson adds the step most teams skip: verifying, with differentiationMap, whether that answer is a real advantage or just an element that meets the bar, without setting you apart from anyone.

Connection to the module. None of what you need for the canvas is new: the customer profile comes from the segment and job you already defined in module 3; the value map and its audit come from lesson 2's differentiation map. This lesson adds no information — it organizes it into the format you'll recognize on any product team that uses this vocabulary.

An everyday analogy: the mechanic's diagnosis

A good mechanic doesn't start by telling you what repairs they do — they start by asking what's wrong with the car: a strange noise when braking, a vibration on turns, air conditioning that no longer cools. That's the diagnosis: the concrete symptoms, in the customer's words. Only afterward does the mechanic connect each symptom to a specific repair from their shop: new brake pads for the noise, alignment for the vibration, a refrigerant refill for the AC.

Now notice something anyone who's taken a car to a shop knows from experience: an oil change, a basic brake check, and a wheel alignment are repairs any decent shop on the block does just as well — it's the trade's table stakes. What makes you choose one shop over another, when the car is imported or has an uncommon problem, is the specialized diagnostic scanner only that shop has, or the mechanic who's specialized in exactly that brand for fifteen years. The Value Proposition Canvas is, literally, that diagnosis sheet: symptoms on one side, repairs on the other — and this lesson teaches you to mark, in the repairs column, which ones are "oil change" (necessary, but not what chooses you) and which ones are "the scanner only you have."

Worked example: Mercado's canvas, audited

We build the canvas for the browsing buyer's side — module 3's segment — and, for each element of the value map, verify against the already-computed differentiation map whether it's a real lever or just a necessary element.

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,
    };
  });
}

const mercado = {
  name: 'Mercado',
  scores: { catalogBreadth: 3, price: 3, deliverySpeed: 4, curatedDiscovery: 5, localSellerTrust: 5 },
};
const genericMegastore = {
  name: 'genericMegastore',
  scores: { catalogBreadth: 5, price: 5, deliverySpeed: 4, curatedDiscovery: 2, localSellerTrust: 2 },
};
const neighborhoodShop = {
  name: 'neighborhoodShop',
  scores: { catalogBreadth: 1, price: 3, deliverySpeed: 2, curatedDiscovery: 3, localSellerTrust: 3 },
};
const dimensions = [
  { key: 'catalogBreadth', matters: false },
  { key: 'price', matters: false },
  { key: 'deliverySpeed', matters: true },
  { key: 'curatedDiscovery', matters: true },
  { key: 'localSellerTrust', matters: true },
];
const map = differentiationMap(mercado, [genericMegastore, neighborhoodShop], dimensions);
const verdictOf = (key) => map.find((r) => r.dimension === key).verdict;

// Mercado's Value Proposition Canvas (browsing buyer's side).
const valuePropCanvas = {
  customerProfile: {
    jobs: ['discover products they didn\'t know they were looking for', 'buy from someone they trust'],
    pains: ['getting lost among thousands of results with no help', 'not knowing whether the seller delivers on their promise'],
    gains: ['finding something they love without searching for it by name', 'feeling like the seller is a real, trustworthy person'],
  },
  valueMap: [
    { item: 'editorial curation + interest-based recommendations', reliefFor: 'getting lost among thousands of results', dimension: 'curatedDiscovery' },
    { item: 'verified local seller profiles', reliefFor: 'not knowing whether the seller delivers', dimension: 'localSellerTrust' },
    { item: '48h delivery', reliefFor: 'waiting too long', dimension: 'deliverySpeed' },
  ],
};

console.log('=== Auditing the Value Proposition Canvas against differentiationMap ===\n');
for (const v of valuePropCanvas.valueMap) {
  const verdict = verdictOf(v.dimension);
  const isLever = verdict === 'differentiation';
  console.log(`"${v.item}" (${v.dimension}) -> ${verdict} ${isLever ? '=> real lever of the value proposition' : '=> necessary, but not what chooses us (table stakes)'}`);
}

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

=== Auditing the Value Proposition Canvas against differentiationMap ===

"editorial curation + interest-based recommendations" (curatedDiscovery) -> differentiation => real lever of the value proposition
"verified local seller profiles" (localSellerTrust) -> differentiation => real lever of the value proposition
"48h delivery" (deliverySpeed) -> parity => necessary, but not what chooses us (table stakes)

All three value-map elements honestly ease a real pain from the customer profile — on that, Strategyzer is right: it isn't enough to have a feature, it has to ease something specific the customer feels. But the audit reveals something the canvas, on its own, doesn't distinguish: two of the three elements are real differentiation (nobody else does it as well), and the third — "48h delivery" — is necessary for the fit to work (if you didn't deliver on time, the "waiting too long" pain would stay open), but it isn't what makes someone choose you over the generic giant, which delivers just as fast. A well-filled canvas tells you what solves each pain; only the differentiationMap audit tells you which of those solutions is exclusively yours.

Going deeper: how to use the canvas well (and how to ruin it)

A Value Proposition Canvas's fit — the signal that the right side genuinely answers the left side — is a necessary condition, but not a sufficient one. You can have a perfect fit (every pain has its pain reliever, every gain has its gain creator) with a product that, per the differentiation map, sets you apart from nobody — because your rivals solve the exact same pains with the same quality. Fit answers "do we solve the customer's problem?"; this lesson's audit answers "do we solve it better than the alternatives, on what the customer cares about?" Both questions are necessary, and only one of the two — the second — is this module's topic.

There's a second trap, more human than technical, and April Dunford names it precisely in her work on positioning: teams often have differentiation blind spots — not because the product lacks real advantages, but because different parts of the company (product, sales, support, the founder) perceive different advantages, and no conversation brings them together into a single document. A Value Proposition Canvas filled out solely by the product team, without input from whoever talks every day to customers who almost didn't buy (sales) or to those who did buy and afterward had a problem (support), risks naming pain relievers that sound good in the product room but that nobody in the real world recognizes as the reason they chose the product.

Common mistakes

Filling out the canvas once and never revisiting it. What happens: the canvas gets completed in a strategy workshop, stays saved in a presentation, and keeps getting cited two years later without anyone having looked at it again — while the differentiation map backing it (lesson 5) has already changed completely. Why it happens: a finished document feels like closed work, and revisiting it has no obvious trigger, same as with the differentiation map. How to spot it: if you can't remember the last time someone questioned whether a pain reliever on the canvas was still real differentiation (and not already parity, per lesson 5), the canvas is outdated. How to fix it: every time you recalculate differentiationMap — after a rival's major launch, as in lesson 5 — rerun the canvas audit on the same elements, not just the map.

Turning the value map into a list of the entire product. What happens: the right side of the canvas ends up with eight or ten elements — every product feature, without exception — instead of the two or three that genuinely solve the segment's most important pains and gains. Why it happens: it's the same mistake from lesson 3 (the value proposition as a feature list), now disguised as "methodology" because it has an official diagram behind it — feeling rigorous isn't the same as being precise. How to spot it: if your value map has more elements than your customer profile has pains and gains combined, you probably included things that answer no specific customer symptom. How to fix it: every value-map element must point, with an explicit line like reliefFor in the worked example, to a named pain or gain — if you can't draw that line, the element doesn't belong on the canvas.

Filling out the canvas with only product's perspective. What happens: the canvas gets completed exclusively by the product team, with no input from sales, support, or the founder — the four voices that, per April Dunford's work on "differentiation blindness," tend to see different advantages of the same product. Why it happens: product is, almost always, who organizes the exercise, and it's faster to fill it out in a single session with the team already in the room. How to spot it: if nobody from sales or support was in the room when the value map got filled out, real pain relievers are probably missing that the product team doesn't even know exist, because whoever talks to customers sees them every day. How to fix it: before considering the canvas finished, explicitly ask sales and support: "what do you tell an undecided customer that we didn't put here?" — something real the product team hadn't named almost always shows up.

Exercises

Exercise 1 — Predict before running. Someone proposes adding a fourth element to the value map: "competitive pricing across every category," tied to the price dimension. Without running anything, use this lesson's own differentiation map to predict the verdict, and explain why this element is, in fact, worse than "necessary but not differentiating" — it's directly an element that shouldn't be on the canvas at all.

See solution

verdictOf('price') returns 'gap', not 'parity': Mercado loses to the generic giant on price by a full two points (3 against 5), and that dimension doesn't matter to the browsing segment (matters: false). It isn't just "not a differentiator" — it's a claim that isn't even true: Mercado doesn't have competitive pricing against the generic giant. Including this element on the value map doesn't just waste space on something that chooses nobody (as would happen with a real parity) — it actively promises something the audit proves false. It's the same mistake as candidate A from lesson 3, now inside the canvas format.

Exercise 2 — Find the blind spot. Imagine Mercado's support team tells you: "Buyers who call after a bad experience almost always mention that what they value most, once we solve their problem, is that the local seller responds directly over chat, with no bot in between." This pain reliever wasn't on the worked example's canvas. Which customer-profile pain should it tie to (reliefFor), and which differentiation-map dimension does it best correspond to: localSellerTrust, deliverySpeed, or none of the existing ones?

See solution

It ties best to the pain "not knowing whether the seller delivers on their promise" — direct, human access to the seller is, precisely, what makes trust tangible, not just an abstract promise of "verified sellers." In terms of dimension, it corresponds to localSellerTrust: it's a more concrete manifestation of the same advantage you already had mapped, not a new dimension. This is exactly the kind of finding that shows up when support gets involved — the blind spot this lesson's common mistake mentions: it doesn't change the differentiation map, but it does make the value proposition more specific and more credible, with a concrete example a buyer can picture.

Exercise 3 — Build your own canvas. Choose a product or tool you use at work. Write, following the worked example's format, a minimal customer profile (one job, one pain, one gain) and a two-element value map with its reliefFor. For each value-map element, indicate — without needing exact scores — whether you think it would be differentiation, parity, or gap against that tool's strongest alternative.

See solution

There's no single correct answer — the exercise evaluates whether you can apply the complete structure (profile + map + reliefFor + estimated verdict) to your own case. The sign the exercise went well: if at least one of your value map's two elements, thought through honestly, turns out to be parity instead of differentiation — that's the sign you're genuinely auditing, not just confirming what you already believed about the tool.

Summary and next step

The Value Proposition Canvas organizes, into two halves, what you already knew: the customer profile (jobs, pains, gains) comes from module 3's segment, and the value map gets audited with this module's same differentiationMap. The canvas's fit — that every pain has its pain reliever — is necessary but not sufficient: you saw, in the worked example, that "48h delivery" honestly solves a real pain and yet is table stakes, not differentiation, because the generic giant delivers just as fast.

Before moving on you should be able to: build a minimal Value Proposition Canvas for any product; and audit every element of its value map against a differentiation map, instead of assuming "solving a pain" is the same as "differentiating by solving it."

Lesson 7 puts everything you've built so far to the test with a harder case: a team that arrives with three "differentiators" it's proud of, and only one survives the full audit.

Resources