{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019dd923-5de0-76bd-a168-29079190b36a",
  "slug": "51c796a55b6e7200",
  "title": "Grocery profitability outlook –Europe",
  "subtitle": "McKinsey",
  "author": "McKinsey",
  "pageCount": 53,
  "kind": "consulting-deck",
  "orientation": "landscape",
  "aspectRatio": 1.778,
  "document": {
    "id": "019dd923-5de0-76bd-a168-29079190b36a",
    "slug": "51c796a55b6e7200",
    "title": "Grocery profitability outlook –Europe",
    "rawTitle": "Grocery profitability outlook –Europe",
    "authorId": "McKinsey",
    "authorName": "McKinsey",
    "authorDisplay": "McKinsey",
    "kind": {
      "slug": "consulting-deck",
      "label": "Consulting deck"
    },
    "sourceType": {
      "slug": "strategy_consulting",
      "label": "Strategy consulting"
    },
    "fileName": "b90ab6d3-a451-4cec-9e0d-df787d4cc5fa.pdf",
    "sourceUrl": "https://pubblestorage.blob.core.windows.net/07cd7300/customer/embed/2025/2/b90ab6d3-a451-4cec-9e0d-df787d4cc5fa.pdf",
    "sourceDate": "2025-01-15 00:00:00",
    "presentationDate": null,
    "ingestedAt": "2026-04-24 07:54:32+00",
    "status": "ready",
    "pageCount": 53,
    "orientation": "landscape",
    "aspectRatio": 1.778,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "local_root": "/tmp/legacy-images/51c796a55b6e7200",
      "origin_corpus": "consulting"
    }
  },
  "coverage": {
    "pageCount": 53,
    "pagesIndexed": 53,
    "pagesWithImages": 53,
    "pagesWithMetadata": 53,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 378,
    "chartCount": 31,
    "metricSlides": 42,
    "toolMatches": 22,
    "documentToolMatches": 0,
    "frameworkMatches": 19,
    "arcMatches": 1,
    "beatMatches": 4,
    "loopMatches": 3,
    "patternMatches": 0,
    "storymakersMatch": false,
    "scoreAvailable": true,
    "reviewAvailable": true,
    "activistThesisAvailable": false,
    "pitchdeckMetadataAvailable": false,
    "pitchdeckProfileAvailable": false
  },
  "blocks": [],
  "matches": {
    "arcs": [
      {
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
        "evidence": "The deck follows a clear problem-agitate-solution structure, highlighting the challenges faced by grocers, agitating the problems, and offering solutions to improve profitability.",
        "isPrimary": true,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:13:38.183278+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      }
    ],
    "beats": [
      {
        "to": 9,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 5,
        "name": "Problem",
        "beatId": "0920faf0-f20a-44c2-84ab-1f748b7d7dbd",
        "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
        "beatType": {
          "name": "Problem (Identify pain)",
          "slug": "problem-agitate-solution-problem-identify-pain",
          "status": "active",
          "canonId": "019dd9b8-0e78-74bb-b8f6-54348367a131",
          "version": 1,
          "description": null
        },
        "evidence": "The deck identifies the problem of declining profitability in the grocery industry, highlighting margin pressure and sales decline.",
        "position": 0,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Complication",
          "slug": "complication",
          "status": "active",
          "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
          "version": 1,
          "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
        },
        "alignedBlockIds": null,
        "matchConfidence": 0.8
      },
      {
        "to": 18,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 10,
        "name": "Agitate",
        "beatId": "3e545f00-1a24-48ca-99f0-f6f21d166416",
        "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
        "beatType": {
          "name": "Agitate (Make it worse)",
          "slug": "problem-agitate-solution-agitate-make-it-worse",
          "status": "active",
          "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
          "version": 1,
          "description": null
        },
        "evidence": "The deck agitates the problem by highlighting the impact of macroeconomic conditions and industry dynamics on grocers' margins.",
        "position": 1,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Development",
          "slug": "development",
          "status": "active",
          "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
          "version": 1,
          "description": "The middle stretch in arcs that have one. Often where length problems creep in."
        },
        "alignedBlockIds": null,
        "matchConfidence": 0.8
      },
      {
        "to": 38,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 23,
        "name": "Solution",
        "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
        "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
        "beatType": {
          "name": "Solution (Provide relief)",
          "slug": "problem-agitate-solution-solution-provide-relief",
          "status": "active",
          "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
          "version": 1,
          "description": null
        },
        "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
        "position": 2,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Resolution",
          "slug": "resolution",
          "status": "active",
          "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
          "version": 1,
          "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
        },
        "alignedBlockIds": null,
        "matchConfidence": 0.8
      },
      {
        "to": 53,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 39,
        "name": "Action",
        "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
        "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
        "beatType": {
          "name": "Action",
          "slug": "aida-action",
          "status": "active",
          "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
          "version": 1,
          "description": null
        },
        "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
        "position": 3,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Resolution",
          "slug": "resolution",
          "status": "active",
          "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
          "version": 1,
          "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
        },
        "alignedBlockIds": null,
        "matchConfidence": 0.8
      }
    ],
    "loops": [
      {
        "to": 23,
        "from": 18,
        "loop": {
          "name": "27_cost_of_inaction",
          "slug": "27-cost-of-inaction",
          "status": "active",
          "bestFor": "Urgent budget requests, compliance, risk mitigation",
          "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
          "description": "Quantify what happens if the audience does nothing",
          "familyLabel": null,
          "categoryName": "Urgency",
          "categorySlug": "urgency"
        },
        "matchId": "eb2ec9b2-a814-4908-8e9d-54bbf4b5c245",
        "evidence": "The deck highlights the potential impact of not taking action, with average EBITDA impact ranging from -0.2 to -2.7 pp for hyper/supermarkets.",
        "position": 0,
        "objective": "What if grocers do not take countermeasures to address declining profitability?",
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:13:38.379117+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      },
      {
        "to": 31,
        "from": 25,
        "loop": {
          "name": "40_mece_breakdown",
          "slug": "40-mece-breakdown",
          "status": "active",
          "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
          "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
          "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "cde70213-da08-4d51-b524-8dff1dbebeef",
        "evidence": "The deck provides a detailed breakdown of various levers that grocers can use to improve profitability, such as private label quality, store network reshaping, and COGS reduction.",
        "position": 1,
        "objective": "How can grocers improve profitability through various levers?",
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:13:38.420337+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      },
      {
        "to": 38,
        "from": 34,
        "loop": {
          "name": "47_quick_win_big_bet",
          "slug": "47-quick-win-big-bet",
          "status": "active",
          "bestFor": "Transformation planning, 100-day plans, resource allocation",
          "canonId": "019dd956-790d-708d-983e-ef9bbc68f741",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Full List -> Quick Wins (Low effort, High impact) -> Big Bets (High effort, High impact) -> Sequenced Roadmap",
          "description": "Separate initiatives into immediate wins and longer-term strategic bets",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "e002bfed-f033-476c-bfed-dbcb8e1d569d",
        "evidence": "The deck highlights the potential impact of quick wins and big bets, such as improving private label quality and monetizing retail media, on EBITDA margins.",
        "position": 2,
        "objective": "What are the potential impact of quick wins and big bets on profitability?",
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:13:38.458907+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      }
    ],
    "tools": [
      {
        "tool": {
          "name": "Executive summary",
          "slug": "executive-summary",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4b63-72d5-9734-da757d91ca61",
          "version": 1,
          "bodyDocId": null,
          "description": "A condensed view of the entire argument on a single slide / block.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "69a65c9c-ef7b-4254-8427-fbb4a9dcfc14",
        "evidence": "This slide is titled 'Executive summary' and contains a summary of key points, making it a clear instantiation of an executive summary.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:33:58.893195+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Audience Definition",
          "slug": "audience-definition",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
          "version": 1,
          "bodyDocId": null,
          "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "c61a6912-17f8-4f45-a4f7-c318ce2955e5",
        "evidence": "This slide mentions 'Grocers need to do a step change across a set of levers on growth, operational excellence, transformative change', indicating an understanding of the audience's needs and challenges.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:33:59.033216+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "2x2 matrix",
          "slug": "matrix-2x2",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
          "version": 1,
          "bodyDocId": null,
          "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "841e1aba-1f45-40b0-9eff-fb44086e836d",
        "evidence": "legend: 2023 Revenue = 10 bn €; Supermarket/Hypermarket; Discounter; Delta EBITDA margin = Delta Gross margin",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:33:46.008679+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Waterfall chart",
          "slug": "waterfall-chart",
          "status": "active",
          "bestFor": null,
          "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "57060367-bd38-4cff-8700-c8673283dbb6",
        "evidence": "chart/scatter: Scatter plot of delta EBITDA margin vs delta Gross margin",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:33:45.972147+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "List presentation",
          "slug": "list-presentation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
          "version": 1,
          "bodyDocId": null,
          "description": "Bulleted, numbered, or checklist enumerations.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "681f03a9-f834-4c8e-a762-b8774e3cfa33",
        "evidence": "list/bullet: Aldi: Launched sourcing optimizations, unified international assortment, located suppliers near distribution centers.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:33:46.081722+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "List presentation",
          "slug": "list-presentation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
          "version": 1,
          "bodyDocId": null,
          "description": "Bulleted, numbered, or checklist enumerations.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "cfb0313c-09df-408a-a7f6-f89386730745",
        "evidence": "list/bullet: Launched cost savings program planned to mitigate inflation effects (2022) including: Savings of £1bn through GNFR, property, store and distribution operations; Removal of counters in 317 stores; Store conve",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:33:46.153646+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Executive summary",
          "slug": "executive-summary",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4b63-72d5-9734-da757d91ca61",
          "version": 1,
          "bodyDocId": null,
          "description": "A condensed view of the entire argument on a single slide / block.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "b286ad77-91a7-483c-a0ab-a65e1bd59c1e",
        "evidence": "list/bullet: 1 Looking back: ... are low and under pressure from macro-economics and industry dynamics. Grocery retail EBITDA margins are 7.1% on average (2009-23), significantly below other industries. Hyper/supermarket",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:33:46.226092+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "List presentation",
          "slug": "list-presentation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
          "version": 1,
          "bodyDocId": null,
          "description": "Bulleted, numbered, or checklist enumerations.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "933ec534-7633-4cde-aeb5-9769446e5043",
        "evidence": "list/bullet: 3. New diabetes and obesity drugs (GLP-1): Households with GLP-1 drug users cut overall grocery spending by ~6-11%. With users potentially reaching ~4-9% of the EU population by 2029, this could result in fu",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:33:46.299065+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Table data",
          "slug": "table-data",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4fab-7168-a82f-b847350a006d",
          "version": 1,
          "bodyDocId": null,
          "description": "Tabular layouts of structured data.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "83477b10-4771-41e4-ac4b-5944b8644f72",
        "evidence": "table/data: Table showing 6 trends with their respective outlooks and EBITDA impact ranges.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:33:46.372103+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Executive summary",
          "slug": "executive-summary",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4b63-72d5-9734-da757d91ca61",
          "version": 1,
          "bodyDocId": null,
          "description": "A condensed view of the entire argument on a single slide / block.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "3159d798-fed4-4304-88cd-385daa320ef8",
        "evidence": "list/bullet: 1 Looking back: ... are low and under pressure from macro-economics and industry dynamics. Grocery retail EBITDA margins are 7.1% on average (2009-23), significantly below other industries. Hyper/supermarket",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:33:46.555823+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "List presentation",
          "slug": "list-presentation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
          "version": 1,
          "bodyDocId": null,
          "description": "Bulleted, numbered, or checklist enumerations.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "ad87acf1-e15b-489a-930f-7407e4262f0c",
        "evidence": "list/numbered: 6. Implement AI-based commercial optimization",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:33:46.629082+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 23,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Waterfall chart",
          "slug": "waterfall-chart",
          "status": "active",
          "bestFor": null,
          "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "c4f49584-36c6-43df-b2ec-b447269f4886",
        "evidence": "chart/waterfall: EBITDA hyper/supermarket P&L from 2023 to 2029, as % of revenue",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:33:46.701947+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 24,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Aesthetic-Usability Effect",
          "slug": "aesthetic-usability-effect",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-c150-75ee-9212-183da76c56da",
          "version": 1,
          "bodyDocId": null,
          "description": "Attractive designs are perceived as easier to use and more trustworthy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "7051c412-05c2-42e3-9aff-8857be3078ea",
        "evidence": "The slide mentions creating a premium feeling through visual elements.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:33:46.116188+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 25,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "List presentation",
          "slug": "list-presentation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
          "version": 1,
          "bodyDocId": null,
          "description": "Bulleted, numbered, or checklist enumerations.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "91161e57-91ce-4e1b-9821-5bcae6113984",
        "evidence": "The slide contains a list/bullet component with text describing how Wegmans creates a 'wet market' vibe.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:33:46.073822+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 25,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Waterfall chart",
          "slug": "waterfall-chart",
          "status": "active",
          "bestFor": null,
          "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "fdd431bb-d51b-472c-b838-65938a681ffc",
        "evidence": "The slide contains a waterfall-bridge chart showing P&L impact.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:33:46.194525+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "List presentation",
          "slug": "list-presentation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
          "version": 1,
          "bodyDocId": null,
          "description": "Bulleted, numbered, or checklist enumerations.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "c8d64098-8e7b-4a33-b6e4-370ea7f8c4ca",
        "evidence": "The slide contains list/bullet components with text describing private label and brand strategies.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:33:46.27153+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 27,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Waterfall / value bridge",
          "slug": "waterfall-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019de52d-19c5-727e-8889-b0b361655fca",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "6087adb4-ad4d-4485-b4a4-ef5b2e5969b2",
        "evidence": "The slide contains a waterfall-bridge chart showing P&L impact.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:33:46.35046+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 28,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Storytelling: audience calibration",
          "slug": "audience",
          "status": "active",
          "bestFor": null,
          "canonId": "019df269-23ea-723a-87c0-af1d78d702d2",
          "version": 1,
          "bodyDocId": "019df269-23c5-72ec-8b94-78fc1da7b656",
          "description": "The same thesis, written for four different audiences, produces four",
          "familyLabel": "narrative-block",
          "categoryName": "Narrative & Transformation",
          "categorySlug": "narrative-transformation"
        },
        "agent": "storyteller",
        "layer": "slide",
        "agents": [
          "storyteller"
        ],
        "matchId": "88eb6d22-f3db-4ff4-827b-ef8946804915",
        "evidence": "The components mention specific companies and technologies, indicating an audience calibration",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:33:46.453371+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 37,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Waterfall chart",
          "slug": "waterfall-chart",
          "status": "active",
          "bestFor": null,
          "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "93b83c92-9d59-4685-96bf-ab19e7b6f2e4",
        "evidence": "P&L development table showing Revenue, COGS, SG&A, and EBITDA for 2023, 2029 Low case, and 2029 High case.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:33:58.806094+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 49,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Waterfall chart",
          "slug": "waterfall-chart",
          "status": "active",
          "bestFor": null,
          "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "a15293a3-8bc9-48c3-92ae-f1f3f324a05b",
        "evidence": "P&L development hyper/supermarkets, %",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:33:58.893281+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 50,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Table data",
          "slug": "table-data",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4fab-7168-a82f-b847350a006d",
          "version": 1,
          "bodyDocId": null,
          "description": "Tabular layouts of structured data.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "ff0727fb-ea86-4c93-be7a-a30b8ad7fa17",
        "evidence": "P&L development hyper/supermarkets, %: 2023 vs 2029 data for Volume share, Revenue, COGS, SG&A, EBITDA",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:33:58.993349+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 51,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Heatmap matrix",
          "slug": "heatmap-matrix",
          "status": "active",
          "bestFor": null,
          "canonId": "019de52d-2363-7248-9aa8-cd0bcf077891",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "b23d025d-5e12-4167-baf5-6127ebf68e65",
        "evidence": "EBITDA margin change of hyper/supermarkets, pp",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:33:59.092893+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 52,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      }
    ],
    "frameworks": [
      {
        "matchId": "36038a05-3063-41e1-aed7-e56978a9365d",
        "evidence": "The slide structure (Looking back, Outlook, Solutions) mirrors a strategic narrative flow often used in consulting to frame industry challenges.",
        "framework": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-05-02 18:39:07.997+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "frameworkName": "flatten-fight-future"
      },
      {
        "matchId": "f2bcbbdf-21c8-420e-9fe8-df8606849a58",
        "evidence": "Comparing EBITDA margins across multiple peer grocers over time.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 18:39:03.595+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "frameworkName": "comparison-frame"
      },
      {
        "matchId": "dbac6fb2-4047-40e7-9bed-7b460dad4f2e",
        "evidence": "The slide breaks down 'Sales per sqm' into 'Real offline sales' divided by 'Total sqm'.",
        "framework": null,
        "confidence": 0.95,
        "extraction": {
          "at": "2026-05-02 18:39:03.662+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "frameworkName": "decomposition"
      },
      {
        "matchId": "fc146162-9a3c-47c3-9b5f-5ca44a4ab09f",
        "evidence": "The slide maps specific trends to their resulting impact on retailer margins.",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-05-02 18:39:03.715+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "frameworkName": "causal-chain"
      },
      {
        "matchId": "a0683232-628e-4276-b049-430f97362fa6",
        "evidence": "The slide links margin decline to specific P&L levers (COGS, SG&A) and market inflation.",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-05-02 18:39:04.937+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "frameworkName": "causal-chain"
      },
      {
        "matchId": "90eb59ef-3f55-4bff-bdd3-dafbebb9f13e",
        "evidence": "The slide follows a clear 'Past-Future-Action' narrative structure.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 18:39:04.932+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "frameworkName": "logical-chain"
      },
      {
        "matchId": "2c9a27a9-e4a7-4d7f-83a8-8c0def3804ec",
        "evidence": "The slide title is a full sentence summarizing the key takeaway.",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 18:39:06.543+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "frameworkName": "action-titles"
      },
      {
        "matchId": "41c421dd-86bb-4394-b1d7-73ecc79fd4c9",
        "evidence": "The slide links past performance to future risks and required future actions.",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-05-02 18:39:05.721+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "frameworkName": "causal-chain"
      },
      {
        "matchId": "dc1fce7a-7c35-4696-b140-a4db2f96d5a0",
        "evidence": "Structured list of strategic actions categorized by pillar",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 18:39:06.679+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 23,
        "frameworkName": "initiative_list"
      },
      {
        "matchId": "88cf587c-7507-4ed5-8c99-35e687d402ac",
        "evidence": "The slide uses a waterfall chart to bridge 2023 EBITDA to 2029 EBITDA via various levers.",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 18:39:07.332+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 24,
        "frameworkName": "waterfall-chart"
      },
      {
        "matchId": "b8024c3d-ce7a-4d28-ac55-c32425e72165",
        "evidence": "The chart visualizes the change in P&L components between 2023 and 2029.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 18:39:07.216+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "frameworkName": "waterfall-bridge"
      },
      {
        "matchId": "e94c5cf5-8898-4320-811b-1d6a5fcb869f",
        "evidence": "The EBITDA comparison between 2023 and 2029 uses a bridge annotation to show the uplift.",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-05-02 18:39:06.993+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 31,
        "frameworkName": "waterfall-bridge"
      },
      {
        "matchId": "dde73ff4-9fd5-41fd-b314-40e208c33dd1",
        "evidence": "The staircase structure implies a progression of complexity and capability.",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-05-02 18:39:06.808+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 32,
        "frameworkName": "maturity-model"
      },
      {
        "matchId": "e98ec2cd-0923-47fe-b4d6-f49f76bf9cca",
        "evidence": "Circular diagram showing interconnected business units",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-05-02 18:39:09.215+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 40,
        "frameworkName": "ecosystem-mapping"
      },
      {
        "matchId": "0fa56b66-0a34-418a-8d8f-efb59783f2a7",
        "evidence": "The slide compares two scenarios (100% vs 90% pass-through) to determine the impact on EBITDA.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 18:39:09.732+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 47,
        "frameworkName": "sensitivity_analysis"
      },
      {
        "matchId": "0798f841-fb12-4535-bd77-0e7d220e5d36",
        "evidence": "Comparing two scenarios (90% vs 100% pass-through) to show impact on EBITDA margin.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 18:39:10.475+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 48,
        "frameworkName": "sensitivity_analysis"
      },
      {
        "matchId": "f7d6fbf4-2810-4809-8ac9-6c61d4f8e336",
        "evidence": "Shows how market share loss leads to revenue decline, impacting EBITDA margin.",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-05-02 18:39:09.661+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 50,
        "frameworkName": "causal-chain"
      },
      {
        "matchId": "bf46f13b-dc26-4157-8b17-5ecba3d876e3",
        "evidence": "The table structure shows the delta between 2023 and 2029 for P&L line items leading to an EBITDA margin change.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 18:39:10.481+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 51,
        "frameworkName": "waterfall-bridge"
      },
      {
        "matchId": "e374d661-daf6-4b63-b10e-7607d24ca42d",
        "evidence": "The slide presents a matrix showing how changes in two variables (online share growth and margin discount) affect a third variable (EBITDA margin).",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 18:39:10.326+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 52,
        "frameworkName": "sensitivity_analysis"
      }
    ],
    "patterns": []
  },
  "storymakers": null,
  "score": {
    "backend": "claude",
    "scoredAt": "2026-05-02 07:29:06.667+00",
    "subScores": {
      "scqa_arc": 82,
      "action_titles": 92,
      "mece_structure": 74,
      "closing_strength": 58,
      "evidence_quality": 88,
      "clarity_of_thesis": 82,
      "production_quality": 76,
      "visual_storytelling": 74
    },
    "totalScore": 79,
    "coveragePct": 100,
    "explanations": {
      "scqa_arc": "Clean SCQA: Situation (5-7 historical margin gap), Complication (8-15 erosion drivers), Question (17 next 5 years), Answer (23-24 lever waterfall to 2030); sensitivity appendix supports rather than dilutes the arc.",
      "action_titles": "Near-universal action-title discipline from slide 5 onward, e.g. 'EBITDA margin of super/hypermarkets (-0.6pp) shows negative momentum vs discounters (+0.2pp)' (slide 11); only front/back matter slides use topic labels.",
      "mece_structure": "Solid Looking Back / Outlook / Solutions spine with the slide 23 three-pillar lever framework, but the same 'Grocery profitability in Europe...' summary repeats on slides 4, 16, and 22, signaling overlap rather than tight progression.",
      "closing_strength": "Recommendation peaks at slide 24 waterfall, but the deck trails into 16 slides of case studies, appendix, and a filler logo close (53) with no dedicated next-steps / call-to-action slide.",
      "evidence_quality": "Claims are consistently backed: peer benchmarks (slides 5-7, 11), CFO quote from Albert Heijn (14), and named precedents Sainsbury's, Mercadona, Wegmans, Kroger, Walmart, Ocado (25-40); few unsupported assertions.",
      "clarity_of_thesis": "Thesis stated declaratively by slide 2 ('0.2 to 2.7pp of EBITDA at risk') and reinforced on slide 4 with the Past-Present-Future frame; reader knows the argument well within the first 5 slides.",
      "production_quality": "High action-title density and consistent footnote/branding discipline, but overcrowded density on roughly a third of analytical slides plus a typo in the slide 17 title ('Over te next 5 years') drag this below exemplary.",
      "visual_storytelling": "Right tools mostly chosen (line chart slide 5, bubble slide 13, waterfall slide 24, heatmap slide 52, big numbers slide 35), but ~14 slides flagged 'overcrowded' (e.g. 9, 18, 25, 31) suggest charts trying to do too much."
    },
    "slidesAnalyzed": 53
  },
  "review": {
    "backend": null,
    "verdict": "Disciplined analytical build with exemplary action titles and quantified levers, but it tapers into case studies without a closing recommendation — use the diagnosis and impact-sizing sections (p.5-21) as a Storymakers exemplar, not the resolution arc.",
    "reviewedAt": "2026-04-25 03:19:20+00",
    "slidesSeen": 53,
    "suggestions": [
      "Add a 1-slide synthesis before the appendix that ranks the seven levers by combined EBITDA uplift and time-to-impact, ending with explicit next steps for the executive reader.",
      "Insert a divider slide before the recommendation block (after p.22) that names the 6-7 levers as MECE pillars, then re-tag each subsequent slide with its pillar so the structure is visible at thumbnail view.",
      "Collapse the duplicated key-messages slides (p.16, p.22) into one 'turning point' slide and use the recovered slot for a prioritization 2x2 (impact vs. boldness) of the levers."
    ],
    "closingScore": 42,
    "openingScore": 74,
    "topStrengths": [
      "Every recommendation lever (p.26, p.28, p.31, p.34, p.38) pairs the action with a quantified EBITDA uplift range — disciplined impact sizing.",
      "Strong evidence chain: each lever is followed by a named case study (Mercadona/Albert Heijn p.27, Sainsbury's p.29, Kroger p.39, Walmart p.40).",
      "Action titles throughout the analytical section (p.5-12) carry the insight and the number, modeling exemplary McKinsey title craft."
    ],
    "topWeaknesses": [
      "No closing synthesis or CTA slide — deck terminates on a Walmart case study (p.40) before the appendix.",
      "p.16 and p.22 are duplicate 'Grocery profitability in Europe...' key-message slides with identical callouts, which reads as template padding rather than a fresh narrative beat.",
      "The seven-lever recommendation block (p.23-40) lacks pillar dividers, making the MECE structure invisible at a skim.",
      "Several titles are truncated/incomplete in the inventory ('Grocery profitability in Europe...') and at least one typo (p.17 'te next 5 years') leaks through to action titles."
    ],
    "narrativeScore": 76,
    "pillarCritique": "Two recurring 'key_messages' slides (p.16, p.22) act as soft narrative resets — both repeat the same verbatim 'Bolder actions are needed' callout — but the seven recommendation levers (private label, store network, personalization, COGS, productivity, retail media, ecosystem) flow without explicit MECE dividers, so the pillar structure must be inferred from p.23's initiative list.",
    "closingCritique": "Deck ends on the Walmart ecosystem case (p.40) and a McKinsey logo (p.53) with no explicit recommendation, prioritization, or call-to-action slide before the appendix. The reader must self-assemble the answer from seven lever slides — there is no closing synthesis.",
    "openingCritique": "Thesis lands fast — p.2 callout already states '0.2 to 2.7pp of EBITDA is at risk' and p.4 reiterates 'Bolder actions are needed'. Weakened because p.3 team bio interrupts the punch and p.4's title reads as truncated ('Grocery profitability in Europe...') rather than carrying its own insight.",
    "extractionSeconds": 79.31306,
    "narrativeCritique": "Clean SCQA arc: setup of 7.1% historical margins (p.5-7) gives way to a complication of trends pressuring -0.2 to -2.7pp (p.8-21), then resolution via bolder levers with quantified uplift (p.23-40). The arc resolves analytically but lacks a synthesizing 'so what now' act — it tapers into case studies rather than landing a recommendation.",
    "titleQualityScore": 81,
    "titleQualityCritique": "Most titles are declarative and metric-bearing — e.g. p.7 'Performance differs significantly across grocers with average EBITDA margins varying from 4.8% to 9.2%' and p.28 'Reshaping store networks to close 10% of stores and recouping 50% of sales could add up to 0.5–1% EBITDA margin'. Weak spots: p.32 'There are various ways with different levels of complexity...' is descriptive, and p.17 contains a typo ('te' for 'the')."
  },
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/HSzlxsRoVqChDrD6hZ8Ad7bi6cXJQJWu2h98RyThyDQ/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy81MWM3OTZhNTViNmU3MjAwL3AwMDEuanBn",
      "rawType": "cover",
      "block": null,
      "metadata": {
        "slideType": "cover",
        "slideTypeCanon": {
          "name": "Cover",
          "slug": "cover",
          "status": "active",
          "canonId": "019de52d-05f2-729d-9f93-e0504f0a2410",
          "version": 1,
          "description": null
        },
        "function": "front_matter",
        "functionCanon": {
          "name": "Front matter",
          "slug": "front_matter",
          "status": "active",
          "canonId": "019de52d-133d-73f0-9e26-201eda96b098",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 17,
        "componentCount": 4,
        "textChars": 207,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:07.596+00",
          "seconds": 7.443,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/1",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-1",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.052,
            "w": 0.328,
            "x": 0.045,
            "y": 0.902
          },
          "kind": "disclaimer",
          "text": "CONFIDENTIAL AND PROPRIETARY\nAny use of this material without specific permission of McKinsey & Company\nis strictly prohibited",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.596+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "249f9714-c69e-4f81-ac16-b3e9e3693e45",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.044,
            "w": 0.2,
            "x": 0.045,
            "y": 0.068
          },
          "kind": "image",
          "text": "McKinsey & Company",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.596+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ebb2b08b-2398-457e-bc2b-ead17dcc4921",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.116,
            "w": 0.532,
            "x": 0.045,
            "y": 0.398
          },
          "kind": "title",
          "text": "Grocery profitability outlook – Europe",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.596+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "433fef18-fda9-459b-a976-357b5ba74b80",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.086,
            "w": 0.185,
            "x": 0.045,
            "y": 0.598
          },
          "kind": "title",
          "text": "CxO document\nJanuary 2025",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.596+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fd90857f-cc93-4c82-89c0-977ae1274f36",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/il9DmVTP89iEjY9q2hz25LvueJKQWZV_WvZOqNGGhuM/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy81MWM3OTZhNTViNmU3MjAwL3AwMDEuanBn",
      "imagePathAlt": "https://imgproxy.kitesheet.com/yb7CRADrMkSbZUPJsI4-i8oivBDB7hOG9qGbDFvi-e8/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy81MWM3OTZhNTViNmU3MjAwL3AwMDEucG5n",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/YkeQHpcD89irX0HLsY2C996q18xvGCXTy4nan_ZbRDw/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy81MWM3OTZhNTViNmU3MjAwL3AwMDEucG5n"
    },
    {
      "page": 2,
      "type": "setup",
      "function": "summarize",
      "rawType": "executive_summary",
      "block": null,
      "metadata": {
        "slideType": "executive_summary",
        "slideTypeCanon": {
          "name": "Executive summary",
          "slug": "executive_summary",
          "status": "active",
          "canonId": "019de52d-06be-73ff-81b3-f99fe7f0025e",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 96,
        "componentCount": 12,
        "textChars": 2746,
        "nDataPoints": 15,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "bullet_list"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:04.868+00",
          "seconds": 4.63,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/2",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-2",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "0.2 to 2.7pp of EBITDA is at risk if no counter measures are taken, as over the next 5 years these trends will continue to pressure margins.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-0461d4294b64",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.91,
            "x": 0.045,
            "y": 0.15
          },
          "kind": "list",
          "text": "Looking back: Grocery retail margin are low compared to other industries and have been under pressure. Macroeconomic conditions and industry dynamics have negatively affected hyper/supermarkets over the past 5 years (-0.6pp EBITDA) whereas discounters increased margin (+0.2pp). Most grocers where able to partly offset the pressure by optimizing gross margins, reducing SG&A and reducing investments",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.868+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "018ca9f0-c35a-4f7e-86e4-7a6e425dfde8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.11,
            "w": 0.89,
            "x": 0.065,
            "y": 0.41
          },
          "kind": "list",
          "text": "High inflation has reduced consumer spending, impacting grocery retail volume and value growth, with a 4.5% real decline despite 23.1% nominal revenue growth (22.9pp inflation impact and 4.8pp downtrading). Ongoing industry dynamics such as increased discounter share (+2.2pp), private label share (+3.8pp), and online share (+1.9pp) further challenge profitability, especially for traditional hyper/supermarkets.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.868+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "214109ba-e91c-4fb8-9d81-86f5997d1ee2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.91,
            "x": 0.045,
            "y": 0.52
          },
          "kind": "list",
          "text": "Outlook: 0.2 to 2.7pp of EBITDA is at risk if no counter measures are taken, as over the next 5 years these trends will continue to pressure margins.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.868+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "55c5a33c-fe8d-494b-a872-dc2fa23fc8b7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.89,
            "x": 0.065,
            "y": 0.26
          },
          "kind": "list",
          "text": "Grocery retail EBITDA margins average at 7.1% (2009-2023) compared to 22.9% for non-grocery retailers, 18.5% for CPG, and 15.2% for Euronext 100. On average today, hyper/supermarkets have similar EBITDA margins (6.6%) compared to discounters (6.4%). However, performance varies significantly across grocery retailers (from 4.8% to 9.2% between 2015-23) and hyper/supermarkets experienced stronger pressure over the past 5 years (-0.6pp from 2019-23) compared to discounters (+0.2pp).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.868+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7fed5806-18fe-4fae-b099-8a38dfd6895c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.89,
            "x": 0.065,
            "y": 0.57
          },
          "kind": "list",
          "text": "The max EBITDA impact of -2.7pp would make EBITDA margins very thin (~4% on average) especially given 1-2% of revenue is required for renewal CAPEX. Continuation of historical cost optimization (1–1.5pp) will not be sufficient to counter max. trend impact.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.868+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9fc71155-53d1-49d6-80a7-f0cc4beec042",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.89,
            "x": 0.065,
            "y": 0.88
          },
          "kind": "list",
          "text": "Last, Grocers should fund and accelerate their transformation e.g., monetize Retail Media and modernize their IT.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.868+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b71102aa-590b-4ebe-9390-749907622497",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.91,
            "x": 0.045,
            "y": 0.66
          },
          "kind": "list",
          "text": "Solution: The continued pressure is calling for bolder actions to avoid further profitability erosion. While many grocers are making progress, none fully accelerated their efforts. Grocers need to do a step change across a set of levers on both growth, operational excellence and transformative change",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.868+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c10c352d-0a2b-46d0-b865-6303686570ea",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.89,
            "x": 0.065,
            "y": 0.74
          },
          "kind": "list",
          "text": "Grocers should build a stronger differentiation to gain market share by focusing on elements that strengthen their value proposition e.g., excel in Fresh or Private Brands, improve their store availability and network.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.868+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ee660eb6-f4a7-4c7b-9ad8-136775165381",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.89,
            "x": 0.065,
            "y": 0.81
          },
          "kind": "list",
          "text": "Grocers need to excel in execution and drive profitability to compensate for the negative margin trend and focus on levers to reduce costs e.g., improving end-to-end productivity from supplier to customer (through advanced technologies).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.868+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f1ad0501-1cd2-4e70-b3ea-6ced9aee7c59",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 7.1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-0a072675789f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.31,
            "x": 0.045,
            "y": 0.08
          },
          "kind": "title",
          "text": "Executive summary",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.868+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8e3042b5-6ad7-4d93-bbb1-29da501a9dff",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "7.1%",
          "numberKind": "percent",
          "actionTitle": null,
          "calloutText": "0.2 to 2.7pp of EBITDA is at risk if no counter measures are taken, as over the next 5 years these trends will continue to pressure margins.",
          "numberScale": null,
          "numberValue": 7.1,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Executive summary",
            "slug": "executive-summary",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4b63-72d5-9734-da757d91ca61",
            "version": 1,
            "bodyDocId": null,
            "description": "A condensed view of the entire argument on a single slide / block.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "69a65c9c-ef7b-4254-8427-fbb4a9dcfc14",
          "evidence": "This slide is titled 'Executive summary' and contains a summary of key points, making it a clear instantiation of an executive summary.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:33:58.893195+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 3,
      "type": "setup",
      "function": "other",
      "rawType": "team_bio",
      "block": null,
      "metadata": {
        "slideType": "team_bio",
        "slideTypeCanon": {
          "name": "Team bio",
          "slug": "team_bio",
          "status": "active",
          "canonId": "019de52d-0a7d-7394-ae5b-037478e71f1e",
          "version": 1,
          "description": null
        },
        "function": "other",
        "functionCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-15e1-75bc-99dc-07732380e2ce",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 59,
        "componentCount": 11,
        "textChars": 288,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "headshot",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:03.331+00",
          "seconds": 2.952,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/3",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-3",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.53,
            "y": 0.58
          },
          "kind": "image",
          "text": "Daniel Läubli, Sr. Partner",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1636e16b-4a3e-4dab-988d-3cf9e21afbee",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.04,
            "y": 0.58
          },
          "kind": "image",
          "text": "Kathleen Martens, Partner",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "19f65a7f-bb27-4ffd-beaa-80a97370b051",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.04,
            "y": 0.28
          },
          "kind": "image",
          "text": "Franck Laizet, Sr. Partner",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3a23c39d-e3c3-48fc-93f1-49cb5e311fea",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.28,
            "y": 0.58
          },
          "kind": "image",
          "text": "Floor Rienks, Engagement Manager",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "66bc36d9-5585-41cf-8d03-3d535123540b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.77,
            "y": 0.58
          },
          "kind": "image",
          "text": "François Videlaine, Partner",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6966946a-dc5d-450b-acaa-3461cb2f6e47",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.53,
            "y": 0.28
          },
          "kind": "image",
          "text": "Stefano Zerbi, Sr. Partner",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7474f3fa-d4a1-4ce7-bf4b-7e6875f9316e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.28,
            "y": 0.28
          },
          "kind": "image",
          "text": "Leanne Noom, Associate Partner",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8d8084bb-ca12-402f-865b-941dab42e6c5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.77,
            "y": 0.28
          },
          "kind": "image",
          "text": "Maria Miralles, Sr. Partner",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9add36cd-d148-43f1-b761-6bc782f8eaf0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.04,
            "y": 0.08
          },
          "kind": "title",
          "text": "Author team and sounding board of the report",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cfd1ace2-12ba-4302-8214-cf836af9728d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.04,
            "y": 0.22
          },
          "kind": "title",
          "text": "Author team",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0079bc92-7403-4c3f-9e0b-44730b9cc5f6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.53,
            "y": 0.22
          },
          "kind": "title",
          "text": "Sounding board",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a26e6b07-25b3-4169-8acd-009ed0ddff07",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 4,
      "type": "setup",
      "title": "The slide uses a chronological flow (Looking back, Outlook, Solutions) to frame the industry problem.",
      "function": "summarize",
      "rawType": "executive_summary",
      "block": null,
      "metadata": {
        "slideType": "executive_summary",
        "slideTypeCanon": {
          "name": "Executive summary",
          "slug": "executive_summary",
          "status": "active",
          "canonId": "019de52d-06be-73ff-81b3-f99fe7f0025e",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 84,
        "componentCount": 9,
        "textChars": 1180,
        "nDataPoints": 5,
        "notes": "The slide uses a chronological flow (Looking back, Outlook, Solutions) to frame the industry problem.",
        "elementsJson": [
          "headline_text",
          "bullet_list"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:07.997+00",
          "seconds": 7.546,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/4",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-4",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Bolder actions are needed as historical cost optimization will not be sufficient and impact will heavily depend on the actions taken.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b072-d61be044126a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.3,
            "x": 0.66,
            "y": 0.41
          },
          "kind": "list",
          "text": "Grocers need to do a step change across a set of levers on growth, operational excellence, transformative change. Bolder actions are needed as historical cost optimization will not be sufficient and impact will heavily depend on the actions taken. While many grocers are making progress, none fully accelerated their efforts.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.997+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "14ee9ee1-95d7-46f0-959c-495078849f7b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.3,
            "x": 0.04,
            "y": 0.41
          },
          "kind": "list",
          "text": "Grocery retail EBITDA margins are 7.1% on average (2009-23), significantly below other industries. Hyper/supermarkets faced stronger pressure compared to discounters. Most grocers limited EBITDA decline through raising prices/negotiating purchase terms, reducing SG&A and lowering investments.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.997+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cf6a9210-2af3-4a1c-a88a-b653b44f56a9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.3,
            "x": 0.35,
            "y": 0.41
          },
          "kind": "list",
          "text": "Over the next 5 years, pressure on grocers' margins will continue, especially for hyper/supermarkets. If no counter measures are taken, average EBITDA impact could range -0.2 to -2.7 pp for hyper/supermarkets. Impact of trends could make super/hypermarkets EBITDA margins thin (~4% on average) with 1-2% of revenue required for renewal CAPEX.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.997+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e0e10951-a676-4e44-b05f-01a1c13537af",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 7.1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b072-d9b8bb71f2d8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.1,
            "x": 0.35,
            "y": 0.21
          },
          "kind": "title",
          "text": "2 Outlook",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.997+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "13d9e9c7-3b7b-40ac-84eb-7e3fd1155db8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.1,
            "x": 0.66,
            "y": 0.21
          },
          "kind": "title",
          "text": "3 Solutions",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.997+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "25d9c012-721a-4cbd-a957-acfd3cac2643",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.15,
            "x": 0.04,
            "y": 0.21
          },
          "kind": "title",
          "text": "1 Looking back",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.997+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "51b731fb-3325-4f98-82a0-df301613bcb9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.04,
            "y": 0.07
          },
          "kind": "title",
          "text": "Grocery profitability in Europe...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.997+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "61ab441b-a034-42de-a303-fbec64925b7d",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "7.1%",
          "numberKind": "percent",
          "actionTitle": null,
          "calloutText": "Bolder actions are needed as historical cost optimization will not be sufficient and impact will heavily depend on the actions taken.",
          "numberScale": null,
          "numberValue": 7.1,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Audience Definition",
            "slug": "audience-definition",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
            "version": 1,
            "bodyDocId": null,
            "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "c61a6912-17f8-4f45-a4f7-c318ce2955e5",
          "evidence": "This slide mentions 'Grocers need to do a step change across a set of levers on growth, operational excellence, transformative change', indicating an understanding of the audience's needs and challenges.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:33:59.033216+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "36038a05-3063-41e1-aed7-e56978a9365d",
          "evidence": "The slide structure (Looking back, Outlook, Solutions) mirrors a strategic narrative flow often used in consulting to frame industry challenges.",
          "framework": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-05-02 18:39:07.997+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "frameworkName": "flatten-fight-future"
        }
      ],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 5,
      "type": "setup",
      "title": "The chart highlights specific economic periods: Pre-COVID/post bank crisis, COVID, and Inflation.",
      "function": "compare_peers",
      "rawType": "peer_benchmark",
      "block": null,
      "metadata": {
        "slideType": "peer_benchmark",
        "slideTypeCanon": {
          "name": "Peer benchmark",
          "slug": "peer_benchmark",
          "status": "active",
          "canonId": "019de52d-08f0-7158-a78d-d7b5331fefaf",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 62,
        "componentCount": 8,
        "textChars": 438,
        "nDataPoints": 4,
        "notes": "The chart highlights specific economic periods: Pre-COVID/post bank crisis, COVID, and Inflation.",
        "elementsJson": [
          "headline_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:03.274+00",
          "seconds": 2.816,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/5",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-5",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.65,
            "w": 0.92,
            "x": 0.04,
            "y": 0.22
          },
          "kind": "chart",
          "text": "EBITDA margin European players, 2000 to 2023, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.274+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5a06e3ce-938d-4af7-a6b8-7d340586aeaf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.08,
            "x": 0.86,
            "y": 0.515
          },
          "kind": "metric",
          "text": "15.2%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.274+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1f68a50c-1a07-4918-8926-92babca1b21c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.08,
            "x": 0.86,
            "y": 0.815
          },
          "kind": "metric",
          "text": "7.1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.274+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e98ded77-0b67-4340-a827-75ef17414071",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.08,
            "x": 0.86,
            "y": 0.35
          },
          "kind": "metric",
          "text": "22.9%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.274+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ef6416ca-50c0-4890-abe3-aa15cd7c087d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.08,
            "x": 0.86,
            "y": 0.415
          },
          "kind": "metric",
          "text": "21.9%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.274+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f42fd69d-0104-4393-a612-de4b3a32501b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 7.1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:08+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-ae9c324e7dba",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.65,
            "x": 0.04,
            "y": 0.915
          },
          "kind": "source-note",
          "text": "1. Ahold (NLD), LIDL (GER), Carrefour (FRA), Jeronimo Martins (PRT), Metro (DEU), Kesko (FIN), Colruyt Group (BEL), Sonae (PRT), Axfood (SWE), Dino Polska (POL) Source: McKinsey Value Intelligence Platform, S&P Global Market Intelligence",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.274+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0031974c-7808-4a81-bdd3-0b18d61eeec7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Grocery retail margins in Europe have historically been lower than other industries, averaging 7.1% EBITDA (2009-23)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.274+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7dbbcba9-10e1-400c-b8c4-d21251c261e0",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "7.1%",
          "numberKind": "percent",
          "actionTitle": "Grocery retail margins in Europe have historically been lower than other industries, averaging 7.1% EBITDA (2009-23)",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 7.1,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 9,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 5,
          "name": "Problem",
          "beatId": "0920faf0-f20a-44c2-84ab-1f748b7d7dbd",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Problem (Identify pain)",
            "slug": "problem-agitate-solution-problem-identify-pain",
            "status": "active",
            "canonId": "019dd9b8-0e78-74bb-b8f6-54348367a131",
            "version": 1,
            "description": null
          },
          "evidence": "The deck identifies the problem of declining profitability in the grocery industry, highlighting margin pressure and sales decline.",
          "position": 0,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 6,
      "type": "setup",
      "title": "The slide uses a waterfall-style table structure to compare P&L line items between two retail segments.",
      "function": "compare_peers",
      "rawType": "comparison_table",
      "block": null,
      "metadata": {
        "slideType": "comparison_table",
        "slideTypeCanon": {
          "name": "Comparison table",
          "slug": "comparison_table",
          "status": "active",
          "canonId": "019de52d-0a06-73f8-8813-fe022fab1de2",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 58,
        "componentCount": 6,
        "textChars": 670,
        "nDataPoints": 24,
        "notes": "The slide uses a waterfall-style table structure to compare P&L line items between two retail segments.",
        "elementsJson": [
          "headline_text",
          "waterfall_chart",
          "data_table",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:03.76+00",
          "seconds": 3.257,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/6",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-6",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.04,
            "w": 0.23,
            "x": 0.59,
            "y": 0.685
          },
          "kind": "callout",
          "text": "Peer group margins range 6.1% - 8.3%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.76+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d789f33d-956e-4f40-82f0-901f8d3e02c4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.92,
            "x": 0.04,
            "y": 0.9
          },
          "kind": "disclaimer",
          "text": "1. Ahold (NLD), Carrefour (FRA), Jerónimo Martins (PRT), Metro (DEU), Kesko (FIN), Sonae (PRT), Dino Polska (POL). Advertisement cost only reported for Carrefour and Jeronimo, equal share of cost assumed for other players | 2. Distribution cost buckets based on expert input | 3. LIDL (GER), Colruyt Group (BEL), Axfood (SWE)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.76+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "040649bf-bffd-4632-b27f-0de8614b78e5",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 6.6%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-23f0c5fcb033",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.92,
            "x": 0.04,
            "y": 0.2
          },
          "kind": "table",
          "text": "P&L comparison table showing Revenue, COGS, Gross margin, Labor, Advertising, Other OPEX, EBITDA, Depreciation, and EBITA for Hyper/Supermarkets vs Discounters.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.76+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "431ee66e-5f00-4277-905e-bfe46eea840d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.8,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "On average, hyper/supermarkets (6.6%) and discounters (6.4%) have EBITDA margins (2023)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.76+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a32f0d18-23e8-4c6a-a96e-7a9491ba467c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.04,
            "y": 0.13
          },
          "kind": "title",
          "text": "2023 grocery market P&L by type of retailer",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.76+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bea51785-00ff-4cd1-829a-aa41ee01518d",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "6.6%",
          "numberKind": "percent",
          "actionTitle": "On average, hyper/supermarkets (6.6%) and discounters (6.4%) have EBITDA margins (2023)",
          "calloutText": "Peer group margins range 6.1% - 8.3%",
          "numberScale": null,
          "numberValue": 6.6,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 9,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 5,
          "name": "Problem",
          "beatId": "0920faf0-f20a-44c2-84ab-1f748b7d7dbd",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Problem (Identify pain)",
            "slug": "problem-agitate-solution-problem-identify-pain",
            "status": "active",
            "canonId": "019dd9b8-0e78-74bb-b8f6-54348367a131",
            "version": 1,
            "description": null
          },
          "evidence": "The deck identifies the problem of declining profitability in the grocery industry, highlighting margin pressure and sales decline.",
          "position": 0,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 7,
      "type": "setup",
      "title": "The chart highlights a performance gap of 4.4% between the highest and lowest performing grocers.",
      "function": "compare_peers",
      "rawType": "peer_benchmark",
      "block": null,
      "metadata": {
        "slideType": "peer_benchmark",
        "slideTypeCanon": {
          "name": "Peer benchmark",
          "slug": "peer_benchmark",
          "status": "active",
          "canonId": "019de52d-08f0-7158-a78d-d7b5331fefaf",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 34,
        "componentCount": 5,
        "textChars": 305,
        "nDataPoints": 10,
        "notes": "The chart highlights a performance gap of 4.4% between the highest and lowest performing grocers.",
        "elementsJson": [
          "headline_text",
          "line_chart",
          "kpi_table",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:03.595+00",
          "seconds": 3.022,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/7",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-7",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.68,
            "w": 0.68,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "chart",
          "text": "EBITDA margin European grocers, 2015 to 2023, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.595+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "de5cc34a-47a4-4821-8bfb-3f94a797a271",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 9.2%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-3d4acd4ad3e0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.35,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: McKinsey Value Intelligence Platform, S&P Global Market Intelligence",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.595+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "56206cfd-c01b-4cd2-b68f-49b9264c3818",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.58,
            "w": 0.2,
            "x": 0.75,
            "y": 0.28
          },
          "kind": "table",
          "text": "Average 2015-23 EBITDA margins for 10 grocers",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.595+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3bd03228-2bfe-4584-bd9f-f482bc3df480",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.85,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Performance differs significantly across grocers with average EBITDA margins varying from 4.8% to 9.2% between 2015-23",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.595+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "999aa4fc-63f6-4080-9cb8-e985d84d0915",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "9.2%",
          "numberKind": "percent",
          "actionTitle": "Performance differs significantly across grocers with average EBITDA margins varying from 4.8% to 9.2% between 2015-23",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 9.2,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [
        {
          "matchId": "f2bcbbdf-21c8-420e-9fe8-df8606849a58",
          "evidence": "Comparing EBITDA margins across multiple peer grocers over time.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 18:39:03.595+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "frameworkName": "comparison-frame"
        }
      ],
      "arcBeats": [
        {
          "to": 9,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 5,
          "name": "Problem",
          "beatId": "0920faf0-f20a-44c2-84ab-1f748b7d7dbd",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Problem (Identify pain)",
            "slug": "problem-agitate-solution-problem-identify-pain",
            "status": "active",
            "canonId": "019dd9b8-0e78-74bb-b8f6-54348367a131",
            "version": 1,
            "description": null
          },
          "evidence": "The deck identifies the problem of declining profitability in the grocery industry, highlighting margin pressure and sales decline.",
          "position": 0,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 8,
      "type": "analysis",
      "title": "The slide uses a combination of bar charts for margin comparison and a multi-line chart for revenue/volume trends.",
      "function": "diagnose",
      "rawType": "diagnosis",
      "block": null,
      "metadata": {
        "slideType": "diagnosis",
        "slideTypeCanon": {
          "name": "Diagnosis",
          "slug": "diagnosis",
          "status": "active",
          "canonId": "019de52d-0cd7-7212-898f-0464041ff8d8",
          "version": 1,
          "description": null
        },
        "function": "diagnose",
        "functionCanon": {
          "name": "Diagnose",
          "slug": "diagnose",
          "status": "active",
          "canonId": "019de52d-1657-7223-acc5-7437d878c850",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 56,
        "componentCount": 6,
        "textChars": 605,
        "nDataPoints": 16,
        "notes": "The slide uses a combination of bar charts for margin comparison and a multi-line chart for revenue/volume trends.",
        "elementsJson": [
          "headline_text",
          "bar_chart_grouped",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:03.061+00",
          "seconds": 2.486,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/8",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-8",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Grocers faced gross margin pressure (-1.2pp) combined with real terms sales decline (-4.5%).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-2697aff4d117",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.4,
            "x": 0.04,
            "y": 0.22
          },
          "kind": "chart",
          "text": "Gross margin comparison by channel 2019 vs 2023",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.061+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ee97f557-aa1c-4daa-abc5-29bf6ebafb60",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.5,
            "x": 0.45,
            "y": 0.22
          },
          "kind": "chart",
          "text": "Grocery retail real sales development for EU-10",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.061+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3894fec1-3b43-455b-a9c0-4e5d5b9542a1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Gross margin: -1.2pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-296fc5ba3e10",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.9,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "1. Ahold (NLD), Carrefour (FRA), Jerónimo Martins (PRT), Metro (DEU), Kesko (FIN), Sonae (PRT), Dino Polska (POL) | 2. LIDL (GER), Colruyt Group (BEL), Axfood (SWE) | 3. UK, DE, FR, IT, ES, NL, CZ, PL, PT, BE Source: State of Grocery 2024, McKinsey Value Intelligence Platform, S&P Global Market Intelligence",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.061+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ec7932eb-54ce-452f-93dd-67fc1f75cde7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.9,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Grocers faced gross margin pressure (-1.2pp) combined with real terms sales decline (-4.5%)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.061+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "98630358-4624-4b38-a78d-c9a6b348e2f8",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Gross margin",
          "numberRaw": "-1.2pp",
          "numberKind": "percent",
          "actionTitle": "Grocers faced gross margin pressure (-1.2pp) combined with real terms sales decline (-4.5%)",
          "calloutText": "Grocers faced gross margin pressure (-1.2pp) combined with real terms sales decline (-4.5%).",
          "numberScale": null,
          "numberValue": -1.2,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 9,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 5,
          "name": "Problem",
          "beatId": "0920faf0-f20a-44c2-84ab-1f748b7d7dbd",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Problem (Identify pain)",
            "slug": "problem-agitate-solution-problem-identify-pain",
            "status": "active",
            "canonId": "019dd9b8-0e78-74bb-b8f6-54348367a131",
            "version": 1,
            "description": null
          },
          "evidence": "The deck identifies the problem of declining profitability in the grocery industry, highlighting margin pressure and sales decline.",
          "position": 0,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 9,
      "type": "analysis",
      "title": "The slide uses a decomposition framework to show how sales and floor space drive sales density.",
      "function": "diagnose",
      "rawType": "diagnosis",
      "block": null,
      "metadata": {
        "slideType": "diagnosis",
        "slideTypeCanon": {
          "name": "Diagnosis",
          "slug": "diagnosis",
          "status": "active",
          "canonId": "019de52d-0cd7-7212-898f-0464041ff8d8",
          "version": 1,
          "description": null
        },
        "function": "diagnose",
        "functionCanon": {
          "name": "Diagnose",
          "slug": "diagnose",
          "status": "active",
          "canonId": "019de52d-1657-7223-acc5-7437d878c850",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 68,
        "componentCount": 7,
        "textChars": 714,
        "nDataPoints": 45,
        "notes": "The slide uses a decomposition framework to show how sales and floor space drive sales density.",
        "elementsJson": [
          "bar_chart_vertical",
          "data_table",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:03.662+00",
          "seconds": 2.637,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/9",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-9",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.15,
            "x": 0.83,
            "y": 0.25
          },
          "kind": "callout",
          "text": "Real offline sales driven by -7% decline in total offline market (2019–2023) and shifting market shares...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.662+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b25494ec-3cd3-4e2a-ab8e-f9bcb09cd427",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "Real offline sales driven by -7% decline in total offline market (2019–2023) and shifting market shares: Supermarkets: from 36.3% to 36.4% (+0.1%); Hypermarkets: from 20.3% to 18.6% (-1.7%); Discounters: from 19.6% to 21.4% (+1.9%).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-abbd5e37dff8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.78,
            "x": 0.04,
            "y": 0.2
          },
          "kind": "chart",
          "text": "Performance metrics for Supermarkets, Hypermarkets, and Discounters",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.662+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "14afc0fd-b613-4cd8-bde8-d0e533d1384f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Real offline sales per sqm: -2.9%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-ad74e38b7c1c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "1. UK, DE, FR, IT, ES, NL (excl. hypermarkets), CZ, PL, PT, BE, SW. Source: State of Grocery 2024, IGD, Eurostat",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.662+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0b4f5264-1242-4b4b-a412-09cfff5c9af9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.04,
            "y": 0.12
          },
          "kind": "subtitle",
          "text": "EU11, 2019 constant prices, indexed to 2019, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.662+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "de0c8778-2eb4-4f92-bb35-aa29fe81a10f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "With declining real sales, especially offline, sales per square meter have also decreased, putting pressure on margins",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.662+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1bdc2802-e570-4924-aa82-c3f096601a87",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Real offline sales per sqm",
          "numberRaw": "-2.9%",
          "numberKind": "percent",
          "actionTitle": "With declining real sales, especially offline, sales per square meter have also decreased, putting pressure on margins",
          "calloutText": "Real offline sales driven by -7% decline in total offline market (2019–2023) and shifting market shares: Supermarkets: from 36.3% to 36.4% (+0.1%); Hypermarkets: from 20.3% to 18.6% (-1.7%); Discounters: from 19.6% to 21.4% (+1.9%).",
          "numberScale": null,
          "numberValue": -2.9,
          "metricFamily": "revenue",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [
        {
          "matchId": "dbac6fb2-4047-40e7-9bed-7b460dad4f2e",
          "evidence": "The slide breaks down 'Sales per sqm' into 'Real offline sales' divided by 'Total sqm'.",
          "framework": null,
          "confidence": 0.95,
          "extraction": {
            "at": "2026-05-02 18:39:03.662+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "frameworkName": "decomposition"
        }
      ],
      "arcBeats": [
        {
          "to": 9,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 5,
          "name": "Problem",
          "beatId": "0920faf0-f20a-44c2-84ab-1f748b7d7dbd",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Problem (Identify pain)",
            "slug": "problem-agitate-solution-problem-identify-pain",
            "status": "active",
            "canonId": "019dd9b8-0e78-74bb-b8f6-54348367a131",
            "version": 1,
            "description": null
          },
          "evidence": "The deck identifies the problem of declining profitability in the grocery industry, highlighting margin pressure and sales decline.",
          "position": 0,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 10,
      "type": "analysis",
      "title": "The slide uses a categorization framework to split drivers into Macroeconomic and Industry dynamics.",
      "function": "diagnose",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "diagnose",
        "functionCanon": {
          "name": "Diagnose",
          "slug": "diagnose",
          "status": "active",
          "canonId": "019de52d-1657-7223-acc5-7437d878c850",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 48,
        "componentCount": 6,
        "textChars": 444,
        "nDataPoints": 6,
        "notes": "The slide uses a categorization framework to split drivers into Macroeconomic and Industry dynamics.",
        "elementsJson": [
          "headline_text",
          "icon_grid",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:03.715+00",
          "seconds": 2.517,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/10",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-10",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Online channel is margin dilutive for most traditional players.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-f0593009c677",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.9,
            "x": 0.05,
            "y": 0.85
          },
          "kind": "diagram",
          "text": "Macroeconomic vs Industry dynamics categorization",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.715+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a4e60b7e-f1e7-4577-b725-9354ed64b0ca",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.9,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "list",
          "text": "High inflation post COVID-19; Declining consumer spending power; Growing share of discounters; Growing share of private label; Growth of online grocery sales channel",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.715+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4a0acd7b-1b35-4b45-a557-b8fdb2a8c0c1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-f4243f623341",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.9,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "Margin pressure is the result of both macroeconomic conditions and industry dynamics in Europe, especially for traditional grocers",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.715+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c5dc4a57-2c50-476a-a87a-2d839577faa3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.05,
            "y": 0.14
          },
          "kind": "title",
          "text": "Historic trend (2019-23)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:03.715+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5aec3879-589b-4aa0-b1f6-63f38a6548cd",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [
        {
          "matchId": "fc146162-9a3c-47c3-9b5f-5ca44a4ab09f",
          "evidence": "The slide maps specific trends to their resulting impact on retailer margins.",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-05-02 18:39:03.715+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "frameworkName": "causal-chain"
        }
      ],
      "arcBeats": [
        {
          "to": 18,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Agitate",
          "beatId": "3e545f00-1a24-48ca-99f0-f6f21d166416",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Agitate (Make it worse)",
            "slug": "problem-agitate-solution-agitate-make-it-worse",
            "status": "active",
            "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
            "version": 1,
            "description": null
          },
          "evidence": "The deck agitates the problem by highlighting the impact of macroeconomic conditions and industry dynamics on grocers' margins.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 11,
      "type": "analysis",
      "title": "The slide highlights the divergence in margin performance between traditional grocery formats and discounters.",
      "function": "compare_peers",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 53,
        "componentCount": 6,
        "textChars": 503,
        "nDataPoints": 30,
        "notes": "The slide highlights the divergence in margin performance between traditional grocery formats and discounters.",
        "elementsJson": [
          "bar_chart_vertical",
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:07.693+00",
          "seconds": 6.24,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/11",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-11",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Skewed by Lidl. Margins range 6.1% - 8.3%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-5b9e4142dd95",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.92,
            "x": 0.04,
            "y": 0.2
          },
          "kind": "chart",
          "text": "Gross and EBITDA margin trends by channel",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.693+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "33fc2a6b-e901-419a-b4d1-cc3e4152b2ef",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.7,
            "x": 0.04,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "1. Ahold (NLD), Carrefour (FRA), Jerónimo Martins (PRT), Metro (DEU), Kesko (FIN), Sonae (PRT), Dino Polska (POL) | 2. LIDL (GER), Colruyt Group (BEL), Axfood (SWE) | 3. UK, DE, FR, IT, ES, NL, CZ, PL, PT, BE",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.693+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8b52a96a-5855-4f1c-88e1-38691a87b974",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: -0.6pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-5fb407830bbf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.45,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: State of Grocery 2024, McKinsey Value Intelligence Platform, S&P Global Market Intelligence",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.693+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "61fc585c-9f67-438e-81a0-182018ff074f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.9,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "EBITDA margin of super/ hypermarkets (-0.6pp) shows negative momentum vs discounters (+0.2pp)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.693+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "be11f0bf-827a-4942-9175-df516a4281c0",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "-0.6pp",
          "numberKind": "percent",
          "actionTitle": "EBITDA margin of super/ hypermarkets (-0.6pp) shows negative momentum vs discounters (+0.2pp)",
          "calloutText": "Skewed by Lidl. Margins range 6.1% - 8.3%",
          "numberScale": null,
          "numberValue": -0.6,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 18,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Agitate",
          "beatId": "3e545f00-1a24-48ca-99f0-f6f21d166416",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Agitate (Make it worse)",
            "slug": "problem-agitate-solution-agitate-make-it-worse",
            "status": "active",
            "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
            "version": 1,
            "description": null
          },
          "evidence": "The deck agitates the problem by highlighting the impact of macroeconomic conditions and industry dynamics on grocers' margins.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 12,
      "type": "analysis",
      "title": "The slide uses a waterfall-style logic to explain margin compression despite inflationary pressures.",
      "function": "analyze_data",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 75,
        "componentCount": 8,
        "textChars": 722,
        "nDataPoints": 35,
        "notes": "The slide uses a waterfall-style logic to explain margin compression despite inflationary pressures.",
        "elementsJson": [
          "data_table",
          "line_chart",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:04.937+00",
          "seconds": 3.433,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/12",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-12",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.09,
            "w": 0.42,
            "x": 0.54,
            "y": 0.33
          },
          "kind": "callout",
          "text": "Despite high inflation, COGS only increased by 1.2pp, meaning that most (95%) of the inflation was passed to consumers",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.937+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ac786039-11a8-43cf-b919-1b84d2173d49",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.42,
            "w": 0.42,
            "x": 0.54,
            "y": 0.43
          },
          "kind": "chart",
          "text": "Grocery retail market development for EU-10 (Nominal revenue vs Volume)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.937+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6f20789d-ecc8-48b2-8360-90227c24d27e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.42,
            "x": 0.54,
            "y": 0.23
          },
          "kind": "disclaimer",
          "text": "Based on P&Ls of publicly listed grocery retailers, thus skewed towards traditional super/hypermarkets, as major European discounters are privately owned",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.937+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3a3a4d3c-dcb4-4cb9-99c9-a7117f8d7193",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: -0.4pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-9077cdbda473",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.4,
            "x": 0.04,
            "y": 0.82
          },
          "kind": "paragraph",
          "text": "2023 CAPEX reinvestment was at lowest level since 2000, reflected in lower depreciation",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.937+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0ada90c3-48b4-468f-b684-c1895909ed87",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: State of Grocery 2024, McKinsey Value Intelligence Platform, S&P Global Market Intelligence",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.937+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "81560486-715e-4e6c-bd06-6fba1a1783a5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.5,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "table",
          "text": "Total grocery P&L, as % of revenue (2019-2023)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.937+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7681aa97-9ffd-4f4f-8543-583651cc8c38",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Grocers limited EBITDA margins decline (-0.4pp) by raising prices/ negotiating purchase terms and reducing SG&A and other costs",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.937+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0904a167-7899-4316-afb5-f01567311e46",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "-0.4pp",
          "numberKind": "percent",
          "actionTitle": "Grocers limited EBITDA margins decline (-0.4pp) by raising prices/ negotiating purchase terms and reducing SG&A and other costs",
          "calloutText": "Despite high inflation, COGS only increased by 1.2pp, meaning that most (95%) of the inflation was passed to consumers",
          "numberScale": null,
          "numberValue": -0.4,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [
        {
          "matchId": "a0683232-628e-4276-b049-430f97362fa6",
          "evidence": "The slide links margin decline to specific P&L levers (COGS, SG&A) and market inflation.",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-05-02 18:39:04.937+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "frameworkName": "causal-chain"
        }
      ],
      "arcBeats": [
        {
          "to": 18,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Agitate",
          "beatId": "3e545f00-1a24-48ca-99f0-f6f21d166416",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Agitate (Make it worse)",
            "slug": "problem-agitate-solution-agitate-make-it-worse",
            "status": "active",
            "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
            "version": 1,
            "description": null
          },
          "evidence": "The deck agitates the problem by highlighting the impact of macroeconomic conditions and industry dynamics on grocers' margins.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 13,
      "type": "analysis",
      "title": "The chart uses a diagonal line to represent parity between gross margin change and EBITDA margin change, with shaded regions indicating performance relative to ",
      "function": "analyze_data",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 47,
        "componentCount": 6,
        "textChars": 397,
        "nDataPoints": 12,
        "notes": "The chart uses a diagonal line to represent parity between gross margin change and EBITDA margin change, with shaded regions indicating performance relative to that parity.",
        "elementsJson": [
          "headline_text",
          "bubble_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:04.13+00",
          "seconds": 2.497,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/13",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-13",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.68,
            "w": 0.92,
            "x": 0.04,
            "y": 0.23
          },
          "kind": "chart",
          "text": "Scatter plot of delta EBITDA margin vs delta Gross margin",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Scatter plot",
              "slug": "scatter",
              "status": "active",
              "canonId": "019de52d-007d-72ec-8689-c79fb78e21a2",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "scatter",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.13+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3378ae87-8bf2-4bbd-92df-24d4e65a0fbe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.66,
            "x": 0.3,
            "y": 0.18
          },
          "kind": "legend",
          "text": "2023 Revenue = 10 bn €; Supermarket/Hypermarket; Discounter; Delta EBITDA margin = Delta Gross margin",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Legend",
              "slug": "legend",
              "status": "active",
              "canonId": "31361933-3d22-4c70-bbad-0801e9fffc0c",
              "version": 1,
              "description": "Color/symbol decoder placed adjacent to a chart or diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.13+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "38d19873-8653-4d09-a64d-2d8dde156908",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-f13af2b4e0e1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.35,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: McKinsey Value Intelligence Platform, S&P Global Market Intelligence",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.13+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "64fecf6b-ced0-4697-8d16-3424d3d972c2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Most grocers partly offset inflationary gross margin decline to limit EBITDA margin decrease",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.13+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c7697a08-1683-4f58-a449-7b64250d2604",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.04,
            "y": 0.13
          },
          "kind": "title",
          "text": "2019-2023 change in margin for grocery retailers in Europe",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.13+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4bb5b897-8b32-42f7-8bbc-2584959229f3",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "2x2 matrix",
            "slug": "matrix-2x2",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
            "version": 1,
            "bodyDocId": null,
            "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "841e1aba-1f45-40b0-9eff-fb44086e836d",
          "evidence": "legend: 2023 Revenue = 10 bn €; Supermarket/Hypermarket; Discounter; Delta EBITDA margin = Delta Gross margin",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:33:46.008679+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Waterfall chart",
            "slug": "waterfall-chart",
            "status": "active",
            "bestFor": null,
            "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "57060367-bd38-4cff-8700-c8673283dbb6",
          "evidence": "chart/scatter: Scatter plot of delta EBITDA margin vs delta Gross margin",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:33:45.972147+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 18,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Agitate",
          "beatId": "3e545f00-1a24-48ca-99f0-f6f21d166416",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Agitate (Make it worse)",
            "slug": "problem-agitate-solution-agitate-make-it-worse",
            "status": "active",
            "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
            "version": 1,
            "description": null
          },
          "evidence": "The deck agitates the problem by highlighting the impact of macroeconomic conditions and industry dynamics on grocers' margins.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 14,
      "type": "evidence",
      "title": "The slide uses a four-column layout to present specific case examples, each accompanied by a supporting quote from company leadership.",
      "function": "illustrate_case",
      "rawType": "client_example",
      "block": null,
      "metadata": {
        "slideType": "client_example",
        "slideTypeCanon": {
          "name": "Client example",
          "slug": "client_example",
          "status": "active",
          "canonId": "019de52d-0c87-77cb-9867-613ae22e95ac",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 82,
        "componentCount": 10,
        "textChars": 1214,
        "nDataPoints": 0,
        "notes": "The slide uses a four-column layout to present specific case examples, each accompanied by a supporting quote from company leadership.",
        "elementsJson": [
          "headline_text",
          "logo_grid",
          "bullet_list",
          "quote_block"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:05.756+00",
          "seconds": 3.95,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/14",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-14",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.1,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "disclaimer",
          "text": "Source: Press search",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.756+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2fcbe7c0-5ad5-4ac7-a9ee-53dd34ef47b2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.22,
            "x": 0.04,
            "y": 0.3
          },
          "kind": "list",
          "text": "Ahold Delhaize: Reopened price negotiations, removed Nestlé products.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.756+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "41795f7f-d603-4993-a671-cfc8465fa5d8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.22,
            "x": 0.51,
            "y": 0.3
          },
          "kind": "list",
          "text": "Aldi: Launched sourcing optimizations, unified international assortment, located suppliers near distribution centers.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.756+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4f4dbeb8-ad2f-41a8-844a-cf33791db002",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.22,
            "x": 0.27,
            "y": 0.3
          },
          "kind": "list",
          "text": "Colruyt: Engaged in purchasing alliances with EMD and AgeCore.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.756+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "71534a27-3421-4e45-bb4e-a528345dd1d2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.22,
            "x": 0.75,
            "y": 0.3
          },
          "kind": "list",
          "text": "Tesco: Increased decision power of category managers over purchasing, pricing and promotions.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.756+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c6f988a6-dedd-481b-a18c-e590a10f270f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.22,
            "x": 0.75,
            "y": 0.62
          },
          "kind": "quote",
          "text": "The resulting product understanding [of increasing Category managers decision power] provides a substantial benefit in supplier negotiations for private label and national brands - Head of Trading Grocery, Tesco",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Testimonial",
              "slug": "testimonial",
              "status": "active",
              "canonId": "019de52c-fc21-71b6-9ac3-8266a64945e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "testimonial",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.756+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5df6c104-9154-4940-bc9b-903c04eba6eb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.22,
            "x": 0.04,
            "y": 0.62
          },
          "kind": "quote",
          "text": "We did have some tough negotiations with Nestlé ... it was a place where we said we just don't take prices if they're not acceptable proposals - Natalie Knight, Albert Hejin CFO",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Testimonial",
              "slug": "testimonial",
              "status": "active",
              "canonId": "019de52c-fc21-71b6-9ac3-8266a64945e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "testimonial",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.756+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "649366ee-d628-4302-b912-f1b2d0e44bcc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.22,
            "x": 0.27,
            "y": 0.62
          },
          "kind": "quote",
          "text": "The partnership with EMD gives Colruyt Group access to a wider European network of private label suppliers... [and] will also improve purchasing conditions - Geert Roles, Colruyt Group, CPO",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Testimonial",
              "slug": "testimonial",
              "status": "active",
              "canonId": "019de52c-fc21-71b6-9ac3-8266a64945e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "testimonial",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.756+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d362ce05-699e-4602-bb47-6b59786c07b3",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "quote",
          "text": "We did have some tough negotiations with Nestlé ... it was a place where we said we just don't take prices if they're not acceptable proposals – Natalie Knight, Albert Hejin CFO",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": {
              "name": "Authority citation",
              "slug": "authority-citation",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-49ae-7557-89ad-3fca70469b45",
              "version": 1,
              "bodyDocId": null,
              "description": "Quoting an authority figure, study, or precedent to lend weight.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-c4a364280c8f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Examples of grocers' actions to raising prices/negotiating purchase terms to optimize gross margins",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.756+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e9b7e58f-fda7-4798-94bc-43e67ea9c141",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "List presentation",
            "slug": "list-presentation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
            "version": 1,
            "bodyDocId": null,
            "description": "Bulleted, numbered, or checklist enumerations.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "681f03a9-f834-4c8e-a762-b8774e3cfa33",
          "evidence": "list/bullet: Aldi: Launched sourcing optimizations, unified international assortment, located suppliers near distribution centers.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:33:46.081722+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 18,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Agitate",
          "beatId": "3e545f00-1a24-48ca-99f0-f6f21d166416",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Agitate (Make it worse)",
            "slug": "problem-agitate-solution-agitate-make-it-worse",
            "status": "active",
            "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
            "version": 1,
            "description": null
          },
          "evidence": "The deck agitates the problem by highlighting the impact of macroeconomic conditions and industry dynamics on grocers' margins.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 15,
      "type": "evidence",
      "title": "The slide uses a three-column layout to compare different corporate strategies for cost restructuring.",
      "function": "illustrate_case",
      "rawType": "client_example",
      "block": null,
      "metadata": {
        "slideType": "client_example",
        "slideTypeCanon": {
          "name": "Client example",
          "slug": "client_example",
          "status": "active",
          "canonId": "019de52d-0c87-77cb-9867-613ae22e95ac",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 79,
        "componentCount": 9,
        "textChars": 830,
        "nDataPoints": 4,
        "notes": "The slide uses a three-column layout to compare different corporate strategies for cost restructuring.",
        "elementsJson": [
          "headline_text",
          "logo_grid",
          "bullet_list",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:05.032+00",
          "seconds": 3.057,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/15",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-15",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "disclaimer",
          "text": "1. Goods and Services not for Resale (GNFR) Source: Press search",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e949de24-c01f-4147-b96f-3e02a14965fe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.14,
            "x": 0.43,
            "y": 0.16
          },
          "kind": "image",
          "text": "Carrefour",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "05a8fe20-a1de-4ba3-8eb7-02d181c5169f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.25,
            "x": 0.1,
            "y": 0.18
          },
          "kind": "image",
          "text": "Migros",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "57f86cb3-0204-411c-8e4c-c182b79592ec",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.15,
            "x": 0.75,
            "y": 0.18
          },
          "kind": "image",
          "text": "Tesco",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "87a47593-2bb2-4adb-863f-2414d1157fc8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.28,
            "x": 0.04,
            "y": 0.3
          },
          "kind": "list",
          "text": "Executed a cost restructuring program to create a leaner, more agile organization with simplified processes and clear roles, reducing 150 full-time positions at Migros Supermarket AG's Zurich headquarters",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "303f2bf8-61fa-44bb-9126-360686e29ae1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.28,
            "x": 0.68,
            "y": 0.3
          },
          "kind": "list",
          "text": "Launched cost savings program planned to mitigate inflation effects (2022) including: Savings of £1bn through GNFR, property, store and distribution operations; Removal of counters in 317 stores; Store conversion and closure",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "60b5b675-5f0e-4f97-b2af-682d1fb01dac",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.28,
            "x": 0.36,
            "y": 0.3
          },
          "kind": "list",
          "text": "Launched a bold cost restructuring plan to achieve €4 billion in savings by 2026: Transferred 39 underperforming French stores to independent operators; Reduced nearly 1,000 headquarters roles",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fa6a758b-15cf-47c5-a9d4-adfd2e4c675f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITA margin: €4 billion",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-09fe00f4c8f3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Examples of grocers' actions to reduce SG&A and other structural cost items to stabilize EBITA margins",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "df22f3fe-c3bf-44c8-88fe-f04e29470f3a",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITA margin",
          "numberRaw": "€4 billion",
          "numberKind": "money",
          "actionTitle": "Examples of grocers' actions to reduce SG&A and other structural cost items to stabilize EBITA margins",
          "calloutText": null,
          "numberScale": "b",
          "numberValue": 4,
          "metricFamily": "margin_return",
          "numberCurrency": "€"
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "List presentation",
            "slug": "list-presentation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
            "version": 1,
            "bodyDocId": null,
            "description": "Bulleted, numbered, or checklist enumerations.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "cfb0313c-09df-408a-a7f6-f89386730745",
          "evidence": "list/bullet: Launched cost savings program planned to mitigate inflation effects (2022) including: Savings of £1bn through GNFR, property, store and distribution operations; Removal of counters in 317 stores; Store conve",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:33:46.153646+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 18,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Agitate",
          "beatId": "3e545f00-1a24-48ca-99f0-f6f21d166416",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Agitate (Make it worse)",
            "slug": "problem-agitate-solution-agitate-make-it-worse",
            "status": "active",
            "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
            "version": 1,
            "description": null
          },
          "evidence": "The deck agitates the problem by highlighting the impact of macroeconomic conditions and industry dynamics on grocers' margins.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 16,
      "type": "setup",
      "title": "The slide uses a chronological/logical flow (Past, Future, Action) to frame the industry challenge.",
      "function": "summarize",
      "rawType": "executive_summary",
      "block": null,
      "metadata": {
        "slideType": "executive_summary",
        "slideTypeCanon": {
          "name": "Executive summary",
          "slug": "executive_summary",
          "status": "active",
          "canonId": "019de52d-06be-73ff-81b3-f99fe7f0025e",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 65,
        "componentCount": 6,
        "textChars": 1298,
        "nDataPoints": 5,
        "notes": "The slide uses a chronological/logical flow (Past, Future, Action) to frame the industry challenge.",
        "elementsJson": [
          "headline_text",
          "bullet_list"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:04.932+00",
          "seconds": 2.95,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/16",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-16",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Bolder actions are needed as historical cost optimization will not be sufficient and impact will heavily depend on the actions taken.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-da502615d2c7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.3,
            "x": 0.66,
            "y": 0.2
          },
          "kind": "list",
          "text": "3 Solutions: ... bolder actions are needed to avoid further profitability erosion. Grocers need to do a step change across a set of levers on growth, operational excellence, transformative change. Bolder actions are needed as historical cost optimization will not be sufficient. While many grocers are making progress, none fully accelerated their efforts.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.932+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5bf649d3-8a6f-4e27-b210-80d66504b45a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.3,
            "x": 0.35,
            "y": 0.2
          },
          "kind": "list",
          "text": "2 Outlook: ... will be at risk if no counter measures are taken. Over the next 5 years, pressure on grocers' margins will continue. If no counter measures are taken, average EBITDA impact could range -0.2 to -2.7 pp for hyper/supermarkets. Impact of trends could make super/hypermarkets EBITDA margins thin (~4% on average) with 1-2% of revenue required for renewal CAPEX.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.932+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ae302a7f-dc0a-4556-a3d6-c4e0f97a34d0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.3,
            "x": 0.04,
            "y": 0.2
          },
          "kind": "list",
          "text": "1 Looking back: ... are low and under pressure from macro-economics and industry dynamics. Grocery retail EBITDA margins are 7.1% on average (2009-23), significantly below other industries. Hyper/supermarkets faced stronger pressure compared to discounters. Most grocers limited EBITDA decline through raising prices/negotiating purchase terms, reducing SG&A and lowering investments.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.932+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fbd2609a-ce31-46ea-954c-0717b5b6211b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 7.1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b073-de2fdf278f61",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.04,
            "y": 0.07
          },
          "kind": "title",
          "text": "Grocery profitability in Europe...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:04.932+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d77cdd97-bd7d-4fc7-84e2-c96bc2139881",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "7.1%",
          "numberKind": "percent",
          "actionTitle": null,
          "calloutText": "Bolder actions are needed as historical cost optimization will not be sufficient and impact will heavily depend on the actions taken.",
          "numberScale": null,
          "numberValue": 7.1,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Executive summary",
            "slug": "executive-summary",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4b63-72d5-9734-da757d91ca61",
            "version": 1,
            "bodyDocId": null,
            "description": "A condensed view of the entire argument on a single slide / block.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "b286ad77-91a7-483c-a0ab-a65e1bd59c1e",
          "evidence": "list/bullet: 1 Looking back: ... are low and under pressure from macro-economics and industry dynamics. Grocery retail EBITDA margins are 7.1% on average (2009-23), significantly below other industries. Hyper/supermarket",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:33:46.226092+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "90eb59ef-3f55-4bff-bdd3-dafbebb9f13e",
          "evidence": "The slide follows a clear 'Past-Future-Action' narrative structure.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 18:39:04.932+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "frameworkName": "logical-chain"
        }
      ],
      "arcBeats": [
        {
          "to": 18,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Agitate",
          "beatId": "3e545f00-1a24-48ca-99f0-f6f21d166416",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Agitate (Make it worse)",
            "slug": "problem-agitate-solution-agitate-make-it-worse",
            "status": "active",
            "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
            "version": 1,
            "description": null
          },
          "evidence": "The deck agitates the problem by highlighting the impact of macroeconomic conditions and industry dynamics on grocers' margins.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 17,
      "type": "analysis",
      "title": "The slide uses a two-column layout to present six distinct drivers of margin pressure.",
      "function": "summarize",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 88,
        "componentCount": 9,
        "textChars": 1480,
        "nDataPoints": 14,
        "notes": "The slide uses a two-column layout to present six distinct drivers of margin pressure.",
        "elementsJson": [
          "headline_text",
          "icon_grid",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:05.538+00",
          "seconds": 3.519,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/17",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-17",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.05,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "image",
          "text": "Icons representing inflation, labor, health, market share, private label, and online shopping.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Icon grid",
              "slug": "icon-grid",
              "status": "active",
              "canonId": "019de52c-fdfe-749d-9990-1db465a3eed4",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "icon-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.538+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2776d183-2ce8-4181-b29e-166de512855e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.22,
            "w": 0.45,
            "x": 0.04,
            "y": 0.65
          },
          "kind": "list",
          "text": "3. New diabetes and obesity drugs (GLP-1): Households with GLP-1 drug users cut overall grocery spending by ~6-11%. With users potentially reaching ~4-9% of the EU population by 2029, this could result in further decline in revenue and margins.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.538+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4b183946-2aca-4a9e-a1e9-6aa2780b2b82",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.45,
            "x": 0.52,
            "y": 0.42
          },
          "kind": "list",
          "text": "5. Increasing share of private label: Private label share is expected to grow by 3.1-5.6pp up to 31-33%. Due to the higher margin of these products, this will positively impact profitability of hyper/supermarkets.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.538+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "61f3098d-fd8d-4782-a5ca-bebed19c5b65",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.18,
            "w": 0.45,
            "x": 0.04,
            "y": 0.42
          },
          "kind": "list",
          "text": "2. Continued labor market tightness: Wage inflation is expected to stabilize at ~2.5% p.a., but at an elevated level compared to historic rates. If retailers can only pass 90-100% of inflation to consumers, margins are negatively affected.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.538+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "be3ae07f-b595-49c1-9c25-ca357d7d2961",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.45,
            "x": 0.52,
            "y": 0.65
          },
          "kind": "list",
          "text": "6. Growing share of online: Share of online is expected to increase from 6% to 7-9%. Online business is still margin dilutive with 5-10pp lower EBITDA margin, but will likely improve over time.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.538+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e5164b01-1fad-4c58-9f7b-900596b7431e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.45,
            "x": 0.52,
            "y": 0.25
          },
          "kind": "list",
          "text": "4. Continued market share erosion to discounters: Discounters are expected to grow their market share by 0.9-3.8pp, up to 23-26% of the total retailers market.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.538+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fb7a729d-e08d-408a-a87d-a1031b016baa",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.45,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "list",
          "text": "1. Continued higher food inflation: Food inflation is expected to be ~2.2% p.a., and will erode retailers' margins if only 90-100% of inflation can be passed on to consumers.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.538+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fdd5ff86-6334-4b3b-a8e3-70c31bae2e75",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 5-10pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-46dfa0131dba",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.92,
            "x": 0.04,
            "y": 0.04
          },
          "kind": "title",
          "text": "Over the next 5 years, macroeconomic and industry dynamics will continue to put pressure on grocers' margins, especially for hyper/supermarkets",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.538+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0ef21bea-2240-4a40-ac16-222af47bb354",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "5-10pp",
          "numberKind": "percent",
          "actionTitle": "Over te next 5 years, macroeconomic and industry dynamics will continue to put pressure on grocers' margins, especially for hyper/supermarkets",
          "calloutText": null,
          "numberScale": null,
          "numberValue": -10,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "List presentation",
            "slug": "list-presentation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
            "version": 1,
            "bodyDocId": null,
            "description": "Bulleted, numbered, or checklist enumerations.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "933ec534-7633-4cde-aeb5-9769446e5043",
          "evidence": "list/bullet: 3. New diabetes and obesity drugs (GLP-1): Households with GLP-1 drug users cut overall grocery spending by ~6-11%. With users potentially reaching ~4-9% of the EU population by 2029, this could result in fu",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:33:46.299065+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 18,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Agitate",
          "beatId": "3e545f00-1a24-48ca-99f0-f6f21d166416",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Agitate (Make it worse)",
            "slug": "problem-agitate-solution-agitate-make-it-worse",
            "status": "active",
            "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
            "version": 1,
            "description": null
          },
          "evidence": "The deck agitates the problem by highlighting the impact of macroeconomic conditions and industry dynamics on grocers' margins.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 18,
      "type": "resolution",
      "title": "The slide uses a range-based impact visualization for each trend.",
      "function": "quantify_impact",
      "rawType": "impact_sizing",
      "block": null,
      "metadata": {
        "slideType": "impact_sizing",
        "slideTypeCanon": {
          "name": "Impact sizing",
          "slug": "impact_sizing",
          "status": "active",
          "canonId": "019de52d-0d26-773b-aeda-2d1930f5636d",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 52,
        "componentCount": 6,
        "textChars": 505,
        "nDataPoints": 18,
        "notes": "The slide uses a range-based impact visualization for each trend.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "data_table",
          "bar_chart_horizontal"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:05.361+00",
          "seconds": 2.952,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/18",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-18",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "The potential profit impact of each trend individually for a normative hyper/supermarket based on the current P&L structure",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-8ec1239d17b6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.33,
            "x": 0.63,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Range charts showing EBITDA impact for each trend.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Horizontal bar chart",
              "slug": "bar-horizontal",
              "status": "active",
              "canonId": "019de52c-fec4-7221-986b-1cb5f5e84b1f",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-horizontal",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.361+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "da83b37d-53d3-4401-975e-2a8a08c7ddd7",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA pp impact: -2.7pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-9359362f185d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.9,
            "x": 0.04,
            "y": 0.12
          },
          "kind": "subtitle",
          "text": "The potential profit impact of each trend individually for a normative hyper/supermarket based on the current P&L structure",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.361+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "11a46f09-5b21-443f-938b-4d8d1d53c314",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.92,
            "x": 0.04,
            "y": 0.22
          },
          "kind": "table",
          "text": "Table showing 6 trends with their respective outlooks and EBITDA impact ranges.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.361+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "84dff448-8e05-40c0-8fdc-3692c6ca0928",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.9,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "If no counter measures are taken, average EBITDA impact could range -0.2 to -2.7 pp for hyper/supermarkets",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.361+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "053243da-2fbd-4a0c-8a8c-56006edf3dba",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA pp impact",
          "numberRaw": "-2.7pp",
          "numberKind": "percent",
          "actionTitle": "If no counter measures are taken, average EBITDA impact could range -0.2 to -2.7 pp for hyper/supermarkets",
          "calloutText": "The potential profit impact of each trend individually for a normative hyper/supermarket based on the current P&L structure",
          "numberScale": null,
          "numberValue": -2.7,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Table data",
            "slug": "table-data",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4fab-7168-a82f-b847350a006d",
            "version": 1,
            "bodyDocId": null,
            "description": "Tabular layouts of structured data.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "83477b10-4771-41e4-ac4b-5944b8644f72",
          "evidence": "table/data: Table showing 6 trends with their respective outlooks and EBITDA impact ranges.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:33:46.372103+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 18,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Agitate",
          "beatId": "3e545f00-1a24-48ca-99f0-f6f21d166416",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Agitate (Make it worse)",
            "slug": "problem-agitate-solution-agitate-make-it-worse",
            "status": "active",
            "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
            "version": 1,
            "description": null
          },
          "evidence": "The deck agitates the problem by highlighting the impact of macroeconomic conditions and industry dynamics on grocers' margins.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 23,
          "from": 18,
          "loop": {
            "name": "27_cost_of_inaction",
            "slug": "27-cost-of-inaction",
            "status": "active",
            "bestFor": "Urgent budget requests, compliance, risk mitigation",
            "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
            "description": "Quantify what happens if the audience does nothing",
            "familyLabel": null
          },
          "matchId": "eb2ec9b2-a814-4908-8e9d-54bbf4b5c245",
          "evidence": "The deck highlights the potential impact of not taking action, with average EBITDA impact ranging from -0.2 to -2.7 pp for hyper/supermarkets.",
          "position": 0,
          "objective": "What if grocers do not take countermeasures to address declining profitability?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.379117+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 19,
      "type": "analysis",
      "title": "The slide uses a two-part structure: a line chart showing job vacancy trends and a bar chart showing ECB inflation projections.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 49,
        "componentCount": 6,
        "textChars": 433,
        "nDataPoints": 12,
        "notes": "The slide uses a two-part structure: a line chart showing job vacancy trends and a bar chart showing ECB inflation projections.",
        "elementsJson": [
          "headline_text",
          "line_chart",
          "bar_chart_vertical",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:05.785+00",
          "seconds": 3.063,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/19",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-19",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.08,
            "w": 0.24,
            "x": 0.64,
            "y": 0.42
          },
          "kind": "callout",
          "text": "Labor cost inflation ~16% from 2024 to 2029",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.785+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a36d183c-a241-4f43-a8d8-64533cd791c2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.45,
            "x": 0.52,
            "y": 0.35
          },
          "kind": "chart",
          "text": "ECB projections labor cost inflation 2024 - 2029, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.785+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "57cc7b32-34ba-4a11-8a98-8a38164adab0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.45,
            "x": 0.04,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Job vacancies per unemployed person",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.785+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d4cd8330-585d-4a6d-8a15-17698b96fd7c",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Labor cost inflation: 2%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-b103740b0f00",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.65,
            "x": 0.03,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: ECB, International Labour Organization, Eurostat, UK Office for National Statistics, Ministry of Health, Labor and Welfare, McKinsey Global Institute analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.785+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "87229a7d-ef93-4423-b2da-f0a678c6f557",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.94,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "Labor inflation projected to stabilize above historical average at 2% with peaks of 4.5% and 2.6% in 2024 and 2025",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.785+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8e10b6c2-b952-447a-aa3d-e1f2302d4750",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Labor cost inflation",
          "numberRaw": "2%",
          "numberKind": "percent",
          "actionTitle": "Labor inflation projected to stabilize above historical average at 2% with peaks of 4.5% and 2.6% in 2024 and 2025",
          "calloutText": "Labor cost inflation ~16% from 2024 to 2029",
          "numberScale": null,
          "numberValue": 2,
          "metricFamily": "cost_savings",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [
        {
          "to": 23,
          "from": 18,
          "loop": {
            "name": "27_cost_of_inaction",
            "slug": "27-cost-of-inaction",
            "status": "active",
            "bestFor": "Urgent budget requests, compliance, risk mitigation",
            "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
            "description": "Quantify what happens if the audience does nothing",
            "familyLabel": null
          },
          "matchId": "eb2ec9b2-a814-4908-8e9d-54bbf4b5c245",
          "evidence": "The deck highlights the potential impact of not taking action, with average EBITDA impact ranging from -0.2 to -2.7 pp for hyper/supermarkets.",
          "position": 0,
          "objective": "What if grocers do not take countermeasures to address declining profitability?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.379117+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 20,
      "type": "analysis",
      "title": "McKinsey & Company slide, page 20. Includes detailed footnotes on methodology for low/high case projections.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 50,
        "componentCount": 5,
        "textChars": 671,
        "nDataPoints": 22,
        "notes": "McKinsey & Company slide, page 20. Includes detailed footnotes on methodology for low/high case projections.",
        "elementsJson": [
          "headline_text",
          "bar_chart_vertical",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:05.258+00",
          "seconds": 2.521,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/20",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-20",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.45,
            "x": 0.52,
            "y": 0.18
          },
          "kind": "chart",
          "text": "Private label share of hyper/supermarkets volume, EU",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.258+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9d5ca1b5-a6ba-4fad-9270-326c2cbc2d2c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.45,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "chart",
          "text": "Discounter share of sales, EU, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.258+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b77e9363-4a15-4d71-bc3a-fae468782945",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.88
          },
          "kind": "disclaimer",
          "text": "1. Low case 23% share is based on analysis on correlation of average grocery price spread and discounter share growth per country and high case 26% share is based on historic ('19-'23) CAGR. 2. UK, DE, FR, IT, ES, NL, CZ, PL, PT, SE, BE. 3. Low case 31% share based on extrapolating 2019-2022 growth rate, as the uptick in 2023 likely explained by delayed effect of COVID-induced inflation and high case 33% share is based on extrapolating 2019-2023 growth rate",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.258+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2f3cc725-ff46-47e3-a999-436a27cbb9ff",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Market share: 33%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-744ef1e56fc3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.85,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Discounter share (23-26%) and private label share of hyper/supermarkets (31-33%) expected to increase by 2029",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.258+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ba109159-2c05-4a69-8b23-0bf4f9791e5b",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Market share",
          "numberRaw": "33%",
          "numberKind": "percent",
          "actionTitle": "Discounter share (23-26%) and private label share of hyper/supermarkets (31-33%) expected to increase by 2029",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 33,
          "metricFamily": "share_penetration",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [
        {
          "to": 23,
          "from": 18,
          "loop": {
            "name": "27_cost_of_inaction",
            "slug": "27-cost-of-inaction",
            "status": "active",
            "bestFor": "Urgent budget requests, compliance, risk mitigation",
            "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
            "description": "Quantify what happens if the audience does nothing",
            "familyLabel": null
          },
          "matchId": "eb2ec9b2-a814-4908-8e9d-54bbf4b5c245",
          "evidence": "The deck highlights the potential impact of not taking action, with average EBITDA impact ranging from -0.2 to -2.7 pp for hyper/supermarkets.",
          "position": 0,
          "objective": "What if grocers do not take countermeasures to address declining profitability?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.379117+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 21,
      "type": "analysis",
      "title": "The chart highlights that historical cost optimization is insufficient to offset the projected trend impact, pushing margins toward the 2-4% range, which is clo",
      "function": "quantify_impact",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 62,
        "componentCount": 7,
        "textChars": 549,
        "nDataPoints": 16,
        "notes": "The chart highlights that historical cost optimization is insufficient to offset the projected trend impact, pushing margins toward the 2-4% range, which is close to the required renewal CAPEX.",
        "elementsJson": [
          "headline_text",
          "bar_chart_grouped",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:06.543+00",
          "seconds": 3.597,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/21",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-21",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.1,
            "w": 0.28,
            "x": 0.68,
            "y": 0.295
          },
          "kind": "callout",
          "text": "Continuation of historical cost optimization (1 – 1.5%) will not be sufficient to counter max. trend impact",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.543+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b653c18e-01d6-457a-a782-aba0183efa6b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.35,
            "x": 0.05,
            "y": 0.295
          },
          "kind": "callout",
          "text": "Renewal CAPEX requires minimum of 1 – 2% of sales; Average historical depreciation above 3%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.543+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b674ceb9-f231-4887-b658-180bbc3fe744",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.9,
            "x": 0.05,
            "y": 0.185
          },
          "kind": "chart",
          "text": "Trend impact on adjusted EBITDA margin on selected peer group hyper/supermarkets, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.543+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a16479a5-6e96-4213-9095-8392bebc8fbc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.53,
            "y": 0.205
          },
          "kind": "legend",
          "text": "Adj. EBITDA margin (2023) | Adj. EBITDA margin w./ max. trend impact of 2.7pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Legend",
              "slug": "legend",
              "status": "active",
              "canonId": "31361933-3d22-4c70-bbad-0801e9fffc0c",
              "version": 1,
              "description": "Color/symbol decoder placed adjacent to a chart or diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.543+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3f15661c-ed4d-4f74-88f9-cc2575c0519e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 4%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:11+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-113d24b9c5cd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.25,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: McKinsey Value Intelligence, McKinsey Analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.543+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2fd7547b-0965-43ae-b3e9-2ad44dbf926c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Impact of trends could make super/hypermarkets EBITDA margins thin (~4%) with 1-2% of revenue required for renewal CAPEX",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.543+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b66ea917-b330-4131-8bd8-4e4a18a69cc8",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "4%",
          "numberKind": "percent",
          "actionTitle": "Impact of trends could make super/hypermarkets EBITDA margins thin (~4%) with 1-2% of revenue required for renewal CAPEX",
          "calloutText": "Continuation of historical cost optimization (1 – 1.5%) will not be sufficient to counter max. trend impact",
          "numberScale": null,
          "numberValue": 4,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [
        {
          "matchId": "2c9a27a9-e4a7-4d7f-83a8-8c0def3804ec",
          "evidence": "The slide title is a full sentence summarizing the key takeaway.",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 18:39:06.543+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "frameworkName": "action-titles"
        }
      ],
      "arcBeats": [],
      "loops": [
        {
          "to": 23,
          "from": 18,
          "loop": {
            "name": "27_cost_of_inaction",
            "slug": "27-cost-of-inaction",
            "status": "active",
            "bestFor": "Urgent budget requests, compliance, risk mitigation",
            "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
            "description": "Quantify what happens if the audience does nothing",
            "familyLabel": null
          },
          "matchId": "eb2ec9b2-a814-4908-8e9d-54bbf4b5c245",
          "evidence": "The deck highlights the potential impact of not taking action, with average EBITDA impact ranging from -0.2 to -2.7 pp for hyper/supermarkets.",
          "position": 0,
          "objective": "What if grocers do not take countermeasures to address declining profitability?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.379117+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 22,
      "type": "setup",
      "title": "Uses a linear process flow structure to connect past, future, and recommended actions.",
      "function": "summarize",
      "rawType": "executive_summary",
      "block": null,
      "metadata": {
        "slideType": "executive_summary",
        "slideTypeCanon": {
          "name": "Executive summary",
          "slug": "executive_summary",
          "status": "active",
          "canonId": "019de52d-06be-73ff-81b3-f99fe7f0025e",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 65,
        "componentCount": 6,
        "textChars": 1298,
        "nDataPoints": 5,
        "notes": "Uses a linear process flow structure to connect past, future, and recommended actions.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "process_diagram"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:05.721+00",
          "seconds": 2.717,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/22",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-22",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Bolder actions are needed as historical cost optimization will not be sufficient and impact will heavily depend on the actions taken.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-5bc6310cb891",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.3,
            "x": 0.35,
            "y": 0.2
          },
          "kind": "list",
          "text": "2 Outlook: ... will be at risk if no counter measures are taken. Over the next 5 years, pressure on grocers' margins will continue. If no counter measures are taken, average EBITDA impact could range -0.2 to -2.7 pp for hyper/supermarkets. Impact of trends could make super/hypermarkets EBITDA margins thin (~4% on average) with 1-2% of revenue required for renewal CAPEX.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.721+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6142e7ed-eb95-45ce-8337-b4cc21de4e48",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.3,
            "x": 0.04,
            "y": 0.2
          },
          "kind": "list",
          "text": "1 Looking back: ... are low and under pressure from macro-economics and industry dynamics. Grocery retail EBITDA margins are 7.1% on average (2009-23), significantly below other industries. Hyper/supermarkets faced stronger pressure compared to discounters. Most grocers limited EBITDA decline through raising prices/negotiating purchase terms, reducing SG&A and lowering investments.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.721+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "697d6786-02ed-4de7-a2a5-65368f61ce59",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.3,
            "x": 0.66,
            "y": 0.2
          },
          "kind": "list",
          "text": "3 Solutions: ... bolder actions are needed to avoid further profitability erosion. Grocers need to do a step change across a set of levers on growth, operational excellence, transformative change. Bolder actions are needed as historical cost optimization will not be sufficient. While many grocers are making progress, none fully accelerated their efforts.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.721+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "da811b53-decc-42c6-9dc3-64f1c129cdac",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 7.1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-5fbe59f1129d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.04,
            "y": 0.07
          },
          "kind": "title",
          "text": "Grocery profitability in Europe...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:05.721+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0cdff206-cfae-48d8-b186-ac62c5b1ed02",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "7.1%",
          "numberKind": "percent",
          "actionTitle": null,
          "calloutText": "Bolder actions are needed as historical cost optimization will not be sufficient and impact will heavily depend on the actions taken.",
          "numberScale": null,
          "numberValue": 7.1,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Executive summary",
            "slug": "executive-summary",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4b63-72d5-9734-da757d91ca61",
            "version": 1,
            "bodyDocId": null,
            "description": "A condensed view of the entire argument on a single slide / block.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "3159d798-fed4-4304-88cd-385daa320ef8",
          "evidence": "list/bullet: 1 Looking back: ... are low and under pressure from macro-economics and industry dynamics. Grocery retail EBITDA margins are 7.1% on average (2009-23), significantly below other industries. Hyper/supermarket",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:33:46.555823+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "41c421dd-86bb-4394-b1d7-73ecc79fd4c9",
          "evidence": "The slide links past performance to future risks and required future actions.",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-05-02 18:39:05.721+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "frameworkName": "causal-chain"
        }
      ],
      "arcBeats": [],
      "loops": [
        {
          "to": 23,
          "from": 18,
          "loop": {
            "name": "27_cost_of_inaction",
            "slug": "27-cost-of-inaction",
            "status": "active",
            "bestFor": "Urgent budget requests, compliance, risk mitigation",
            "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
            "description": "Quantify what happens if the audience does nothing",
            "familyLabel": null
          },
          "matchId": "eb2ec9b2-a814-4908-8e9d-54bbf4b5c245",
          "evidence": "The deck highlights the potential impact of not taking action, with average EBITDA impact ranging from -0.2 to -2.7 pp for hyper/supermarkets.",
          "position": 0,
          "objective": "What if grocers do not take countermeasures to address declining profitability?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.379117+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 23,
      "type": "setup",
      "title": "The slide uses a numbered list format to present a comprehensive strategic roadmap. Icons represent the three main pillars.",
      "function": "present_solution",
      "rawType": "initiative_list",
      "block": null,
      "metadata": {
        "slideType": "initiative_list",
        "slideTypeCanon": {
          "name": "Initiative list",
          "slug": "initiative_list",
          "status": "active",
          "canonId": "019de52d-0caf-770e-9b91-b99239121f50",
          "version": 1,
          "description": null
        },
        "function": "present_solution",
        "functionCanon": {
          "name": "Present solution",
          "slug": "present_solution",
          "status": "active",
          "canonId": "019de52d-15b8-71da-bd23-2b767850cbce",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 63,
        "componentCount": 7,
        "textChars": 888,
        "nDataPoints": 0,
        "notes": "The slide uses a numbered list format to present a comprehensive strategic roadmap. Icons represent the three main pillars.",
        "elementsJson": [
          "headline_text",
          "numbered_list",
          "icon_grid",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:06.679+00",
          "seconds": 3.351,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/23",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-23",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.1,
            "w": 0.92,
            "x": 0.04,
            "y": 0.85
          },
          "kind": "callout",
          "text": "While many grocers are beginning to make progress, none fully accelerated their efforts",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.679+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6d3e1e74-9e8e-415c-8139-4871ffc82d28",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "framework",
          "text": "Future-Back",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Framework",
              "slug": "framework",
              "status": "active",
              "canonId": "019de52c-fa18-77c6-b10a-ccb8277ac0fa",
              "version": 1,
              "description": "Named conceptual framework instance."
            },
            "tool": {
              "name": "Structuring frame",
              "slug": "structuring-frame",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-48ff-708d-8103-a8464743e560",
              "version": 1,
              "bodyDocId": null,
              "description": "A named scaffold for organising content (SCQA, situation-action-result, etc.).",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-cff8900693f0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.64,
            "y": 0.17
          },
          "kind": "legend",
          "text": "Potential EBITDA impact",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Legend",
              "slug": "legend",
              "status": "active",
              "canonId": "31361933-3d22-4c70-bbad-0801e9fffc0c",
              "version": 1,
              "description": "Color/symbol decoder placed adjacent to a chart or diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.679+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f5fd9658-0682-473f-8856-7de73207f47a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.3,
            "x": 0.66,
            "y": 0.25
          },
          "kind": "list",
          "text": "11. Modernize IT, incl. operating model\n12. Invest in people and talent\n13. Take sustainability to next level\n14. Monetize Retail Media\n15. Develop your ecosystem",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Numbered list",
              "slug": "numbered",
              "status": "active",
              "canonId": "019de52c-fcc0-7718-a284-a4250c805df2",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "numbered",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.679+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "69da269e-e7a3-4707-9e12-d85fa6bb4d5a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.3,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "list",
          "text": "1. Excel in Fresh quality\n2. Step-up private label quality and develop private brands\n3. Improve store availability and reshape the store network\n4. Win on ready-to and food-service offerings\n5. Reinvent your loyalty program and promotions",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Numbered list",
              "slug": "numbered",
              "status": "active",
              "canonId": "019de52c-fcc0-7718-a284-a4250c805df2",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "numbered",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.679+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ac1f483a-6d5a-4f89-9b77-343e889d7f92",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.3,
            "x": 0.35,
            "y": 0.25
          },
          "kind": "list",
          "text": "6. Implement AI-based commercial optimization\n7. Drive COGS reduction through negotiation and buying alliances\n8. Improve end-to-end productivity from supplier to customer\n9. Design a zero-based operating model for HQ\n10. Automate HQ operations using (Gen)AI",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Numbered list",
              "slug": "numbered",
              "status": "active",
              "canonId": "019de52c-fcc0-7718-a284-a4250c805df2",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "numbered",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.679+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f7e5861c-ae6d-43ca-9504-cb03456b7549",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.8,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Taking a future-back perspective, bolder actions across levers needed to avoid further profitability erosion",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.679+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "554f00e1-6d02-4417-8679-9d6279c89325",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "List presentation",
            "slug": "list-presentation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
            "version": 1,
            "bodyDocId": null,
            "description": "Bulleted, numbered, or checklist enumerations.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "ad87acf1-e15b-489a-930f-7407e4262f0c",
          "evidence": "list/numbered: 6. Implement AI-based commercial optimization",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:33:46.629082+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 23,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "dc1fce7a-7c35-4696-b140-a4db2f96d5a0",
          "evidence": "Structured list of strategic actions categorized by pillar",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 18:39:06.679+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 23,
          "frameworkName": "initiative_list"
        }
      ],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 23,
          "from": 18,
          "loop": {
            "name": "27_cost_of_inaction",
            "slug": "27-cost-of-inaction",
            "status": "active",
            "bestFor": "Urgent budget requests, compliance, risk mitigation",
            "canonId": "019dd956-70d1-7395-a15b-857ba858b394",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Status Quo -> The Hidden Costs Accumulating -> The Future State of Inaction -> The Tipping Point",
            "description": "Quantify what happens if the audience does nothing",
            "familyLabel": null
          },
          "matchId": "eb2ec9b2-a814-4908-8e9d-54bbf4b5c245",
          "evidence": "The deck highlights the potential impact of not taking action, with average EBITDA impact ranging from -0.2 to -2.7 pp for hyper/supermarkets.",
          "position": 0,
          "objective": "What if grocers do not take countermeasures to address declining profitability?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.379117+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 24,
      "type": "analysis",
      "title": "The slide uses a waterfall chart to show how negative trends erode EBITDA and how specific operational levers can recover it.",
      "function": "quantify_impact",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 81,
        "componentCount": 8,
        "textChars": 1130,
        "nDataPoints": 15,
        "notes": "The slide uses a waterfall chart to show how negative trends erode EBITDA and how specific operational levers can recover it.",
        "elementsJson": [
          "headline_text",
          "waterfall_chart",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:07.332+00",
          "seconds": 3.976,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/24",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-24",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.12,
            "w": 0.35,
            "x": 0.62,
            "y": 0.22
          },
          "kind": "callout",
          "text": "Without bold countering measures the average hyper/supermarket's is set to fall below required EBITDA to cover renewal CAPEX",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.332+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1b767ae1-ea0b-47df-8c8e-9a8c384fc2c9",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "Grocers need to do a step change across a set of levers best fitted to value proposition and success to win. Above calculation does not yet include (one off) initial investments.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-e62b164846e9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.58,
            "w": 0.55,
            "x": 0.04,
            "y": 0.21
          },
          "kind": "chart",
          "text": "EBITDA hyper/supermarket P&L from 2023 to 2029, as % of revenue",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Waterfall chart",
              "slug": "waterfall",
              "status": "active",
              "canonId": "019de52d-002e-733e-b5cf-dd3beb6692cc",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "waterfall",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.332+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7e67dc0c-c6f2-4454-acbb-bb64d099541e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.42,
            "w": 0.35,
            "x": 0.04,
            "y": 0.38
          },
          "kind": "list",
          "text": "Step-up private label quality, Improve store availability, Drive COGS reduction, Improve end-to-end productivity, Monetize Retail Media",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.332+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "88446459-f77f-4f75-b1c0-142b890e7ae7",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 5.5-8",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b074-ea4f2a8bcee1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.83
          },
          "kind": "paragraph",
          "text": "Grocers need to do a step change across a set of levers best fitted to value proposition and success to win. Above calculation does not yet include (one off) initial investments. Higher EBITDA improvement requires larger investment",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.332+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "42c784d3-cefd-4100-a05b-ab749ce85b3a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.8,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "1. Ahold (NLD), Carrefour (FRA), Jerónimo Martins (PRT), Metro (DEU), Kesko (FIN), Sonae (PRT), Dino Polska (POL) | 2. Required renewal CAPEX is 1 – 2% EBITA margin, corresponding to ~4 – 5% EBITDA margin for hyper/supermarkets\nSource: McKinsey Value Intelligence",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.332+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "366af2ee-56ee-4755-9d50-7b446085e39d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Bolder actions are needed to avoid further profitability erosion and to get to sustainable profitability before 2030",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.332+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "777e2245-6a3b-4169-b593-a459e356a9ac",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "5.5-8",
          "numberKind": "plain",
          "actionTitle": "Bolder actions are needed to avoid further profitability erosion and to get to sustainable profitability before 2030",
          "calloutText": "Grocers need to do a step change across a set of levers best fitted to value proposition and success to win. Above calculation does not yet include (one off) initial investments.",
          "numberScale": null,
          "numberValue": 5.5,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Waterfall chart",
            "slug": "waterfall-chart",
            "status": "active",
            "bestFor": null,
            "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "c4f49584-36c6-43df-b2ec-b447269f4886",
          "evidence": "chart/waterfall: EBITDA hyper/supermarket P&L from 2023 to 2029, as % of revenue",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:33:46.701947+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 24,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "88cf587c-7507-4ed5-8c99-35e687d402ac",
          "evidence": "The slide uses a waterfall chart to bridge 2023 EBITDA to 2029 EBITDA via various levers.",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 18:39:07.332+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 24,
          "frameworkName": "waterfall-chart"
        }
      ],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 25,
      "type": "evidence",
      "title": "The slide uses a side-by-side comparison structure to highlight two distinct strategies for fresh quality.",
      "function": "illustrate_case",
      "rawType": "client_example",
      "block": null,
      "metadata": {
        "slideType": "client_example",
        "slideTypeCanon": {
          "name": "Client example",
          "slug": "client_example",
          "status": "active",
          "canonId": "019de52d-0c87-77cb-9867-613ae22e95ac",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 52,
        "componentCount": 7,
        "textChars": 477,
        "nDataPoints": 0,
        "notes": "The slide uses a side-by-side comparison structure to highlight two distinct strategies for fresh quality.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "paragraph",
          "photo",
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:06.658+00",
          "seconds": 2.989,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/25",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-25",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Wegmans has focused on creating the “wet market” vibe through: Focusing on organic, sustainable and small-scale farming; Highlighting proximity of products; Generating overall premium feeling.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-01c05bfec20b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.28,
            "w": 0.43,
            "x": 0.04,
            "y": 0.61
          },
          "kind": "image",
          "text": "Wegmans store photos",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.658+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "43c48290-6fbe-4f1c-9f49-c2dc6f7337e9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.28,
            "w": 0.43,
            "x": 0.53,
            "y": 0.61
          },
          "kind": "image",
          "text": "Albert Heijn fresh product photos",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.658+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "eaccca0e-2775-46bc-a18a-08409cd8d1f2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.92,
            "x": 0.04,
            "y": 0.24
          },
          "kind": "list",
          "text": "Wegmans creates “wet market” vibe in its fresh department. Albert Heijn partners with Vezet to accelerate fresh innovation.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.658+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e7b4a41f-db98-4b6c-8e78-eb13f074f07d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.04,
            "y": 0.16
          },
          "kind": "paragraph",
          "text": "Non-exhaustive",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.658+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ee19aa4c-9bae-4bc8-ae45-b1c076ebe2cf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: Press search, expert input",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.658+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "35a8198f-259a-4d15-9347-a73e6d62c572",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.04,
            "y": 0.07
          },
          "kind": "title",
          "text": "Wegmans and Albert Heijn excel in offering high Fresh quality",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.658+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bba0f76d-80bb-48c3-8609-0860bb5b452c",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Aesthetic-Usability Effect",
            "slug": "aesthetic-usability-effect",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-c150-75ee-9212-183da76c56da",
            "version": 1,
            "bodyDocId": null,
            "description": "Attractive designs are perceived as easier to use and more trustworthy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "7051c412-05c2-42e3-9aff-8857be3078ea",
          "evidence": "The slide mentions creating a premium feeling through visual elements.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:33:46.116188+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 25,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "List presentation",
            "slug": "list-presentation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
            "version": 1,
            "bodyDocId": null,
            "description": "Bulleted, numbered, or checklist enumerations.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "91161e57-91ce-4e1b-9821-5bcae6113984",
          "evidence": "The slide contains a list/bullet component with text describing how Wegmans creates a 'wet market' vibe.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:33:46.073822+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 25,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 31,
          "from": 25,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "cde70213-da08-4d51-b524-8dff1dbebeef",
          "evidence": "The deck provides a detailed breakdown of various levers that grocers can use to improve profitability, such as private label quality, store network reshaping, and COGS reduction.",
          "position": 1,
          "objective": "How can grocers improve profitability through various levers?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.420337+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 26,
      "type": "resolution",
      "title": "The chart uses a bridge-style visualization to show the delta between 2023 and 2029 metrics.",
      "function": "quantify_impact",
      "rawType": "impact_sizing",
      "block": null,
      "metadata": {
        "slideType": "impact_sizing",
        "slideTypeCanon": {
          "name": "Impact sizing",
          "slug": "impact_sizing",
          "status": "active",
          "canonId": "019de52d-0d26-773b-aeda-2d1930f5636d",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 52,
        "componentCount": 6,
        "textChars": 524,
        "nDataPoints": 12,
        "notes": "The chart uses a bridge-style visualization to show the delta between 2023 and 2029 metrics.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_horizontal",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:07.216+00",
          "seconds": 3.373,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/26",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-26",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Stepping up quality of private label & develop private brands to grow to 15% of volume could add up to 0.5% in EBITDA margin",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:08+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-8e0bc8ddb661",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.45,
            "x": 0.5,
            "y": 0.2
          },
          "kind": "chart",
          "text": "P&L impact of hyper/supermarkets, % of revenue",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Waterfall bridge / value bridge",
              "slug": "waterfall-bridge",
              "status": "active",
              "canonId": "019de52d-0055-7469-ba67-a7f7a327dec1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "waterfall-bridge",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.216+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "183937e4-973f-410a-ad83-5854c4c73410",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.45,
            "x": 0.03,
            "y": 0.2
          },
          "kind": "list",
          "text": "Context & assumptions",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.216+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0f6f673e-a465-4893-ad4d-105b651b1cb7",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 0.5%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:08+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-91e26bf9badf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.9,
            "x": 0.03,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "1. 2029 COGS, SG&A & Other Opex, and EBITDA presented as share of 2029 revenue (=100%) Source: State of Grocery 2024, McKinsey 2024 European Consumer Survey, McKinsey analysis, expert input,",
          "attrs": {
            "numbered": true
          },
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.216+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3f14cad5-4089-44ce-a4ff-afb676f66865",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.9,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "Stepping up quality of private label & develop private brands to grow to 15% of volume could add up to 0.5% in EBITDA margin",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.216+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1f54d12d-8154-4a17-8ae2-fe90735a6c61",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "0.5%",
          "numberKind": "percent",
          "actionTitle": "Stepping up quality of private label & develop private brands to grow to 15% of volume could add up to 0.5% in EBITDA margin",
          "calloutText": "Stepping up quality of private label & develop private brands to grow to 15% of volume could add up to 0.5% in EBITDA margin",
          "numberScale": null,
          "numberValue": 0.5,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Waterfall chart",
            "slug": "waterfall-chart",
            "status": "active",
            "bestFor": null,
            "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "fdd431bb-d51b-472c-b838-65938a681ffc",
          "evidence": "The slide contains a waterfall-bridge chart showing P&L impact.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:33:46.194525+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "b8024c3d-ce7a-4d28-ac55-c32425e72165",
          "evidence": "The chart visualizes the change in P&L components between 2023 and 2029.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 18:39:07.216+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "frameworkName": "waterfall-bridge"
        }
      ],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 31,
          "from": 25,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "cde70213-da08-4d51-b524-8dff1dbebeef",
          "evidence": "The deck provides a detailed breakdown of various levers that grocers can use to improve profitability, such as private label quality, store network reshaping, and COGS reduction.",
          "position": 1,
          "objective": "How can grocers improve profitability through various levers?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.420337+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 27,
      "type": "evidence",
      "title": "The slide uses a side-by-side comparison structure to contrast the two retailers' private label approaches.",
      "function": "illustrate_case",
      "rawType": "client_example",
      "block": null,
      "metadata": {
        "slideType": "client_example",
        "slideTypeCanon": {
          "name": "Client example",
          "slug": "client_example",
          "status": "active",
          "canonId": "019de52d-0c87-77cb-9867-613ae22e95ac",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 85,
        "componentCount": 9,
        "textChars": 1459,
        "nDataPoints": 3,
        "notes": "The slide uses a side-by-side comparison structure to contrast the two retailers' private label approaches.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "logo_grid",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:07.094+00",
          "seconds": 3.143,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/27",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-27",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Private brand sales for Mercadona (largest discounter grocer in Spain at 27% market share) accounted for ~75% of all sales in 2023",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-3e18a40e4055",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.45,
            "x": 0.51,
            "y": 0.7
          },
          "kind": "image",
          "text": "Hacendado, Compy, Deliplus, Bosque Verde logos",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo grid",
              "slug": "logo-grid",
              "status": "active",
              "canonId": "019de52c-fdd7-7409-93e5-81280a8ca215",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "15e02458-de2e-429a-a6a3-e79440b1a2bd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.45,
            "x": 0.51,
            "y": 0.34
          },
          "kind": "list",
          "text": "Private brand sales for Mercadona (largest discounter grocer in Spain at 27% market share) accounted for ~75% of all sales in 2023. Mercadona achieves most of its sales from its four, category specific private brands: Hacendado (food products), Bosque Verde (household/cleaning products), Deliplus (personal care and cosmetics) and Compy (pet care)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1cebde16-1b49-47fa-a811-baccf746a015",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.45,
            "x": 0.04,
            "y": 0.34
          },
          "kind": "list",
          "text": "Albert has focused on expanding its private label (PL) and private brands (PB) offering as 49.4% of total food sales in Europe are own brand. To differentiate its offering beyond price, Albert Heijn introduced various innovative products, PL variations and private brands such as AH Excellent (premium), AH Glutenfree, AH Terra (vegan line with 200+ products), AH brand ready-to-eat/cook, Streeckgenoten (PB offering local deli meat / near fresh products), Perla (PB offering coffee products), Delicate (PB offering chocolate",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7e1a3ebb-ce7f-4455-890e-6ac1170da9dc",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Private label sales share: 75%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-42236bd4067b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "paragraph",
          "text": "Albert Heijn differentiated its PL offering with multiple targeted variations",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "39deb5af-7c73-4064-86d8-6c4d76220494",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.51,
            "y": 0.25
          },
          "kind": "paragraph",
          "text": "Mercadonas four private brands account for 75% of all sales",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3f4db2ca-99d3-4bb0-9f47-1a88fda62933",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.04,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "1. Presented number is for Ahold Delhaize group of which Albert Heijn is largest player. Source: Company financial statements, press search, Statista",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ac8335aa-e901-4a1b-b65e-f092983a7fe7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.8,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "Mercadona and Albert Heijn are leading players in Europe in building their private label/brands",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0e2e63a0-2798-4a44-8f8a-38657b8a1c81",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Private label sales share",
          "numberRaw": "75%",
          "numberKind": "percent",
          "actionTitle": "Mercadona and Albert Heijn are leading players in Europe in building their private label/brands",
          "calloutText": "Private brand sales for Mercadona (largest discounter grocer in Spain at 27% market share) accounted for ~75% of all sales in 2023",
          "numberScale": null,
          "numberValue": 75,
          "metricFamily": "share_penetration",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "List presentation",
            "slug": "list-presentation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
            "version": 1,
            "bodyDocId": null,
            "description": "Bulleted, numbered, or checklist enumerations.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "c8d64098-8e7b-4a33-b6e4-370ea7f8c4ca",
          "evidence": "The slide contains list/bullet components with text describing private label and brand strategies.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:33:46.27153+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 27,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 31,
          "from": 25,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "cde70213-da08-4d51-b524-8dff1dbebeef",
          "evidence": "The deck provides a detailed breakdown of various levers that grocers can use to improve profitability, such as private label quality, store network reshaping, and COGS reduction.",
          "position": 1,
          "objective": "How can grocers improve profitability through various levers?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.420337+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 28,
      "type": "analysis",
      "title": "The chart is a waterfall-style bridge showing the transition from 2023 to 2029.",
      "function": "quantify_impact",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 79,
        "componentCount": 8,
        "textChars": 966,
        "nDataPoints": 14,
        "notes": "The chart is a waterfall-style bridge showing the transition from 2023 to 2029.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_horizontal",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:06.896+00",
          "seconds": 2.844,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/28",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-28",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Reshaping store networks is a lever for grocery retailers to improve profitability and consumer experience, with retailers increasingly shifting focus from network expansion to strategic footprint optimization balancing efficiency and market presence, specifically for hypermarkets.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-5d7672172114",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.48,
            "x": 0.48,
            "y": 0.021
          },
          "kind": "chart",
          "text": "PP&L impact of hyper/supermarkets, % of revenue",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Waterfall bridge / value bridge",
              "slug": "waterfall-bridge",
              "status": "active",
              "canonId": "019de52d-0055-7469-ba67-a7f7a327dec1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "waterfall-bridge",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.896+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "15f1cc63-598e-46ce-91c9-5aad1eeba465",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "1. 2029 COGS, SG&A & Other Opex, and EBITDA presented as share of 2029 revenue (=100%)\nSource: State of Grocery 2024, McKinsey 2024 European Consumer Survey, McKinsey analysis, expert input",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.896+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "676d00db-df97-4549-b466-ded3b4fdf618",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.3,
            "x": 0.04,
            "y": 0.065
          },
          "kind": "list",
          "text": "Share of store closures: 10%\nRecouperation of lost revenue: 50%\nStore costs as share of revenue: 13 – 18%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.896+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0b374648-40a9-4bf9-90a4-14ec5629f264",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.43,
            "x": 0.04,
            "y": 0.29
          },
          "kind": "list",
          "text": "Reshaping store networks is a lever for grocery retailers to improve profitability and consumer experience... Successful store network strategies prioritize right-sizing the portfolio...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.896+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "217bea2c-54e0-4a72-b7d6-c47044beda9b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 0.5 – 1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-62ea5dce977d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.25,
            "x": 0.04,
            "y": 0.21
          },
          "kind": "paragraph",
          "text": "Context & assumptions",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.896+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "365d4c94-196c-46e5-9c3f-2f878881ce34",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.94,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "Reshaping store networks to close 10% of stores and recouping 50% of sales could add up to 0.5 – 1% EBITDA margin",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.896+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bff280ad-2daa-48e7-a19a-117569e6d211",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "0.5 – 1%",
          "numberKind": "percent",
          "actionTitle": "Reshaping store networks to close 10% of stores and recouping 50% of sales could add up to 0.5 – 1% EBITDA margin",
          "calloutText": "Reshaping store networks is a lever for grocery retailers to improve profitability and consumer experience, with retailers increasingly shifting focus from network expansion to strategic footprint optimization balancing efficiency and market presence, specifically for hypermarkets.",
          "numberScale": null,
          "numberValue": 1,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Waterfall / value bridge",
            "slug": "waterfall-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019de52d-19c5-727e-8889-b0b361655fca",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "6087adb4-ad4d-4485-b4a4-ef5b2e5969b2",
          "evidence": "The slide contains a waterfall-bridge chart showing P&L impact.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:33:46.35046+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 28,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 31,
          "from": 25,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "cde70213-da08-4d51-b524-8dff1dbebeef",
          "evidence": "The deck provides a detailed breakdown of various levers that grocers can use to improve profitability, such as private label quality, store network reshaping, and COGS reduction.",
          "position": 1,
          "objective": "How can grocers improve profitability through various levers?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.420337+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 29,
      "type": "evidence",
      "title": "The slide uses a bar chart to show the shift from standalone Argos stores to in-store Argos locations.",
      "function": "illustrate_case",
      "rawType": "case_study",
      "block": null,
      "metadata": {
        "slideType": "case_study",
        "slideTypeCanon": {
          "name": "Case study",
          "slug": "case_study",
          "status": "active",
          "canonId": "019de52d-0b95-7344-8090-926f3b8e92c8",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 81,
        "componentCount": 9,
        "textChars": 911,
        "nDataPoints": 6,
        "notes": "The slide uses a bar chart to show the shift from standalone Argos stores to in-store Argos locations.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "bar_chart_grouped",
          "photo",
          "big_number",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:06.973+00",
          "seconds": 2.908,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/29",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-29",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": ">3%pp reduced fixed costs as % of revenue by reducing the standalone store estate and opening more Argos stores inside Sainsbury’s",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:08+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-c5338e8f481f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.35,
            "x": 0.3,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Rebalanced store network chart showing changes in Argos store types between FY 2019/20 and H1 23/24",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.973+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d6dc307f-92a3-4181-83de-106687fb6328",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.04,
            "y": 0.62
          },
          "kind": "image",
          "text": "Photo of an Argos store inside a Sainsbury's",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.973+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "76eda779-dcf3-460a-883e-f4625c4f8077",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.68,
            "y": 0.4
          },
          "kind": "metric",
          "text": ">3%pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.973+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "052d79cb-b0eb-4ef9-8bc6-64e8fa8413dd",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "fixed costs as % of revenue: >3%pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:08+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-cb8f20b95f87",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.25,
            "x": 0.04,
            "y": 0.28
          },
          "kind": "paragraph",
          "text": "Sainsbury’s, the second largest supermarket in the UK, acquired Argos in 2016, a general merchandise retailer. Sainsbury’s started ~5 years ago to close standalone Argos stores and to incorporate the Argos brand in their supermarket. They are set to close more standalone Argos stores in the future",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.973+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1d6d28fe-c1c8-4486-8ecd-9e578d1c6446",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.25,
            "x": 0.68,
            "y": 0.55
          },
          "kind": "paragraph",
          "text": "reduced fixed costs as % of revenue by reducing the standalone store estate and opening more Argos stores inside Sainsbury’s",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.973+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "eeedc789-5e0b-4fb9-894c-d84cddf5f120",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: Press search, Next Level Sainsbury’s strategy update February 2024",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.973+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "39f77853-1821-4271-879a-b200b2c643d6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.9,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "Sainsbury’s drastically reshaped store network and reduced fixed costs with ~3%pp of revenue in 5 years",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.973+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d69004f5-0485-4fe4-874b-c86a065582c5",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "fixed costs as % of revenue",
          "numberRaw": ">3%pp",
          "numberKind": "percent",
          "actionTitle": "Sainsbury’s drastically reshaped store network and reduced fixed costs with ~3%pp of revenue in 5 years",
          "calloutText": ">3%pp reduced fixed costs as % of revenue by reducing the standalone store estate and opening more Argos stores inside Sainsbury’s",
          "numberScale": null,
          "numberValue": 3,
          "metricFamily": "cost_savings",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 31,
          "from": 25,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "cde70213-da08-4d51-b524-8dff1dbebeef",
          "evidence": "The deck provides a detailed breakdown of various levers that grocers can use to improve profitability, such as private label quality, store network reshaping, and COGS reduction.",
          "position": 1,
          "objective": "How can grocers improve profitability through various levers?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.420337+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 30,
      "type": "evidence",
      "title": "The slide uses a clear structure to define the strategic approach (context) and the specific use cases for personalized promotions.",
      "function": "illustrate_case",
      "rawType": "client_example",
      "block": null,
      "metadata": {
        "slideType": "client_example",
        "slideTypeCanon": {
          "name": "Client example",
          "slug": "client_example",
          "status": "active",
          "canonId": "019de52d-0c87-77cb-9867-613ae22e95ac",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 81,
        "componentCount": 10,
        "textChars": 870,
        "nDataPoints": 1,
        "notes": "The slide uses a clear structure to define the strategic approach (context) and the specific use cases for personalized promotions.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "paragraph",
          "big_number"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:11.562+00",
          "seconds": 7.486,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/30",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-30",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "+5-6% In sales versus control group",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-23e4056bfdf5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.65,
            "x": 0.04,
            "y": 0.35
          },
          "kind": "list",
          "text": "Optimizing for long term value (lifetime) of customer instead of next weeks sales\nChanging way of working with suppliers (budgets instead of campaigns)\nPersonalizing everything (product selection, discount timing, message, discount, channel)\nIntegrating marketing, category management and analytics teams",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a191aa1b-0871-4115-b087-cb439366f4b7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.65,
            "x": 0.04,
            "y": 0.73
          },
          "kind": "list",
          "text": "Increasing frequency of client's visits\nIncreasing average basket ticket with complimentary goods or targeted sales\nRetaining clients with decreasing visits frequency",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f137bede-1468-47c9-b847-ba25881a10ba",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.77,
            "y": 0.48
          },
          "kind": "metric",
          "text": "+5 - 6%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3d875924-a9fb-42a0-b3ea-35e8b8e76b53",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "revenue increase: +5-6%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b075-265c8253fff5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.65,
            "x": 0.04,
            "y": 0.26
          },
          "kind": "paragraph",
          "text": "European retailers are increasing customer lifetime value across all customers by scaling personalized coupons in a new approach through:",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "360e45c9-d796-48de-9e40-e3bbfffda57d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.65,
            "x": 0.04,
            "y": 0.68
          },
          "kind": "paragraph",
          "text": "Use cases for personalized promotions focus on:",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "984d4aaa-09a1-4577-ab83-32591494204f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.1,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: Press search",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3853e52c-8a2e-45df-8442-c56b9e6cec9c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.15,
            "x": 0.77,
            "y": 0.6
          },
          "kind": "subtitle",
          "text": "In sales versus control group",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2e107c2f-6ce6-4ea2-972b-62dc178fb4d5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.8,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Several retailers launched different types of personalization efforts – with up to 6% revenue increase",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4d36a422-7754-4115-8bdf-0645506aca7c",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "revenue increase",
          "numberRaw": "+5-6%",
          "numberKind": "percent",
          "actionTitle": "Several retailers launched different types of personalization efforts – with up to 6% revenue increase",
          "calloutText": "+5-6% In sales versus control group",
          "numberScale": null,
          "numberValue": -6,
          "metricFamily": "revenue",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 31,
          "from": 25,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "cde70213-da08-4d51-b524-8dff1dbebeef",
          "evidence": "The deck provides a detailed breakdown of various levers that grocers can use to improve profitability, such as private label quality, store network reshaping, and COGS reduction.",
          "position": 1,
          "objective": "How can grocers improve profitability through various levers?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.420337+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 31,
      "type": "resolution",
      "title": "The chart uses a bridge-like structure to show the delta between 2023 and 2029 financials.",
      "function": "quantify_impact",
      "rawType": "impact_sizing",
      "block": null,
      "metadata": {
        "slideType": "impact_sizing",
        "slideTypeCanon": {
          "name": "Impact sizing",
          "slug": "impact_sizing",
          "status": "active",
          "canonId": "019de52d-0d26-773b-aeda-2d1930f5636d",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 62,
        "componentCount": 6,
        "textChars": 928,
        "nDataPoints": 10,
        "notes": "The chart uses a bridge-like structure to show the delta between 2023 and 2029 financials.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_horizontal",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:06.993+00",
          "seconds": 2.912,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/31",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-31",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Driving COGS reduction by 0.3 – 1% through supplier negotiation and buying-alliance activity could add 0.25 – 0.75% EBITDA uplift.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:13+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-43706afd51fa",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.45,
            "x": 0.5,
            "y": 0.2
          },
          "kind": "chart",
          "text": "PP&L impact of hyper/supermarkets, % of revenue. Revenue indexed (2023 Revenue = 100%). Comparison of 2023 vs 2029 financials for Revenue, COGS, SG&A, and EBITDA.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.993+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e2c254ac-acaf-4475-bcce-e322615d0241",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.45,
            "x": 0.04,
            "y": 0.2
          },
          "kind": "list",
          "text": "Context & assumptions: Numerous European grocery procurement retailers have reshaped their assortments... Optimizing purchasing departments involves varying levels of complexity... To bring buying activities to the next level top-performers are engaging in international buying alliances...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.993+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8c8a4c36-e2cd-4fce-8e9b-faa074f7dd6e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA uplift: 0.25 – 0.75%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:13+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-471ca6b23788",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.9,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "1. 2029 COGS, SG&A & Other Opex, and EBITDA presented as share of 2029 revenue (=100%) Source: State of Grocery 2024, McKinsey 2024 European Consumer Survey, McKinsey analysis, expert input,",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.993+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c93ab3c6-e257-412f-b302-08041d48cca6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.94,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "Driving COGS reduction by 0.3 – 1% through supplier negotiation and buying-alliance activity could add 0.25 – 0.75% EBITDA uplift",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.993+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c533e6cc-8b55-48fe-abc6-84025d3d9045",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA uplift",
          "numberRaw": "0.25 – 0.75%",
          "numberKind": "percent",
          "actionTitle": "Driving COGS reduction by 0.3 – 1% through supplier negotiation and buying-alliance activity could add 0.25 – 0.75% EBITDA uplift",
          "calloutText": "Driving COGS reduction by 0.3 – 1% through supplier negotiation and buying-alliance activity could add 0.25 – 0.75% EBITDA uplift.",
          "numberScale": null,
          "numberValue": 0.75,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [
        {
          "matchId": "e94c5cf5-8898-4320-811b-1d6a5fcb869f",
          "evidence": "The EBITDA comparison between 2023 and 2029 uses a bridge annotation to show the uplift.",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-05-02 18:39:06.993+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 31,
          "frameworkName": "waterfall-bridge"
        }
      ],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 31,
          "from": 25,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "cde70213-da08-4d51-b524-8dff1dbebeef",
          "evidence": "The deck provides a detailed breakdown of various levers that grocers can use to improve profitability, such as private label quality, store network reshaping, and COGS reduction.",
          "position": 1,
          "objective": "How can grocers improve profitability through various levers?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:13:38.420337+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 32,
      "type": "setup",
      "title": "The slide uses a staircase metaphor to represent increasing complexity.",
      "function": "present_solution",
      "rawType": "strategic_options",
      "block": null,
      "metadata": {
        "slideType": "strategic_options",
        "slideTypeCanon": {
          "name": "Strategic options",
          "slug": "strategic_options",
          "status": "active",
          "canonId": "019de52d-0c0d-745a-8f0a-50898a91cc12",
          "version": 1,
          "description": null
        },
        "function": "present_solution",
        "functionCanon": {
          "name": "Present solution",
          "slug": "present_solution",
          "status": "active",
          "canonId": "019de52d-15b8-71da-bd23-2b767850cbce",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 43,
        "componentCount": 6,
        "textChars": 473,
        "nDataPoints": 0,
        "notes": "The slide uses a staircase metaphor to represent increasing complexity.",
        "elementsJson": [
          "headline_text",
          "process_diagram",
          "comparison_table",
          "logo_grid",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:06.808+00",
          "seconds": 2.627,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/32",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-32",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Local brand differences regarding sustainability and franchising need to be taken into consideration",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:15+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-633c3f989382",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.78,
            "x": 0.18,
            "y": 0.15
          },
          "kind": "diagram",
          "text": "Staircase diagram showing 5 steps of increasing complexity",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.808+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f0f9c9eb-4f84-44b0-a5c4-32e22d391237",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.78,
            "x": 0.03,
            "y": 0.87
          },
          "kind": "disclaimer",
          "text": "Note : Local brand differences regarding sustainability and franchising need to be taken into consideration",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.808+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9ad08311-34ac-4ced-ab60-7f5058e22fa4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.78,
            "x": 0.18,
            "y": 0.78
          },
          "kind": "image",
          "text": "Inspiration logos: Walmart, Lidl, Carrefour, REWE, EDEKA",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo grid",
              "slug": "logo-grid",
              "status": "active",
              "canonId": "019de52c-fdd7-7409-93e5-81280a8ca215",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.808+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "eee1df56-28b7-4157-9c75-fb2219c8a5cd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.78,
            "x": 0.18,
            "y": 0.42
          },
          "kind": "list",
          "text": "Potential value drivers for each of the 5 steps",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.808+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e2f63b11-0f68-45d9-91fd-02e39c170a60",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.85,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "There are various ways with different levels of complexity for a grocery retailer to drive COGS reduction",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.808+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4d6774d2-a9fe-4c59-87a4-acadbce56799",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [
        {
          "matchId": "dde73ff4-9fd5-41fd-b314-40e208c33dd1",
          "evidence": "The staircase structure implies a progression of complexity and capability.",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-05-02 18:39:06.808+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 32,
          "frameworkName": "maturity-model"
        }
      ],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 33,
      "type": "resolution",
      "title": "The slide uses a dark blue sidebar for the main thesis and a white background for the supporting table.",
      "function": "recommend",
      "rawType": "recommendation",
      "block": null,
      "metadata": {
        "slideType": "recommendation",
        "slideTypeCanon": {
          "name": "Recommendation",
          "slug": "recommendation",
          "status": "active",
          "canonId": "019de52d-0c35-718b-8bbb-772a56a31ecd",
          "version": 1,
          "description": null
        },
        "function": "recommend",
        "functionCanon": {
          "name": "Recommend",
          "slug": "recommend",
          "status": "active",
          "canonId": "019de52d-1609-764f-9882-9ef3ede71d8b",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 26,
        "componentCount": 4,
        "textChars": 402,
        "nDataPoints": 0,
        "notes": "The slide uses a dark blue sidebar for the main thesis and a white background for the supporting table.",
        "elementsJson": [
          "headline_text",
          "data_table",
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:06.554+00",
          "seconds": 2.228,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/33",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-33",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.02,
            "w": 0.3,
            "x": 0.3,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "Disclaimer: Consumer pricing at the sole discretion of the retailer",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.554+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c41afed4-bf6f-4a0d-859c-f3d437bf2066",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.5,
            "x": 0.3,
            "y": 0.94
          },
          "kind": "paragraph",
          "text": "Source: IGD; European Commission, 2020 (Retail alliances in the agricultural and food supply chain), Press search",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.554+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8b31be18-d736-4967-a2d1-42ab1c20ce32",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.65,
            "x": 0.3,
            "y": 0.1
          },
          "kind": "table",
          "text": "Buying type, Organizations, Members, Integrated Pan-European negotiations, Coordinated negotiations, On-top international terms",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.554+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b614ee5c-209c-4a89-b5e0-3a3994e59174",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.25,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "title",
          "text": "Grocers could join more international buying groups & alliances to further drive COGS reduction",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:06.554+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "53f39663-d7d1-4203-9f11-29db822c7631",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 34,
      "type": "resolution",
      "title": "The slide uses a waterfall-style logic to show the impact of labor cost reduction on EBITDA.",
      "function": "quantify_impact",
      "rawType": "impact_sizing",
      "block": null,
      "metadata": {
        "slideType": "impact_sizing",
        "slideTypeCanon": {
          "name": "Impact sizing",
          "slug": "impact_sizing",
          "status": "active",
          "canonId": "019de52d-0d26-773b-aeda-2d1930f5636d",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 89,
        "componentCount": 10,
        "textChars": 1189,
        "nDataPoints": 14,
        "notes": "The slide uses a waterfall-style logic to show the impact of labor cost reduction on EBITDA.",
        "elementsJson": [
          "bullet_list",
          "bar_chart_horizontal",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:08.488+00",
          "seconds": 4.013,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/34",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-34",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.08,
            "w": 0.43,
            "x": 0.04,
            "y": 0.78
          },
          "kind": "callout",
          "text": "Labor need reduction could increase with the scale / boldness of automation (e.g., up to 40% in warehouse)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.488+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "90ced0ab-9ccc-448f-9e51-65794b0aead0",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "This calculation does not take into account the (one off) initial investment, dependent on boldness of investment this can be a large CAPEX investment (g., fully automated warehouse could require up to 5x investment of normal warehouse)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-eb3b555c0b6d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.58,
            "w": 0.47,
            "x": 0.49,
            "y": 0.21
          },
          "kind": "chart",
          "text": "PP&L impact of hyper/supermarkets, % of revenue",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Horizontal bar chart",
              "slug": "bar-horizontal",
              "status": "active",
              "canonId": "019de52c-fec4-7221-986b-1cb5f5e84b1f",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-horizontal",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.488+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "00fd1206-2679-4f78-b8fd-445d3f60c4bc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.52,
            "x": 0.44,
            "y": 0.85
          },
          "kind": "disclaimer",
          "text": "This calculation does not take into account the (one off) initial investment, dependent on boldness of investment this can be a large CAPEX investment (g., fully automated warehouse could require up to 5x investment of normal warehouse)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.488+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fd8b668d-e362-4868-98a7-eaa4f3aa3764",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.43,
            "x": 0.04,
            "y": 0.58
          },
          "kind": "list",
          "text": "Labor cost distribution: HQ (10%), in-store (70%), DC/warehouse (20%). Labor cost reduction: in-store (5 – 10%), DC/warehouse (10 – 15%)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.488+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "961febab-168d-4647-bd6e-788f6aaf8f2f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.18,
            "w": 0.43,
            "x": 0.04,
            "y": 0.26
          },
          "kind": "list",
          "text": "Retailers will need to invest in improving end-to-end productivity to manage rising wages and reduce labor costs. Examples: digital price tags, advanced inventory forecasting systems, warehouse automation systems.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.488+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ec35494b-45cd-4ef7-a508-6cc6f95e424f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 0.5 – 1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-ed00638dfe97",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.25,
            "x": 0.04,
            "y": 0.21
          },
          "kind": "paragraph",
          "text": "Context & assumptions",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.488+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "00ee2a2c-3753-4cb2-8c90-8107b107afcc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: McKinsey analysis, expert input",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.488+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "de5960c6-54c2-4c2e-8a5f-ec49c7042e47",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.94,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "Improve end-to-end productivity through advanced technologies to reduce labor cost with 5 – 10% could give EBITDA uplift of 0.5 – 1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.488+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a49e7d59-da89-4312-8179-26b6580e3e3b",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "0.5 – 1%",
          "numberKind": "percent",
          "actionTitle": "Improve end-to-end productivity through advanced technologies to reduce labor cost with 5 – 10% could give EBITDA uplift of 0.5 – 1%",
          "calloutText": "This calculation does not take into account the (one off) initial investment, dependent on boldness of investment this can be a large CAPEX investment (g., fully automated warehouse could require up to 5x investment of normal warehouse)",
          "numberScale": null,
          "numberValue": 1,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 38,
          "from": 34,
          "loop": {
            "name": "47_quick_win_big_bet",
            "slug": "47-quick-win-big-bet",
            "status": "active",
            "bestFor": "Transformation planning, 100-day plans, resource allocation",
            "canonId": "019dd956-790d-708d-983e-ef9bbc68f741",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Full List -> Quick Wins (Low effort, High impact) -> Big Bets (High effort, High impact) -> Sequenced Roadmap",
            "description": "Separate initiatives into immediate wins and longer-term strategic bets",
            "familyLabel": null
          },
          "matchId": "e002bfed-f033-476c-bfed-dbcb8e1d569d",
          "evidence": "The deck highlights the potential impact of quick wins and big bets, such as improving private label quality and monetizing retail media, on EBITDA margins.",
          "position": 2,
          "objective": "What are the potential impact of quick wins and big bets on profitability?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:13:38.458907+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 35,
      "type": "resolution",
      "title": "The slide uses a robotic arm illustration to emphasize the theme of automation.",
      "function": "quantify_impact",
      "rawType": "key_takeaways",
      "block": null,
      "metadata": {
        "slideType": "key_takeaways",
        "slideTypeCanon": {
          "name": "Key takeaways",
          "slug": "key_takeaways",
          "status": "active",
          "canonId": "019de52d-06e7-7674-a891-9f7de3b11b6d",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 68,
        "componentCount": 10,
        "textChars": 393,
        "nDataPoints": 3,
        "notes": "The slide uses a robotic arm illustration to emphasize the theme of automation.",
        "elementsJson": [
          "big_number",
          "photo",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:08.213+00",
          "seconds": 3.472,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/35",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-35",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.46,
            "w": 0.32,
            "x": 0.08,
            "y": 0
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Illustration",
              "slug": "illustration",
              "status": "active",
              "canonId": "019de52c-fe76-7772-a5ac-c0b7294d7615",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "illustration",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.213+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "de3b44c2-1d8a-4086-b5e1-6fdda0ebb70a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.1,
            "x": 0.45,
            "y": 0.72
          },
          "kind": "metric",
          "text": "45%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.213+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "08ba83ad-e4da-4756-ad86-8cb8f8c8428d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.1,
            "x": 0.45,
            "y": 0.52
          },
          "kind": "metric",
          "text": "60%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.213+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "252c2fe4-e145-4046-b58d-67123518d49a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.1,
            "x": 0.45,
            "y": 0.32
          },
          "kind": "metric",
          "text": "50%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.213+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bcdce043-2a84-4360-a769-795ff6c95ea1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "workforce automation potential: 50%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:18+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-963c69c1e2c8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.63,
            "y": 0.53
          },
          "kind": "paragraph",
          "text": "of all occupations can be meaningfully automated (>30% of job activities)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.213+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6c12f7d3-4ad7-42a5-aeb1-8d5faf6bbc39",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.63,
            "y": 0.73
          },
          "kind": "paragraph",
          "text": "of global workers will need some form of reskilling by 2030 to change jobs or upgrade skills significantly",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.213+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cd07f4dd-d592-4654-9379-88cbdc7dba3d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.63,
            "y": 0.33
          },
          "kind": "paragraph",
          "text": "of paid workforce activities can be automated with current technology",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.213+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f5cba1a4-4796-4aea-a6c6-d372a4f97c52",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: McKinsey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.213+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c8835ce7-e772-40f7-8ca4-495de47b8593",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.35,
            "x": 0.05,
            "y": 0.53
          },
          "kind": "title",
          "text": "Utilization of advanced technologies will drastically improve end-to-end productivity",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.213+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "344e9e81-3a5d-4b19-9a1f-17a922b2ce7f",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "workforce automation potential",
          "numberRaw": "50%",
          "numberKind": "percent",
          "actionTitle": "Utilization of advanced technologies will drastically improve end-to-end productivity",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 50,
          "metricFamily": "cost_savings",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 38,
          "from": 34,
          "loop": {
            "name": "47_quick_win_big_bet",
            "slug": "47-quick-win-big-bet",
            "status": "active",
            "bestFor": "Transformation planning, 100-day plans, resource allocation",
            "canonId": "019dd956-790d-708d-983e-ef9bbc68f741",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Full List -> Quick Wins (Low effort, High impact) -> Big Bets (High effort, High impact) -> Sequenced Roadmap",
            "description": "Separate initiatives into immediate wins and longer-term strategic bets",
            "familyLabel": null
          },
          "matchId": "e002bfed-f033-476c-bfed-dbcb8e1d569d",
          "evidence": "The deck highlights the potential impact of quick wins and big bets, such as improving private label quality and monetizing retail media, on EBITDA margins.",
          "position": 2,
          "objective": "What are the potential impact of quick wins and big bets on profitability?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:13:38.458907+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 36,
      "type": "resolution",
      "title": "The slide uses a split-screen layout to contrast store-level and warehouse-level automation impacts.",
      "function": "quantify_impact",
      "rawType": "impact_sizing",
      "block": null,
      "metadata": {
        "slideType": "impact_sizing",
        "slideTypeCanon": {
          "name": "Impact sizing",
          "slug": "impact_sizing",
          "status": "active",
          "canonId": "019de52d-0d26-773b-aeda-2d1930f5636d",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 86,
        "componentCount": 10,
        "textChars": 1160,
        "nDataPoints": 2,
        "notes": "The slide uses a split-screen layout to contrast store-level and warehouse-level automation impacts.",
        "elementsJson": [
          "headline_text",
          "numbered_list",
          "infographic"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:08.118+00",
          "seconds": 3.356,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/36",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-36",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Grocery store of the future has potential to operate with up to 60% fewer labor hours vs traditional retailer.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:19+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b078-11f1772e0f2a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.35,
            "x": 0.55,
            "y": 0.25
          },
          "kind": "image",
          "text": "Isometric illustration of a distribution center",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Infographic",
              "slug": "infographic",
              "status": "active",
              "canonId": "019de52c-fe26-750c-9d7d-9f34e21324e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "infographic",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.118+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "54a8b44a-4ac0-4f2e-a83e-a82c2c3a4c62",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.35,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "image",
          "text": "Isometric illustration of a grocery store",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Infographic",
              "slug": "infographic",
              "status": "active",
              "canonId": "019de52c-fe26-750c-9d7d-9f34e21324e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "infographic",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.118+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f448ec41-dc8a-4eca-b97c-307b4d42a783",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.4,
            "x": 0.04,
            "y": 0.65
          },
          "kind": "list",
          "text": "1. Back of house: e.g., automated demand planning, automatic unloader; 2. Centre store: e.g., Shelf scanning robots; 3. Front-end: e.g., mobile check-out, just-walk-out-technologies; 4. Management: e.g., automated ordering, AI service desk; 5. Produce: e.g., robotic food prep (Breadbot), automated dispensers",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Numbered list",
              "slug": "numbered",
              "status": "active",
              "canonId": "019de52c-fcc0-7718-a284-a4250c805df2",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "numbered",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.118+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e590d320-1efc-47b4-bb74-120a4251f124",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.4,
            "x": 0.52,
            "y": 0.65
          },
          "kind": "list",
          "text": "1. Real-time updates with automated ordering system; 2. High-bay system: automated storage and retrieval; 3. Drones for quality checks; 4. Autonomous vehicles for (un)loading; 5. Automated order picking and smart trolleys for best in-store shelving routes",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Numbered list",
              "slug": "numbered",
              "status": "active",
              "canonId": "019de52c-fcc0-7718-a284-a4250c805df2",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "numbered",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.118+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f2f22c39-6a4a-4612-9068-d0cc933d7041",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "labor hours reduction: 60%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:19+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b078-15e296b59e31",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "paragraph",
          "text": "Grocery store of the future has potential to operate with up to 60% fewer labor hours vs traditional retailer",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.118+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a3bf2e41-3aad-4236-84b4-da2b85d36d71",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.52,
            "y": 0.18
          },
          "kind": "paragraph",
          "text": "The DC of the future has the potential to reduce labor need up to 40%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.118+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f54191f6-9127-4c2e-9114-91b1df25f1ac",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "1. Might vary depending on starting point of productivity/automation. Source: McKinsey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.118+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b2685fb6-cd9f-46ff-bfa0-5be176e3ef3a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.8,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "Advanced technologies can drastically change the store and warehouse of the future, and improve productivity",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.118+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c26e4954-3c7f-4765-a15f-520bcef2f5fe",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "labor hours reduction",
          "numberRaw": "60%",
          "numberKind": "percent",
          "actionTitle": "Advanced technologies can drastically change the store and warehouse of the future, and improve productivity",
          "calloutText": "Grocery store of the future has potential to operate with up to 60% fewer labor hours vs traditional retailer.",
          "numberScale": null,
          "numberValue": 60,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 38,
          "from": 34,
          "loop": {
            "name": "47_quick_win_big_bet",
            "slug": "47-quick-win-big-bet",
            "status": "active",
            "bestFor": "Transformation planning, 100-day plans, resource allocation",
            "canonId": "019dd956-790d-708d-983e-ef9bbc68f741",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Full List -> Quick Wins (Low effort, High impact) -> Big Bets (High effort, High impact) -> Sequenced Roadmap",
            "description": "Separate initiatives into immediate wins and longer-term strategic bets",
            "familyLabel": null
          },
          "matchId": "e002bfed-f033-476c-bfed-dbcb8e1d569d",
          "evidence": "The deck highlights the potential impact of quick wins and big bets, such as improving private label quality and monetizing retail media, on EBITDA margins.",
          "position": 2,
          "objective": "What are the potential impact of quick wins and big bets on profitability?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:13:38.458907+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 37,
      "type": "evidence",
      "title": "The slide uses a side-by-side comparison structure to highlight two distinct case studies.",
      "function": "illustrate_case",
      "rawType": "client_example",
      "block": null,
      "metadata": {
        "slideType": "client_example",
        "slideTypeCanon": {
          "name": "Client example",
          "slug": "client_example",
          "status": "active",
          "canonId": "019de52d-0c87-77cb-9867-613ae22e95ac",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 72,
        "componentCount": 9,
        "textChars": 555,
        "nDataPoints": 5,
        "notes": "The slide uses a side-by-side comparison structure to highlight two distinct case studies.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "photo",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:13.03+00",
          "seconds": 7.871,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/37",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-37",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Albert Heijn's warehouse robots could result in ~1% EBIT improvement.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-26797bfab63a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.26,
            "w": 0.25,
            "x": 0.51,
            "y": 0.63
          },
          "kind": "image",
          "text": "Vanderlande packing robots",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:13.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9a91a218-4bd3-4baa-90c1-b65eaad28d55",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.26,
            "w": 0.43,
            "x": 0.04,
            "y": 0.63
          },
          "kind": "image",
          "text": "Ocado robot and delivery van",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:13.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fefbc9de-065b-4440-9f38-a6332e232ecd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.4,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "list",
          "text": "Ocado has made significant strides in automating its fulfillment processes",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:13.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "65ba47a7-7447-4e8e-bc52-e792bab4e434",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.4,
            "x": 0.51,
            "y": 0.25
          },
          "kind": "list",
          "text": "Albert Heijn's warehouse robots could result in ~1% EBIT improvement",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:13.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "791de5fe-218c-4e65-9c25-bb49ea6167a4",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBIT improvement: ~1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-2aa7296de62a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.04,
            "y": 0.16
          },
          "kind": "paragraph",
          "text": "Non-exhaustive",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:13.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0b77a92d-7a52-4e4b-90a8-f2f80fb85b98",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.04,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "1. Under assumption that warehouse labor costs equal 2-4% of sales and can be reduced by 20-60%\nSource: Company website, IGD Retail, press search",
          "attrs": {
            "numbered": true
          },
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:13.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "efd81fb3-5b1b-4094-b5c3-8e28a0ebd4a4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.85,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Ocado and Albert Heijn are examples that are using advanced technologies to automate their fulfillment and DCs",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:13.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7fe5e2b8-aea7-49ce-8d73-085f70a65019",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBIT improvement",
          "numberRaw": "~1%",
          "numberKind": "percent",
          "actionTitle": "Ocado and Albert Heijn are examples that are using advanced technologies to automate their fulfillment and DCs",
          "calloutText": "Albert Heijn's warehouse robots could result in ~1% EBIT improvement.",
          "numberScale": null,
          "numberValue": 1,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Storytelling: audience calibration",
            "slug": "audience",
            "status": "active",
            "bestFor": null,
            "canonId": "019df269-23ea-723a-87c0-af1d78d702d2",
            "version": 1,
            "bodyDocId": "019df269-23c5-72ec-8b94-78fc1da7b656",
            "description": "The same thesis, written for four different audiences, produces four",
            "familyLabel": "narrative-block",
            "categoryName": "Narrative & Transformation",
            "categorySlug": "narrative-transformation"
          },
          "agent": "storyteller",
          "layer": "slide",
          "agents": [
            "storyteller"
          ],
          "matchId": "88eb6d22-f3db-4ff4-827b-ef8946804915",
          "evidence": "The components mention specific companies and technologies, indicating an audience calibration",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:33:46.453371+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 37,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 38,
          "from": 34,
          "loop": {
            "name": "47_quick_win_big_bet",
            "slug": "47-quick-win-big-bet",
            "status": "active",
            "bestFor": "Transformation planning, 100-day plans, resource allocation",
            "canonId": "019dd956-790d-708d-983e-ef9bbc68f741",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Full List -> Quick Wins (Low effort, High impact) -> Big Bets (High effort, High impact) -> Sequenced Roadmap",
            "description": "Separate initiatives into immediate wins and longer-term strategic bets",
            "familyLabel": null
          },
          "matchId": "e002bfed-f033-476c-bfed-dbcb8e1d569d",
          "evidence": "The deck highlights the potential impact of quick wins and big bets, such as improving private label quality and monetizing retail media, on EBITDA margins.",
          "position": 2,
          "objective": "What are the potential impact of quick wins and big bets on profitability?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:13:38.458907+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 38,
      "type": "resolution",
      "title": "The chart uses a waterfall-like logic to show the impact of retail media on revenue, operating expenses, and EBITDA between 2023 and 2029.",
      "function": "quantify_impact",
      "rawType": "impact_sizing",
      "block": null,
      "metadata": {
        "slideType": "impact_sizing",
        "slideTypeCanon": {
          "name": "Impact sizing",
          "slug": "impact_sizing",
          "status": "active",
          "canonId": "019de52d-0d26-773b-aeda-2d1930f5636d",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 74,
        "componentCount": 8,
        "textChars": 727,
        "nDataPoints": 12,
        "notes": "The chart uses a waterfall-like logic to show the impact of retail media on revenue, operating expenses, and EBITDA between 2023 and 2029.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_stacked",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:09.263+00",
          "seconds": 3.989,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/38",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-38",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Monetizing Retail Media (RM) has emerged as driver of profitability with margins reaching up to 70% within 3 years of launching.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-06e309096057",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.45,
            "x": 0.5,
            "y": 0.2
          },
          "kind": "chart",
          "text": "PP&L impact of hyper/supermarkets, % of revenue",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.263+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c480d6de-a0e6-446a-8416-25ad5c191899",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.3,
            "x": 0.04,
            "y": 0.75
          },
          "kind": "list",
          "text": "RM additional revenue: 0.75 – 1.5%\nRM EBITDA margin: 40 – 70%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.263+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "23a985af-94cf-4cf2-9e35-d65d011f920c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.45,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "list",
          "text": "Grocery retail has traditionally been a low margin industry... Monetizing Retail Media (RM) has emerged as driver of profitability... Impact dependent on (online) scale...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.263+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "48778d53-206a-4d84-9d9d-f2734c4cd434",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 0.25–0.75pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-0975ecb29e9b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.25,
            "x": 0.04,
            "y": 0.2
          },
          "kind": "paragraph",
          "text": "Context & assumptions",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.263+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "863895e1-e3b2-49b1-95ce-f4e505cc7e29",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.9,
            "x": 0.04,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "1. Includes COGS, SG&A and other Opex | 2. 2029 EBITDA margin and operating expenses presented as share of 2029 revenue (=100%)\nSource: McKinsey analysis, expert input",
          "attrs": {
            "numbered": true
          },
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.263+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "77229062-f148-4ed9-8b46-bdbae646a721",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.9,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "Monetizing Retail Media towards 0.75 – 1.5% additional revenue could give an EBITDA uplift of 0.25 – 0.75%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.263+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c2c7a745-5097-42ab-8a24-3e51cf1eb34b",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "0.25–0.75pp",
          "numberKind": "percent",
          "actionTitle": "Monetizing Retail Media towards 0.75 – 1.5% additional revenue could give an EBITDA uplift of 0.25 – 0.75%",
          "calloutText": "Monetizing Retail Media (RM) has emerged as driver of profitability with margins reaching up to 70% within 3 years of launching.",
          "numberScale": null,
          "numberValue": 0.75,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 38,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Solution",
          "beatId": "6b1fda6d-e5f5-47b2-80de-2d7e24a3c00d",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [
        {
          "to": 38,
          "from": 34,
          "loop": {
            "name": "47_quick_win_big_bet",
            "slug": "47-quick-win-big-bet",
            "status": "active",
            "bestFor": "Transformation planning, 100-day plans, resource allocation",
            "canonId": "019dd956-790d-708d-983e-ef9bbc68f741",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Full List -> Quick Wins (Low effort, High impact) -> Big Bets (High effort, High impact) -> Sequenced Roadmap",
            "description": "Separate initiatives into immediate wins and longer-term strategic bets",
            "familyLabel": null
          },
          "matchId": "e002bfed-f033-476c-bfed-dbcb8e1d569d",
          "evidence": "The deck highlights the potential impact of quick wins and big bets, such as improving private label quality and monetizing retail media, on EBITDA margins.",
          "position": 2,
          "objective": "What are the potential impact of quick wins and big bets on profitability?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:13:38.458907+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 39,
      "type": "setup",
      "title": "The slide uses a horizontal arrow timeline to segment the company's growth phases.",
      "function": "summarize",
      "rawType": "timeline",
      "block": null,
      "metadata": {
        "slideType": "timeline",
        "slideTypeCanon": {
          "name": "Timeline",
          "slug": "timeline",
          "status": "active",
          "canonId": "019de52d-0851-75eb-b758-ea2965e7739a",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 91,
        "componentCount": 14,
        "textChars": 1235,
        "nDataPoints": 6,
        "notes": "The slide uses a horizontal arrow timeline to segment the company's growth phases.",
        "elementsJson": [
          "timeline_visual",
          "bullet_list",
          "big_number",
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:15.081+00",
          "seconds": 9.705,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/39",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-39",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "75% EBIT for media sales",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:18+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-7561460726da",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.94,
            "x": 0.03,
            "y": 0.45
          },
          "kind": "diagram",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Timeline",
              "slug": "timeline",
              "status": "active",
              "canonId": "019de52d-03c5-73fc-84aa-4180cbf0f5cf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "timeline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "28470aa8-f227-4b3d-9ff3-f444e366773f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.6,
            "x": 0.35,
            "y": 0.18
          },
          "kind": "list",
          "text": "Building Scale - 2018-2020: Expansion Beyond Performance Marketing; Building Capabilities Beyond O&O; Agency Trade Desk; Experimentation with Extended Branding Opportunities; Attribution Solution – launched Stratum",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "49c58be4-ede0-4647-ad2b-f225ea989484",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.23,
            "y": 0.55
          },
          "kind": "list",
          "text": "Testing Program - 2017: Built new entity Kroger Precision Marketing; Drove testing program in US with multiple CPGs; Leveraged agency to drive execution; Develop technology infrastructure (PromoteIQ)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7abc672f-9625-475a-913e-370f051127dc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.3,
            "x": 0.03,
            "y": 0.2
          },
          "kind": "list",
          "text": "Getting Started - 2015: Getting sponsorship from C-Level; Strategy 1: building 1P data through 84.51; Strategy 2: building retail media network for activation",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "90185337-bcce-411f-88e7-f196032411e7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.52,
            "y": 0.53
          },
          "kind": "list",
          "text": "Building Ecosystem - 2021-today: Developing End-to-End Brand Journeys; Private Syndication Marketplaces; Penetrating the Long Tail; Building Operational Scalability; New Product Roadmap",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d9f5615a-bf5c-4662-b5ad-ebe46bd1d672",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.1,
            "x": 0.8,
            "y": 0.8
          },
          "kind": "metric",
          "text": "75% EBIT for media sales",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "260b058a-b666-4f0c-8a75-827e88653184",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.1,
            "x": 0.52,
            "y": 0.8
          },
          "kind": "metric",
          "text": "$11B Digital sales; growing at 52%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "350afa38-5c61-4a01-911d-411db393f7a5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.2,
            "x": 0.35,
            "y": 0.36
          },
          "kind": "metric",
          "text": "10-15% Uplift on post impression conversion behavior for key CPG advertisers",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "365c043b-452e-4fc1-a7cb-cc9bc4d536fa",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.1,
            "x": 0.65,
            "y": 0.8
          },
          "kind": "metric",
          "text": "$1.2M 84.51 media sales; growing at 35%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4147d9c8-bd76-4aa7-a0ab-2d803eedd043",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.2,
            "x": 0.68,
            "y": 0.36
          },
          "kind": "metric",
          "text": "50%+ EBIT Impact is measured by in-store purchase by exposed audience versus a control group",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5eae0943-c5b6-4b6e-92ad-b32cef560250",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBIT margin: 75%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:18+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-79c44b66f466",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.03,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: Company website, annual reports, earning calls transcripts, press clippings, KantarRetail IQ",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "42f08d19-97dd-4b90-a7d9-2064aa20d903",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.65,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "Kroger began its retail media business in 2012 – building scale since 2021",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:15.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fb34892c-a084-4d20-9aed-008aaa1f1e8c",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBIT margin",
          "numberRaw": "75%",
          "numberKind": "percent",
          "actionTitle": "Kroger began its retail media business in 2012 – building scale since 2021",
          "calloutText": "75% EBIT for media sales",
          "numberScale": null,
          "numberValue": 75,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 40,
      "type": "evidence",
      "title": "The slide uses a circular ecosystem diagram to map various business units (Stores, Marketplace, Social, Advertising, Logistics, Home services, Entertainment, He",
      "function": "illustrate_case",
      "rawType": "client_example",
      "block": null,
      "metadata": {
        "slideType": "client_example",
        "slideTypeCanon": {
          "name": "Client example",
          "slug": "client_example",
          "status": "active",
          "canonId": "019de52d-0c87-77cb-9867-613ae22e95ac",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 82,
        "componentCount": 10,
        "textChars": 893,
        "nDataPoints": 2,
        "notes": "The slide uses a circular ecosystem diagram to map various business units (Stores, Marketplace, Social, Advertising, Logistics, Home services, Entertainment, Health, Financial services) around a central data insight hub.",
        "elementsJson": [
          "infographic",
          "callout_box",
          "big_number"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:09.215+00",
          "seconds": 3.819,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/40",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-40",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Walmart built an E2E coverage of the retail customer journey, positioning Walmart as a one-stop destination, leveraging opportunities to cross-sell across segments (e.g., cross-sell relevant retail products aligned with healthcare needs), and improve offering using consumer data insights",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-47409ffc7cab",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.72,
            "w": 0.53,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "diagram",
          "text": "Walmart Ecosystem circular diagram",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Hub and spoke",
              "slug": "hub-spoke",
              "status": "active",
              "canonId": "019de52d-04db-73e6-81ca-a234f2f23fc1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "hub-spoke",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.215+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4fa842b2-0c31-453d-b2eb-702131a5bf06",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.1,
            "x": 0.83,
            "y": 0.65
          },
          "kind": "metric",
          "text": "+11M",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.215+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2689915b-f8ba-476d-9849-4c4ea5dc3216",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.08,
            "x": 0.65,
            "y": 0.65
          },
          "kind": "metric",
          "text": "2X",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.215+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "972acd68-4500-405f-8c33-64a7e7f342c5",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Member spending vs. non-member: 2X",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-4ac365026507",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.38,
            "x": 0.6,
            "y": 0.25
          },
          "kind": "paragraph",
          "text": "Walmart built an E2E coverage of the retail customer journey, positioning Walmart as a one-stop destination, leveraging opportunities to cross-sell across segments (e.g., cross-sell relevant retail products aligned with healthcare needs), and improve offering using consumer data insights",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.215+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7af29eef-c7e2-4449-b619-53aa2decace7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.03,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: Walmart online presence, expert interviews, press search",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.215+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "179d1773-c9a5-4c17-93f7-ba13c2865a09",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.12,
            "x": 0.82,
            "y": 0.75
          },
          "kind": "subtitle",
          "text": "Members (2022)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.215+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "44175c97-68fb-4921-a844-cc7351e970e1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.15,
            "x": 0.61,
            "y": 0.75
          },
          "kind": "subtitle",
          "text": "Member spending vs. non-member (2022)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.215+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d32d9a90-0f2c-47e9-8ae5-0808f6ad3d3b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.94,
            "x": 0.03,
            "y": 0.03
          },
          "kind": "title",
          "text": "Walmart developed its ecosystem by expanding from retail to other sectors (e.g., health) with members spending 2x vs non-members",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.215+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c6c58dac-62b8-46fa-b2fa-511e5854f98c",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Member spending vs. non-member",
          "numberRaw": "2X",
          "numberKind": "multiplier",
          "actionTitle": "Walmart developed its ecosystem by expanding from retail to other sectors (e.g., health) with members spending 2x vs non-members",
          "calloutText": "Walmart built an E2E coverage of the retail customer journey, positioning Walmart as a one-stop destination, leveraging opportunities to cross-sell across segments (e.g., cross-sell relevant retail products aligned with healthcare needs), and improve offering using consumer data insights",
          "numberScale": null,
          "numberValue": 2,
          "metricFamily": "cost_savings",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [
        {
          "matchId": "e98ec2cd-0923-47fe-b4d6-f49f76bf9cca",
          "evidence": "Circular diagram showing interconnected business units",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-05-02 18:39:09.215+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 40,
          "frameworkName": "ecosystem-mapping"
        }
      ],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 41,
      "type": "appendix",
      "function": "appendix",
      "rawType": "appendix",
      "block": null,
      "metadata": {
        "slideType": "appendix",
        "slideTypeCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-0762-71f8-b564-89ab863301cc",
          "version": 1,
          "description": null
        },
        "function": "appendix",
        "functionCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-138d-750b-83c3-49b4bc7a7a38",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 0,
        "componentCount": 1,
        "textChars": 8,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:07.074+00",
          "seconds": 1.661,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/41",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-41",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.048,
            "w": 0.135,
            "x": 0.043,
            "y": 0.475
          },
          "kind": "title",
          "text": "Appendix",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:07.074+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "46dc66c2-90a5-4473-b646-57a9ffd9410c",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 42,
      "type": "analysis",
      "title": "The slide uses two bar charts to illustrate trends in consumer behavior post-COVID.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 30,
        "componentCount": 5,
        "textChars": 206,
        "nDataPoints": 10,
        "notes": "The slide uses two bar charts to illustrate trends in consumer behavior post-COVID.",
        "elementsJson": [
          "headline_text",
          "bar_chart_vertical",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:11.615+00",
          "seconds": 6.065,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/42",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-42",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.45,
            "x": 0.52,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Promo share, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.615+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7dfd7ba3-9685-47ba-9692-02a10f6e2820",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.45,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Basket size, indexed to 2019, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.615+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d51bfc52-c554-4f46-a511-680a96e54aa4",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Basket size: 100.6%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:18+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-dc663f53f357",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: State of Grocery 2024",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.615+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1898d39f-ca48-42fe-99e3-2d8dbff160e2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.92,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Basket size spiked during COVID, however returned to 2019 levels by 2023, while the promo share declined by 0.5pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.615+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4891d8c2-5b02-4d6c-a3a4-9eb7cff98fdb",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Basket size",
          "numberRaw": "100.6%",
          "numberKind": "percent",
          "actionTitle": "Basket size spiked during COVID, however returned to 2019 levels by 2023, while the promo share declined by 0.5pp",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 100.6,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 43,
      "type": "analysis",
      "title": "The chart uses broken axes (indicated by squiggly lines) for the consumption data.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 70,
        "componentCount": 8,
        "textChars": 669,
        "nDataPoints": 3,
        "notes": "The chart uses broken axes (indicated by squiggly lines) for the consumption data.",
        "elementsJson": [
          "headline_text",
          "bar_chart_vertical",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:09.878+00",
          "seconds": 4.208,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/43",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-43",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Consumers have become more conscious (savings rate 15% in 2023 vs 13% in 2019), negatively impacting real household consumption",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:19+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-f7f84c02c130",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.55,
            "x": 0.04,
            "y": 0.2
          },
          "kind": "chart",
          "text": "Change in real wage, real consumption, savings rate, Eurozone, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.878+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3f0b6aba-daee-4e21-b713-d0af6de106a1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.35,
            "x": 0.63,
            "y": 0.45
          },
          "kind": "list",
          "text": "Real household consumption declined drastically after first year of COVID-19, and remains relatively stagnant over the past year",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.878+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "00ee94bc-ee77-4666-91ad-e1e99a9b5945",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.35,
            "x": 0.63,
            "y": 0.2
          },
          "kind": "list",
          "text": "Real wages (purchasing power) have been declining given high inflation of the last years",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.878+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0ff82512-4457-4752-a822-f0b14f93f939",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.35,
            "x": 0.63,
            "y": 0.7
          },
          "kind": "list",
          "text": "Consumers have become more conscious (savings rate 15% in 2023 vs 13% in 2019), negatively impacting real household consumption",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.878+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e3f94b32-fa28-40d6-b260-74b30271b0dd",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Savings rate: 15%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:19+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-f8b14ec4586e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.1,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: Eurostat",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.878+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a3b927c3-c2aa-457b-9e38-4601726e9730",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.85,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "High inflation negatively impacted purchasing power and real household consumption over the last years",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.878+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1bb2651a-f669-4a25-adcf-e8fb5ecfe2d3",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Savings rate",
          "numberRaw": "15%",
          "numberKind": "percent",
          "actionTitle": "High inflation negatively impacted purchasing power and real household consumption over the last years",
          "calloutText": "Consumers have become more conscious (savings rate 15% in 2023 vs 13% in 2019), negatively impacting real household consumption",
          "numberScale": null,
          "numberValue": 15,
          "metricFamily": "cost_savings",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 44,
      "type": "analysis",
      "title": "EU-11 includes UK, DE, FR, IT, ES, NL, CZ, PL, PT, SE, BE.",
      "function": "summarize",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 32,
        "componentCount": 5,
        "textChars": 272,
        "nDataPoints": 5,
        "notes": "EU-11 includes UK, DE, FR, IT, ES, NL, CZ, PL, PT, SE, BE.",
        "elementsJson": [
          "headline_text",
          "bar_chart_vertical",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:08.613+00",
          "seconds": 2.656,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/44",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-44",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.45,
            "w": 0.86,
            "x": 0.07,
            "y": 0.4
          },
          "kind": "chart",
          "text": "Bar chart showing growth from 19.6% in 2019 to 21.8% in 2023",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.613+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7031b470-7f4e-425d-856e-2d8c15105cd1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Discounter channel share: 21.8%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:18+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-ae76243ddcd3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "paragraph",
          "text": "Discounter channel share of total grocery EU-11¹, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.613+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7ab0d756-d6c9-4890-ab87-da7616c65187",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "1. UK, DE, FR, IT, ES, NL, CZ, PL, PT, SE, BE\nSource: State of Grocery 2024",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.613+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "38472ac3-bf30-4cfb-af14-67b839ed9e73",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.8,
            "x": 0.04,
            "y": 0.08
          },
          "kind": "title",
          "text": "Growing share of discounters (+2.2pp from 2019 to 2023)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.613+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e14c5779-4d8e-4c05-9b9a-a772ec257e35",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Discounter channel share",
          "numberRaw": "21.8%",
          "numberKind": "percent",
          "actionTitle": "Growing share of discounters (+2.2pp from 2019 to 2023)",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 21.8,
          "metricFamily": "share_penetration",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 45,
      "type": "analysis",
      "title": "The chart highlights a total growth of 3.8 percentage points, with specific contributions of +2.0pp from discounters and +1.8pp from super/hypermarkets.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 51,
        "componentCount": 7,
        "textChars": 306,
        "nDataPoints": 15,
        "notes": "The chart highlights a total growth of 3.8 percentage points, with specific contributions of +2.0pp from discounters and +1.8pp from super/hypermarkets.",
        "elementsJson": [
          "headline_text",
          "bar_chart_stacked",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:08.709+00",
          "seconds": 2.65,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/45",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-45",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.04,
            "w": 0.06,
            "x": 0.87,
            "y": 0.45
          },
          "kind": "callout",
          "text": "+1.8pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.709+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2e9fb26c-af90-4d16-aa07-9e44f2360434",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.06,
            "x": 0.87,
            "y": 0.72
          },
          "kind": "callout",
          "text": "+2.0pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.709+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "40ced8c9-5db9-42d6-b87c-e805834f6549",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.85,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Private label share of total grocery, EU-11, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.709+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d9bde4a5-30ee-40dd-b91d-8476faecac77",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.74,
            "y": 0.16
          },
          "kind": "legend",
          "text": "Discounter Super/hyper2",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Legend",
              "slug": "legend",
              "status": "active",
              "canonId": "31361933-3d22-4c70-bbad-0801e9fffc0c",
              "version": 1,
              "description": "Color/symbol decoder placed adjacent to a chart or diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.709+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6e7d33d8-fb65-4e24-bcc3-4b54df93c43b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Private label share of total grocery: 38.0%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-9fa56eac5757",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "paragraph",
          "text": "1. UK, DE, FR, IT, ES, NL, CZ, PL, PT, SE, BE | 2. Assuming discounters sell 90% private label. Source: State of Grocery 2024",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "footnote",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.709+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4bca32a3-98b6-4ddc-8b86-782c3ae940fb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.6,
            "x": 0.04,
            "y": 0.08
          },
          "kind": "title",
          "text": "Growing share of private label (+3.8pp from 2019 to 2023)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.709+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9ac85f16-ba2b-46d9-b8e4-f230c0aef5ff",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Private label share of total grocery",
          "numberRaw": "38.0%",
          "numberKind": "percent",
          "actionTitle": "Growing share of private label (+3.8pp from 2019 to 2023)",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 38,
          "metricFamily": "share_penetration",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 46,
      "type": "analysis",
      "title": "The chart shows a stacked bar representation of offline (light blue) and online (dark blue) grocery sales in EUR B.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 24,
        "componentCount": 4,
        "textChars": 208,
        "nDataPoints": 15,
        "notes": "The chart shows a stacked bar representation of offline (light blue) and online (dark blue) grocery sales in EUR B.",
        "elementsJson": [
          "bar_chart_stacked",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:11.691+00",
          "seconds": 5.59,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/46",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-46",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.9,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "chart",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.691+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e29f1d17-d81b-4ae8-95cf-b04150fd47ff",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Online share: +1.9pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-7e8bb51cbe9d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "1. UK, DE, FR, IT, ES, NL, CZ, PL, PT, SE, BE\nSource: State of Grocery 2024, IGD",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.691+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7287aec2-03ff-480d-b4f3-909e5796b0fc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.85,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "Online share increased (+1.9pp), resulting in lower margin for hyper/supermarkets, specifically hypermarkets",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:11.691+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "79275853-7bb3-410f-bdb4-10221087248e",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Online share",
          "numberRaw": "+1.9pp",
          "numberKind": "percent",
          "actionTitle": "Online share increased (+1.9pp), resulting in lower margin for hyper/supermarkets, specifically hypermarkets",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 1.9,
          "metricFamily": "share_penetration",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 47,
      "type": "analysis",
      "title": "The slide uses a waterfall-style logic to compare two scenarios: 100% pass-through vs 90% pass-through.",
      "function": "quantify_impact",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 50,
        "componentCount": 6,
        "textChars": 466,
        "nDataPoints": 12,
        "notes": "The slide uses a waterfall-style logic to compare two scenarios: 100% pass-through vs 90% pass-through.",
        "elementsJson": [
          "headline_text",
          "bar_chart_vertical",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:09.732+00",
          "seconds": 3.553,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/47",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-47",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.65,
            "w": 0.22,
            "x": 0.75,
            "y": 0.2
          },
          "kind": "callout",
          "text": "Key assumptions: 90-100% pass-through, 2.2% p.a. COGS inflation, constant volumes.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.732+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "09022d52-0c8d-4e05-851c-6ebb4b498ef4",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "1.0pp decline in Gross margin, which fully translates to 1.0pp EBITDA margin decline",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:25+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b07b-a0f8f12a2a88",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.68,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "chart",
          "text": "P&L development, 2023 vs 2029 for 100% and 90% pass-through scenarios",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.732+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "87f803bb-11b4-4df6-9ff0-82aa6d935eb2",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: -1.0pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:25+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b07b-a7b81f560f7b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: State of Grocery 2024, ECB, McKinsey Value Intelligence, McKinsey analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.732+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9c2292bc-d108-495a-8aea-74bd2591526b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.75,
            "x": 0.04,
            "y": 0.04
          },
          "kind": "title",
          "text": "1. If 90-100% of food COGS inflation can be passed on to consumers without affecting volumes, the EBITDA impact is -1.0pp to opp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.732+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "74990208-0a08-41f2-ba65-4c0e3e548ac8",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "-1.0pp",
          "numberKind": "percent",
          "actionTitle": "1. If 90-100% of food COGS inflation can be passed on to consumers without affecting volumes, the EBITDA impact is -1.0pp to opp",
          "calloutText": "1.0pp decline in Gross margin, which fully translates to 1.0pp EBITDA margin decline",
          "numberScale": null,
          "numberValue": -1,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [
        {
          "matchId": "0fa56b66-0a34-418a-8d8f-efb59783f2a7",
          "evidence": "The slide compares two scenarios (100% vs 90% pass-through) to determine the impact on EBITDA.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 18:39:09.732+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 47,
          "frameworkName": "sensitivity_analysis"
        }
      ],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 48,
      "type": "analysis",
      "title": "The slide uses a comparative P&L structure to demonstrate sensitivity of EBITDA margin to labor cost pass-through rates.",
      "function": "quantify_impact",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 69,
        "componentCount": 7,
        "textChars": 787,
        "nDataPoints": 16,
        "notes": "The slide uses a comparative P&L structure to demonstrate sensitivity of EBITDA margin to labor cost pass-through rates.",
        "elementsJson": [
          "headline_text",
          "data_table",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:10.475+00",
          "seconds": 3.641,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/48",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-48",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.65,
            "w": 0.21,
            "x": 0.76,
            "y": 0.21
          },
          "kind": "callout",
          "text": "Key assumptions\n• 90-100% of labor cost increase can be passed on to consumers\n• Wage inflation peaked at +4-6% in 2023-24 and is expected to stabilize, however at elevated levels (+2.5% p.a. up to 2029 vs. +1.5% historically)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.475+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "65b00553-f099-4c87-89f0-9223603ad8e4",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "90-100% of labor cost increase can be passed on to consumers",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:18+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-5cfd7145c3ef",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.68,
            "x": 0.04,
            "y": 0.21
          },
          "kind": "chart",
          "text": "P&L development, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Waterfall chart",
              "slug": "waterfall",
              "status": "active",
              "canonId": "019de52d-002e-733e-b5cf-dd3beb6692cc",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "waterfall",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.475+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ccbd7cfc-baeb-4651-b0cb-b4288815ca1f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.7,
            "x": 0.04,
            "y": 0.9
          },
          "kind": "disclaimer",
          "text": "1. Including COGS, Logistics, Warehousing and other non-labor costs\n2. In line with ECB labor unit cost inflation forecast: growth of 4.5% in 2024, 2.6% in 2025, 2.1% in 2026, then stabilized at 2% p.a., resulting in 2.5% p.a. until 2029 on average",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.475+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cf4df3f2-c256-4278-9950-69bac66b9285",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: -0.3pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:18+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-61b724f76d10",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.35,
            "x": 0.04,
            "y": 0.96
          },
          "kind": "source-note",
          "text": "Source: State of Grocery 2024, ECB, McKinsey Value Intelligence, McKinsey Analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.475+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "90f4d897-5dea-47a2-9a7a-0fe43f83d56e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.68,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "2. If 90-100% of labor cost increase due to labor market tightness can be passed on to consumers, the EBITDA impact is -0.3pp to 0pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.475+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4504200c-fc6e-4f82-8691-df48c00009a6",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "-0.3pp",
          "numberKind": "percent",
          "actionTitle": "2. If 90-100% of labor cost increase due to labor market tightness can be passed on to consumers, the EBITDA impact is -0.3pp to opp",
          "calloutText": "90-100% of labor cost increase can be passed on to consumers",
          "numberScale": null,
          "numberValue": -0.3,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [
        {
          "matchId": "0798f841-fb12-4535-bd77-0e7d220e5d36",
          "evidence": "Comparing two scenarios (90% vs 100% pass-through) to show impact on EBITDA margin.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 18:39:10.475+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 48,
          "frameworkName": "sensitivity_analysis"
        }
      ],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 49,
      "type": "analysis",
      "title": "The slide uses a waterfall-style logic to show P&L impact from 2023 to 2029 under low and high adoption cases.",
      "function": "quantify_impact",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 59,
        "componentCount": 6,
        "textChars": 725,
        "nDataPoints": 18,
        "notes": "The slide uses a waterfall-style logic to show P&L impact from 2023 to 2029 under low and high adoption cases.",
        "elementsJson": [
          "headline_text",
          "data_table",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:09.9+00",
          "seconds": 2.934,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/49",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-49",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.65,
            "w": 0.22,
            "x": 0.75,
            "y": 0.2
          },
          "kind": "callout",
          "text": "Key assumptions: Households with at least one GLP-1 drug user reduce grocery spending by 6-11%; 30-40% adoption by 2029 (diabetes); 10-25% adoption by 2029 (obesity).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.9+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d08a8127-cfa3-4901-94d4-340a85fb59f1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "0.2-1.0% drop in volumes depending on the GLP-1 drug adoption rates, translating to 0.2-1.0% decrease in revenues and COGS",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-b60d2c49f236",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: 0.2pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-bb6c3956c72c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.65,
            "x": 0.04,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "1. 0.2% drop in volumes... Source: State of Grocery 2024, ECB, McKinsey Value Intelligence, McKinsey Analysis, Cornell SC Johnson College of Business Re search Paper, Goldman Sachs Research, J.P. Morgan Research",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.9+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "34c97fb5-2003-4eea-b93a-cf0e7785499a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.65,
            "x": 0.04,
            "y": 0.2
          },
          "kind": "table",
          "text": "P&L development table showing Revenue, COGS, SG&A, and EBITDA for 2023, 2029 Low case, and 2029 High case.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.9+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ae5755ba-9c6d-4514-8a3d-5dd57caa5ea6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.7,
            "x": 0.04,
            "y": 0.04
          },
          "kind": "title",
          "text": "3. GLP-1 drug users spend 6-11% less on groceries resulting in EBITDA margin decline of 0.1 to 0.2pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.9+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4e0c92d8-f9b3-437e-b3ce-139f4eb011a7",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "0.2pp",
          "numberKind": "percent",
          "actionTitle": "3. GLP-1 drug users spend 6-11% less on groceries resulting in EBITDA margin decline of 0.1 to 0.2pp",
          "calloutText": "0.2-1.0% drop in volumes depending on the GLP-1 drug adoption rates, translating to 0.2-1.0% decrease in revenues and COGS",
          "numberScale": null,
          "numberValue": 0.2,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Waterfall chart",
            "slug": "waterfall-chart",
            "status": "active",
            "bestFor": null,
            "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "93b83c92-9d59-4685-96bf-ab19e7b6f2e4",
          "evidence": "P&L development table showing Revenue, COGS, SG&A, and EBITDA for 2023, 2029 Low case, and 2029 High case.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:33:58.806094+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 49,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 50,
      "type": "analysis",
      "title": "The slide uses a waterfall-style logic to show P&L development under two scenarios (Low case vs High case).",
      "function": "quantify_impact",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 68,
        "componentCount": 7,
        "textChars": 741,
        "nDataPoints": 24,
        "notes": "The slide uses a waterfall-style logic to show P&L development under two scenarios (Low case vs High case).",
        "elementsJson": [
          "headline_text",
          "data_table",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:09.661+00",
          "seconds": 2.624,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/50",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-50",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.35,
            "w": 0.2,
            "x": 0.76,
            "y": 0.47
          },
          "kind": "callout",
          "text": "Takeaways: For each 1pp market share loss to discounters, the EBITDA margin of super- & hypermarkets declines by ~0.23pp. Loss of the market share to discounters is likely to disproportionately impact specific players within certain markets.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.661+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2ff024f6-effd-47e4-9d5b-d66c7478d688",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.2,
            "x": 0.76,
            "y": 0.2
          },
          "kind": "callout",
          "text": "Key assumptions: COGS are assumed to develop in line with revenue; SG&A & other OPEX are expected to stay stable due to relatively high share of fixed costs",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.661+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "912a2392-5f9a-407e-bc39-e7db690d2ca1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "For each 1pp market share loss to discounters, the EBITDA margin of super- & hypermarkets declines by ~0.23pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-d2fc58cd492f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.7,
            "x": 0.04,
            "y": 0.2
          },
          "kind": "chart",
          "text": "P&L development hyper/supermarkets, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.661+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "867fbb1a-62c9-4ac9-b9b6-19e276156993",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: -1pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:17+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b076-d6b1542282d1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: State of Grocery 2024, ECB, McKinsey Value Intelligence, McKinsey Analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.661+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ac5bd47e-e6c3-4e28-a5ea-efbbe8389acf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.7,
            "x": 0.04,
            "y": 0.04
          },
          "kind": "title",
          "text": "4. Market share erosion to discounters will negatively impact the EBITDA margin by -1pp to -0.3pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:09.661+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5c5e5a83-1a3a-49ff-93f2-c6df789c661f",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "-1pp",
          "numberKind": "percent",
          "actionTitle": "4. Market share erosion to discounters will negatively impact the EBITDA margin by -1pp to -0.3pp",
          "calloutText": "For each 1pp market share loss to discounters, the EBITDA margin of super- & hypermarkets declines by ~0.23pp",
          "numberScale": null,
          "numberValue": -1,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Waterfall chart",
            "slug": "waterfall-chart",
            "status": "active",
            "bestFor": null,
            "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "a15293a3-8bc9-48c3-92ae-f1f3f324a05b",
          "evidence": "P&L development hyper/supermarkets, %",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:33:58.893281+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 50,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "f7d6fbf4-2810-4809-8ac9-6c61d4f8e336",
          "evidence": "Shows how market share loss leads to revenue decline, impacting EBITDA margin.",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-05-02 18:39:09.661+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 50,
          "frameworkName": "causal-chain"
        }
      ],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 51,
      "type": "analysis",
      "title": "The slide uses a waterfall-style logic to show how changes in volume share, revenue, COGS, and OPEX lead to a 0.2pp EBITDA margin increase.",
      "function": "quantify_impact",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 56,
        "componentCount": 6,
        "textChars": 612,
        "nDataPoints": 14,
        "notes": "The slide uses a waterfall-style logic to show how changes in volume share, revenue, COGS, and OPEX lead to a 0.2pp EBITDA margin increase.",
        "elementsJson": [
          "headline_text",
          "data_table",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:10.481+00",
          "seconds": 3.384,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/51",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-51",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.65,
            "w": 0.2,
            "x": 0.76,
            "y": 0.2
          },
          "kind": "callout",
          "text": "Comment: In low case with 31% private label share by 2029, and assuming a 5% better gross margin of private label, the total impact on the EBITDA is 0.0pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.481+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0ec1ae9f-83c9-403d-a3d1-ffcc78ec10ea",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "In low case with 31% private label share by 2029, and assuming a 5% better gross margin of private label, the total impact on the EBITDA is 0.0pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:19+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b078-2cabd941b0a8",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin: +0.2pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:19+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b078-305c3203f749",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: State of Grocery 2024, ECB, McKinsey Value Intelligence, McKinsey Analysis, Morgan Stanley",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.481+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dcc2b6f5-78df-41e6-bcb9-1405971bb304",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.65,
            "x": 0.04,
            "y": 0.2
          },
          "kind": "table",
          "text": "P&L development hyper/supermarkets, %: 2023 vs 2029 data for Volume share, Revenue, COGS, SG&A, EBITDA",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.481+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a30c4370-08c2-484d-8daf-962003d2a6b1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.65,
            "x": 0.04,
            "y": 0.03
          },
          "kind": "title",
          "text": "5. The increasing share or private label positively impacts EBITDA margin by 0.0pp to +0.2pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.481+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "246af936-fad7-42de-af8b-09eeaacfa300",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin",
          "numberRaw": "+0.2pp",
          "numberKind": "percent",
          "actionTitle": "5. The increasing share or private label positively impacts EBITDA margin by 0.0pp to +0.2pp",
          "calloutText": "In low case with 31% private label share by 2029, and assuming a 5% better gross margin of private label, the total impact on the EBITDA is 0.0pp",
          "numberScale": null,
          "numberValue": 0.2,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Table data",
            "slug": "table-data",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4fab-7168-a82f-b847350a006d",
            "version": 1,
            "bodyDocId": null,
            "description": "Tabular layouts of structured data.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "ff0727fb-ea86-4c93-be7a-a30b8ad7fa17",
          "evidence": "P&L development hyper/supermarkets, %: 2023 vs 2029 data for Volume share, Revenue, COGS, SG&A, EBITDA",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:33:58.993349+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 51,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "bf46f13b-dc26-4157-8b17-5ecba3d876e3",
          "evidence": "The table structure shows the delta between 2023 and 2029 for P&L line items leading to an EBITDA margin change.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 18:39:10.481+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 51,
          "frameworkName": "waterfall-bridge"
        }
      ],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 52,
      "type": "resolution",
      "title": "The slide uses a heatmap matrix to visualize the impact of two variables on EBITDA margin.",
      "function": "quantify_impact",
      "rawType": "sensitivity_analysis",
      "block": null,
      "metadata": {
        "slideType": "sensitivity_analysis",
        "slideTypeCanon": {
          "name": "Sensitivity analysis",
          "slug": "sensitivity_analysis",
          "status": "active",
          "canonId": "019de52d-0e3e-71aa-afde-42c88c3adc5f",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 51,
        "componentCount": 6,
        "textChars": 463,
        "nDataPoints": 16,
        "notes": "The slide uses a heatmap matrix to visualize the impact of two variables on EBITDA margin.",
        "elementsJson": [
          "headline_text",
          "heatmap",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:10.326+00",
          "seconds": 3.125,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/52",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-52",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.65,
            "w": 0.2,
            "x": 0.76,
            "y": 0.21
          },
          "kind": "callout",
          "text": "Key assumptions: EBITDA margin of online grocery is expected to be 3-6pp lower compared to offline by 2029 (currently 5-10pp)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.326+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "453c1466-c997-4535-a47b-5967b31a0adb",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "EBITDA margin of online grocery is expected to be 3-6pp lower compared to offline by 2029 (currently 5-10pp)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:18+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-c7b5b136b1e4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.68,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "chart",
          "text": "EBITDA margin change of hyper/supermarkets, pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Heatmap",
              "slug": "heatmap",
              "status": "active",
              "canonId": "019de52d-00cd-71ee-bf36-233b7817c304",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "heatmap",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.326+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1f158cd2-0372-4c60-abdf-fa5186fa7924",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBITDA margin impact: -0.2pp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:25:18+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdee-73ea-b077-c8e31ee9aa73",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: McKinsey analysis, expert interviews",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.326+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3a1549e4-d8d8-458e-8ce8-8df8394af29b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.75,
            "x": 0.04,
            "y": 0.04
          },
          "kind": "title",
          "text": "6. Online market share is expected to grow from 6% by 1-3pp, resulting in a total EBITDA impact of -0.2pp to opp",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:10.326+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "50e5ca3b-5252-407e-a38e-fdea60683ab9",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "EBITDA margin impact",
          "numberRaw": "-0.2pp",
          "numberKind": "percent",
          "actionTitle": "6. Online market share is expected to grow from 6% by 1-3pp, resulting in a total EBITDA impact of -0.2pp to 0pp",
          "calloutText": "EBITDA margin of online grocery is expected to be 3-6pp lower compared to offline by 2029 (currently 5-10pp)",
          "numberScale": null,
          "numberValue": -0.2,
          "metricFamily": "margin_return",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Heatmap matrix",
            "slug": "heatmap-matrix",
            "status": "active",
            "bestFor": null,
            "canonId": "019de52d-2363-7248-9aa8-cd0bcf077891",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "b23d025d-5e12-4167-baf5-6127ebf68e65",
          "evidence": "EBITDA margin change of hyper/supermarkets, pp",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:33:59.092893+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 52,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "e374d661-daf6-4b63-b10e-7607d24ca42d",
          "evidence": "The slide presents a matrix showing how changes in two variables (online share growth and margin discount) affect a third variable (EBITDA margin).",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 18:39:10.326+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 52,
          "frameworkName": "sensitivity_analysis"
        }
      ],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 53,
      "type": "setup",
      "function": "transition",
      "rawType": "section_divider",
      "block": null,
      "metadata": {
        "slideType": "section_divider",
        "slideTypeCanon": {
          "name": "Section divider",
          "slug": "section_divider",
          "status": "active",
          "canonId": "019de52d-066a-7402-9554-6ae504999041",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 0,
        "componentCount": 1,
        "textChars": 18,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:39:08.66+00",
          "seconds": 1.437,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a168-29079190b36a/53",
        "deck": "/decks/019dd923-5de0-76bd-a168-29079190b36a",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a168-29079190b36a#slide-53",
        "deckJson": "/decks/019dd923-5de0-76bd-a168-29079190b36a.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.07,
            "w": 0.16,
            "x": 0.04,
            "y": 0.06
          },
          "kind": "image",
          "text": "McKinsey & Company",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:39:08.66+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0e3501fa-d4c8-436e-95d2-f4b8bea05970",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 53,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 39,
          "name": "Action",
          "beatId": "0d1bf9fb-23f3-48e1-87ef-448663056c57",
          "matchId": "e1cd6bc5-7b46-410d-82e2-52a2c9c9e8bd",
          "beatType": {
            "name": "Action",
            "slug": "aida-action",
            "status": "active",
            "canonId": "019dd9b8-1285-74f0-8552-c04c08014586",
            "version": 1,
            "description": null
          },
          "evidence": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.8
        }
      ],
      "loops": [],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 5,
      "to": 9,
      "label": "Problem",
      "description": "The deck identifies the problem of declining profitability in the grocery industry, highlighting margin pressure and sales decline."
    },
    {
      "from": 10,
      "to": 18,
      "label": "Agitate",
      "description": "The deck agitates the problem by highlighting the impact of macroeconomic conditions and industry dynamics on grocers' margins."
    },
    {
      "from": 23,
      "to": 38,
      "label": "Solution",
      "description": "The deck offers solutions to improve profitability, such as stepping up private label quality, reshaping store networks, driving COGS reduction, and monetizing retail media."
    },
    {
      "from": 39,
      "to": 53,
      "label": "Action",
      "description": "The deck concludes by emphasizing the need for grocers to take bold actions to improve profitability."
    }
  ],
  "loops": [
    {
      "from": 18,
      "to": 23,
      "label": "Cost Of Inaction",
      "description": "What if grocers do not take countermeasures to address declining profitability?"
    },
    {
      "from": 25,
      "to": 31,
      "label": "Mece Breakdown",
      "description": "How can grocers improve profitability through various levers?"
    },
    {
      "from": 34,
      "to": 38,
      "label": "Quick Win Big Bet",
      "description": "What are the potential impact of quick wins and big bets on profitability?"
    }
  ]
}