station

S2 · Market intel

playbook/S2-market-intel.md

S2 — Market & Competitive Intel (J2–3)

Objectif : connaître le terrain mieux que les concurrents eux-mêmes. Faire émerger LE wedge inattaquable.

Durée

2 journées (J2 = market sizing + concurrence directe ; J3 = concurrence indirecte + positioning + unfair angle).

Inputs

  • Output S1 : one-pager YC-style + ICP narrow
  • Outils MCP : Ahrefs (Site Explorer, Keywords Explorer, Brand Radar AI), Notion (capture), Web (Reddit, G2, Capterra, LinkedIn)
  • Le contexte sectoriel (mode_pilier de l'idea card si déjà mappé)

Output (livrables verrouillés)

  • runs/{sprint}/02-market-intel.md — narrative MD
  • Section s2_market_intel dans startup.json (data structurée)

Critères de verrouillage (TOUS requis)

  1. TAM/SAM/SOM chiffrés avec sources — pas de vague "marché de plusieurs milliards" ; chaque chiffre a une source citée et une méthode (top-down ou bottom-up). SOM bottom-up obligatoire.
  2. 20 concurrents identifiés = 10 directs + 5 indirects + 5 adjacents (palliatifs, outils manuels, SaaS horizontaux utilisés à mauvais escient).
  3. Pour chaque concurrent direct (top 10) : URL, pricing public, position SEO sur 3 mots-clés cibles (Ahrefs), top 3 reviews négatives G2/Capterra/Reddit, dernière levée de fonds connue (Crunchbase / public press).
  4. Un positioning gap clair — une phrase qui décrit où aucun concurrent n'est positionné.
  5. Un unfair angle Martin — comment l'asset Martin (DIRECT) attaque précisément le positioning gap.
  6. Le concurrent qui doit nous tuer — explicitement nommer celui qui a la position la plus dangereuse pour nous et expliquer pourquoi il ne le fera pas dans les 6 mois (slow-moving, focalisé ailleurs, gros incentive misalignment, etc.).

Process

J2 matin — Market sizing (2h)

Top-down (sanity check uniquement) : sources publiques Statista, Gartner, McKinsey reports (Ahrefs Site Explorer trouve les liens). Notez le chiffre + la source + la date.

Bottom-up (la vraie SOM) :

SOM = (# d'ICP atteignables × ACV moyen × % de pénétration à 3 ans)
  • d'ICP atteignables : compté via LinkedIn Sales Nav, annuaires pros, listing public (ex: Booking.com search filtrage). Document la méthode.

  • ACV : déduit du pricing hint S1, validé contre prix concurrents.
  • % pénétration 3 ans : 1–3% est crédible si distribution organique, 5–10% si distribution paid + Martin asset fort.

Si la SOM bottom-up < 1M€/an, STOP : l'idée ne peut pas devenir un vrai SaaS.

J2 après-midi — Concurrence directe (3h)

Identifier 10 concurrents directs. Pour chacun, remplir la fiche :

### {Concurrent}
- URL : {url}
- Pricing : {public ou estimé}
- Positionnement : {1 phrase}
- Funding total : {x€, source}
- Position SEO : {Ahrefs - top kw + position}
- Top 3 reviews négatives :
  1. "{quote}" — {source, date}
  2. ...
- Weakness exploitable : {1 phrase}

Note pratique : pour les pricing cachés ("Contact sales"), chercher dans l'Internet Archive, slidedecks de webinars, ou demander direct via Linkedin DM warm intro.

J3 matin — Concurrence indirecte + adjacente (2h)

  • Indirects (5) : produits qui font le job différemment (ex: pour PreArrival, "Mailchimp + un template manuel" est indirect — pas un SaaS pre-arrival mais résout 30% du job).
  • Adjacents (5) : produits qui pourraient pivoter vers nous (ex: les channel managers qui pourraient ajouter une couche pre-arrival).

J3 après-midi — Positioning gap + unfair angle (3h)

  1. Cartographier les concurrents sur un plan 2 axes. Les deux axes sont les dimensions qui sépare le mieux les concurrents (souvent : vertical-vs-horizontal, hi-touch-vs-self-serve, dev-tool-vs-business-tool, etc.).
  2. Trouver la case vide. C'est le positioning gap.
  3. Vérifier que la case vide est habitable : il y a un ICP qui veut être servi là, le pricing est viable, l'asset Martin permet d'y arriver.
  4. Rédiger l'unfair angle en 1 paragraphe : "Aucun concurrent ne fait X parce que Y. Nous le faisons parce que [Martin asset DIRECT]. Et ils ne pivoteront pas dans 6 mois parce que [Z]."

Prompt canonique (Opus 4.7 thinking)

Tu es S2 Market Analyst d'Atelier. Tu reçois le one-pager YC-style de S1. Tu produis une analyse en 3 parties :

PARTIE 1 — Sizing
- TAM top-down : 1 chiffre, 1 source, 1 date.
- SOM bottom-up : formule explicite (# ICP × ACV × % pénétration), chaque variable sourcée. STOP si SOM < 1M€/an.

PARTIE 2 — Matrice compétitive 20 concurrents (10 directs + 5 indirects + 5 adjacents)
Pour chaque direct (top 10) : URL, pricing, positioning 1-phrase, funding, position SEO Ahrefs, 3 reviews négatives sourcées, weakness exploitable 1-phrase.

PARTIE 3 — Positioning gap + unfair angle
- Plan 2 axes (nommer les axes, placer les 20 concurrents).
- Case vide identifiée + ICP qui veut être servi là.
- Unfair angle : 1 paragraphe (gap + pourquoi nous + pourquoi pas eux dans 6 mois).

Idée + one-pager :
<input>
{startup_json_s1}
</input>

Outils à utiliser :
- Ahrefs MCP (site-explorer, keywords-explorer, brand-radar-ai-responses) pour SEO et brand mentions
- WebSearch pour Reddit/G2/Capterra reviews
- VibeProspecting MCP pour comptage ICP

Format de sortie : Markdown structuré + JSON de la matrice 20 concurrents.

Anti-patterns

  • "Pas de concurrent direct" = STOP. Soit tu cherches mal, soit le marché n'existe pas. Trouve des concurrents même imparfaits — ils valident le pain.
  • TAM en milliards sans bottom-up SOM → bullshit. SOM > TAM (en pertinence). Toujours.
  • Reviews négatives copiées-collées sans source → ré-écris depuis G2/Capterra avec URL + date.
  • "On va prendre 10% du marché en 3 ans" → délire. 1–3% organique, 5–10% paid agressif, point.
  • Positioning gap = "on est mieux que X" → faux gap. Le vrai gap est une case vide sur 2 axes, pas une amélioration linéaire.

Lien S3

L'unfair angle (1 paragraphe) devient l'input direct du naming : un bon nom de marque doit incarner l'unfair angle, pas le produit. Le positioning gap devient le seed des frameworks de naming (compound name basé sur les 2 axes, metaphor name basé sur l'archétype du gap, etc.).

Update startup.json (après S2)

{
  "current_station": "S3",
  "s2_market_intel": {
    "completed_at": "<iso8601>",
    "doc": "02-market-intel.md",
    "tam_sam_som": { "tam_eur": "...", "sam_eur": "...", "som_eur": "...", "method": "..." },
    "competitors": [ {...20 items} ],
    "positioning_gap": "...",
    "unfair_angle": "...",
    "competitor_to_watch": "..."
  }
}