{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019dd923-5ca1-7489-b638-799ac59d725f",
  "slug": "116d97b2f5cdf244",
  "title": "European Consumer Sentiment Survey: How current events in Europe are shaping consumer behavior",
  "subtitle": "McKinsey",
  "author": "McKinsey",
  "pageCount": 40,
  "kind": "consulting-deck",
  "orientation": "landscape",
  "aspectRatio": 1.294,
  "document": {
    "id": "019dd923-5ca1-7489-b638-799ac59d725f",
    "slug": "116d97b2f5cdf244",
    "title": "European Consumer Sentiment Survey: How current events in Europe are shaping consumer behavior",
    "rawTitle": "European Consumer Sentiment Survey: How current events in Europe are shaping consumer behavior",
    "authorId": "McKinsey",
    "authorName": "McKinsey",
    "authorDisplay": "McKinsey",
    "kind": {
      "slug": "consulting-deck",
      "label": "Consulting deck"
    },
    "sourceType": {
      "slug": "strategy_consulting",
      "label": "Strategy consulting"
    },
    "fileName": "European-Consumer-Sentiment-Survey-How-current-events-in-Europe-are-shaping-consumer-behavior.pdf",
    "sourceUrl": "https://www.mckinsey.com/de/~/media/mckinsey/locations/europe%20and%20middle%20east/deutschland/news/presse/2022/2022-07-18%20consumer%20sentiment%20juli%2022/220715_mck_consumer_pulse_june22_dtl.pdf",
    "sourceDate": "2022-06-12 00:00:00",
    "presentationDate": null,
    "ingestedAt": "2026-04-23 20:51:38+00",
    "status": "ready",
    "pageCount": 40,
    "orientation": "landscape",
    "aspectRatio": 1.294,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "local_root": "/tmp/legacy-images/116d97b2f5cdf244",
      "origin_corpus": "consulting"
    }
  },
  "coverage": {
    "pageCount": 40,
    "pagesIndexed": 40,
    "pagesWithImages": 40,
    "pagesWithMetadata": 40,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 211,
    "chartCount": 22,
    "metricSlides": 35,
    "toolMatches": 27,
    "documentToolMatches": 0,
    "frameworkMatches": 4,
    "arcMatches": 1,
    "beatMatches": 3,
    "loopMatches": 2,
    "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": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
        "evidence": "The document follows a problem-agitate-solution structure, highlighting the problems faced by consumers, agitating them, and providing insights into their behavior",
        "isPrimary": true,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:06:35.758128+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      }
    ],
    "beats": [
      {
        "to": 5,
        "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": 1,
        "name": "Problem (Identify pain)",
        "beatId": "392966bb-924a-4118-a1b0-f6989b5916f9",
        "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
        "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 document identifies the problems faced by consumers, including rising prices and the invasion of Ukraine",
        "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": 10,
        "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": 6,
        "name": "Agitate (Make it worse)",
        "beatId": "96489022-b236-437f-90e6-60e99eebdae8",
        "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
        "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 document highlights the impact of these problems on consumers, including decreased confidence in the economy",
        "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": 15,
        "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": 11,
        "name": "Solution (Provide relief)",
        "beatId": "c3bde038-377e-483b-9cf9-1f566dd1b734",
        "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
        "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 document provides insights into consumer behavior and how they are responding to these problems",
        "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": 5,
        "from": 2,
        "loop": {
          "name": "01_logic_chain",
          "slug": "01-logic-chain",
          "status": "active",
          "bestFor": "Skeptical audiences, controversial recommendations, rigorous analysis",
          "canonId": "019dd956-6638-7457-8650-9b0b42e59fb3",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "Premise 1 (Accepted truth) -> Premise 2 (Observed fact) -> Therefore... (Inevitable conclusion)",
          "description": "Build an airtight chain of logic where each premise leads inevitably to the conclusion",
          "familyLabel": null,
          "categoryName": "Logical Reasoning",
          "categorySlug": "logical-reasoning"
        },
        "matchId": "afcd09be-80f2-4d71-9315-37179ae8faf8",
        "evidence": "The document presents a logical chain of information, starting with the top concerns for consumers",
        "position": 0,
        "objective": "What are the top concerns for consumers?",
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:06:35.883518+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      },
      {
        "to": 25,
        "from": 20,
        "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": "70e07a91-85b1-4912-b736-da236a18eb8c",
        "evidence": "The document highlights the consequences of not responding to price increases, including decreased consumer purchasing power",
        "position": 1,
        "objective": "What are the consequences of not responding to price increases?",
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:06:35.915568+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      }
    ],
    "tools": [
      {
        "tool": {
          "name": "Slide recipe: Cover",
          "slug": "cover-slide",
          "status": "active",
          "bestFor": null,
          "canonId": "019df269-2a08-767d-9128-e7431e6fe8a3",
          "version": 1,
          "bodyDocId": "019df269-29e5-7738-b5fa-6892e5dc8e65",
          "description": "The first ten seconds. Build it deliberately.",
          "familyLabel": "slide-recipe",
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "designer",
        "layer": "slide",
        "agents": [
          "designer"
        ],
        "matchId": "7cc848a0-3335-42ce-89f1-886b4f2442a3",
        "evidence": "The slide is clearly a cover slide with a title and logo.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:14:48.960161+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 1,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "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": "ff60ac6e-eacc-4b18-9a64-8214aeef3daa",
        "evidence": "paragraph/paragraph: German consumers' greatest concerns are rising prices and the invasion of Ukraine.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-17 03:52:45.552327+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": "Three-Act Structure",
          "slug": "three-act-structure",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8812-7796-9105-e7bc0e405681",
          "version": 1,
          "bodyDocId": null,
          "description": "Setup, Confrontation, Resolution - classic dramatic structure",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "73a1aa69-1cec-4989-af12-fe179ca57024",
        "evidence": "The slide discusses three emerging consumer themes, which could be part of a three-act structure.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:14:49.027009+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "74583904-60c4-45dc-9de7-e64ca8d2f537",
        "evidence": "The slide features a stacked bar chart to show consumer concerns by country.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:49.094653+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": "Before/after framing",
          "slug": "before-after-framing",
          "status": "active",
          "bestFor": "For turnaround / reform proposals",
          "canonId": "019dd9e1-528b-72ec-a563-e5dcb9410f67",
          "version": 1,
          "bodyDocId": "019dd9a1-80bf-72e9-980b-ccd1c0cd3488",
          "description": "You visualise two futures side by side: the trajectory the target is on\ntoday, and the trajectory under your proposed intervention. The reader\nhas to see the delta to feel the stakes.\n\nIt's the rhetorical cousin of the peer-gap — same visual grammar\n(comparison), but across **time** instead of across peers.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "a1f3239f-6c55-4e7f-b620-1b5cfdd24c24",
        "evidence": "The slide compares consumer concerns in June 2022 vs April 2022.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": "For turnaround / reform proposals",
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:49.163758+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": "- It **quantifies the opportunity cost** of inaction. \"Doing nothing\"\n  becomes a concrete, visible path, not an abstraction.\n- It **makes the Answer tangible**. The prescription isn't a paragraph;\n  it's a trajectory the reader can point at.\n- It **pre-empts the status-quo defence**. Management usually argues \"we\n  have a plan\". Your chart shows what their plan looks like vs. yours.\n- It **satisfies both the Architect** (math adds up) **and the Storyteller**\n  (emotional delta between two futures).",
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Audience Persona",
          "slug": "audience-persona",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7fe3-74e9-88b8-be0bea34f219",
          "version": 1,
          "bodyDocId": null,
          "description": "Detailed fictional profile of typical audience member including goals, frustrations, and context",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "42d3ddd1-d1cb-4f7b-b8f4-31f47b84d106",
        "evidence": "The slide discusses insights into consumer concerns by income and generation.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:49.230574+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Audience frame",
          "slug": "audience-frame",
          "status": "active",
          "bestFor": null,
          "canonId": "2a1eefbd-5be8-4600-898b-49dbfcf73ec8",
          "version": 1,
          "bodyDocId": null,
          "description": "Tools for modelling and segmenting the audience (persona, JTBD, segmentation).",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "c4b12bcf-8a68-45b7-9e9f-7e1b53438b84",
        "evidence": "The slide discusses insights into consumer concerns by income and generation.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:49.297255+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "optional",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "269e62a3-c7bc-426c-84c5-016aa8f3d344",
        "evidence": "The slide features a stacked bar chart to show consumer sentiment.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:49.362855+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "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": "837b4532-bfd0-4999-b061-3055fe0677de",
        "evidence": "Low-income and Gen X respondents have the lowest confidence in Germany’s current state of the economy",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:54.775456+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "11974128-28cb-4c5a-9395-860389599ad9",
        "evidence": "Confidence in own country's current economic state",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:14:54.80969+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "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": "2ca5f2b6-0b8e-4611-923c-90404b9ca747",
        "evidence": "Stacked bar chart showing sentiment distribution for Overall, Rising prices, Invasion of Ukraine, and Extreme weather events.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:14:54.878337+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Evidence Matrix",
          "slug": "evidence-matrix",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7ecc-74c2-b46c-0b9c1f4c73d7",
          "version": 1,
          "bodyDocId": null,
          "description": "Planning visual assets: Claim → Evidence Needed → Data Source → Visual Type",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "e5de36e9-15ad-4dc8-bbf1-8f140093eded",
        "evidence": "Table showing survey results for 11 categories of economic concern across 5 countries plus an aggregate 'Europe 5' column.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:14:54.947577+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Before-After-Bridge",
          "slug": "before-after-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8604-7188-883f-42370288ad05",
          "version": 1,
          "bodyDocId": null,
          "description": "Narrative structure: Paint the before, show the after, explain the bridge",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "1b4af60e-1b53-4e44-a6a8-e9503e2dc6ba",
        "evidence": "Overall pessimism about economic recovery has slightly decreased but is still much higher than before the invasion of Ukraine",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:14:55.016448+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "00e1e958-7ef8-44be-af5c-843cfaa9e21c",
        "evidence": "Stacked bar chart of economic confidence by country",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:55.085217+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": "Audience Segmentation",
          "slug": "audience-segmentation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8079-7046-8e6b-ecdf1bf15590",
          "version": 1,
          "bodyDocId": null,
          "description": "Grouping audience by attitude toward your message: Champions, Neutrals, Skeptics",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "d4a7b1c9-ccdc-4728-9cd9-6257b7c78f34",
        "evidence": "Low-income and elder consumers have the lowest confidence in their country’s future economic recovery",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:55.151702+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "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": "bcf78234-4efe-492c-b364-0f56d50099f7",
        "evidence": "Three emerging consumer themes in June 2022",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:14:55.218656+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": "Chartjunk Elimination",
          "slug": "chartjunk-elimination",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b49e-7453-ab01-b60f338eeda1",
          "version": 1,
          "bodyDocId": null,
          "description": "Remove decorative elements that don't convey data: 3D effects, shadows, unnecessary gridlines",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "28354518-7c34-4ec0-bda0-fa788305ba86",
        "evidence": "Stacked bar chart showing Yes/No responses for 5 countries plus an aggregate 'Europe 5' column.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:14:55.284283+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Small Multiples",
          "slug": "small-multiples",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating similar charts for comparison across categories or time",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "7942d318-4e50-417e-a02c-ea7a2e79096c",
        "evidence": "Price change by category",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:55.351234+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "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": "69e4c26b-0216-48cc-802e-36a9be390241",
        "evidence": "Agreement with price-related statements by generation",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:14:55.419279+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": "Data-Ink Ratio",
          "slug": "data-ink-ratio",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
          "version": 1,
          "bodyDocId": null,
          "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "914bee12-6600-4374-9450-28cb66315f58",
        "evidence": "Table of spending categories (Rent, Energy, Transport, Food, Nonfood, Savings) across 5 countries.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:14:55.520695+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data-Ink Ratio",
          "slug": "data-ink-ratio",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
          "version": 1,
          "bodyDocId": null,
          "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "551de751-8d67-411c-b1ec-401334ee49a4",
        "evidence": "Table showing categories against observed price increases and behavioral responses.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:49.523177+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 33,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data-Ink Ratio",
          "slug": "data-ink-ratio",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
          "version": 1,
          "bodyDocId": null,
          "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "723b4a59-6c4f-4d31-9679-71b9b3096eaf",
        "evidence": "Table/data showing type of brand selected (private label or not)",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:49.58966+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 34,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data-Ink Ratio",
          "slug": "data-ink-ratio",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
          "version": 1,
          "bodyDocId": null,
          "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "81bab6d2-834c-41c8-a2ba-ea4e8da2ddfa",
        "evidence": "Table/data showing difference from Europe 5, percentage points: < -3 (red), Between -3 and +3 (grey), > +3 (blue)",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:49.655043+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 35,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data-Ink Ratio",
          "slug": "data-ink-ratio",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
          "version": 1,
          "bodyDocId": null,
          "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "3a8b82d8-3895-42fe-9962-589e5638396b",
        "evidence": "Table/data showing Sustainability, Rational, Beliefs categories with 13 rows of data points for Unimportant, Important, and Net importance.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:49.725471+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 36,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data-Ink Ratio",
          "slug": "data-ink-ratio",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
          "version": 1,
          "bodyDocId": null,
          "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "369e7425-3895-4692-b694-0205ec969a5a",
        "evidence": "Table/data showing net importance ratings for 14 factors across 6 columns (Europe 5, Germany, France, UK, Italy, Spain)",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:14:49.792746+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": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "94ac87fe-7bc8-4ac5-8980-43edbaa04b74",
        "evidence": "Stacked bar chart showing Yes/No responses across time and generations",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:14:49.862221+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 38,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "1abbc7ba-640c-4f4a-9915-ccbbe6005f28",
        "evidence": "Legend: Difference from all respondents percentage points: < -3 (red), Between -3 and +3 (grey), > +3 (blue)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:14:49.928918+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 39,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      }
    ],
    "frameworks": [
      {
        "matchId": "f061a3b3-fe1f-4d06-a380-9884b22f5f92",
        "evidence": "The data is segmented by income and generation to show different consumer concerns.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 19:22:34.33+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "frameworkName": "audience-segmentation"
      },
      {
        "matchId": "66271a6d-323d-45c4-aa2e-16ea523b773e",
        "evidence": "Data is segmented by generation (Gen Z, Millennials, Gen X, Baby boomers)",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 19:22:34.387+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "frameworkName": "audience-segmentation"
      },
      {
        "matchId": "cbbb4767-c5d0-418e-9502-c2cbfbd4361d",
        "evidence": "The slide segments consumer behavior data by generational cohorts (Gen Z, Millennials, Gen X, Baby Boomers).",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 19:22:38.403+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 25,
        "frameworkName": "audience-segmentation"
      },
      {
        "matchId": "5aae23bb-ab5b-4238-910f-773e4711137c",
        "evidence": "The table uses color-coded cells to represent quantitative differences relative to a baseline.",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-05-02 19:22:35.96+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 27,
        "frameworkName": "heatmap-matrix"
      }
    ],
    "patterns": []
  },
  "storymakers": null,
  "score": {
    "backend": "claude",
    "scoredAt": "2026-05-02 10:53:18.233+00",
    "subScores": {
      "scqa_arc": 55,
      "action_titles": 93,
      "mece_structure": 70,
      "closing_strength": 22,
      "evidence_quality": 88,
      "clarity_of_thesis": 75,
      "production_quality": 76,
      "visual_storytelling": 62
    },
    "totalScore": 68,
    "coveragePct": 100,
    "explanations": {
      "scqa_arc": "Reads as analytical-dump: strong Situation+Complication (slides 4-22), but no explicit Question and no synthesized Answer—the deck ends on splurge data without a 'so what' recommendation.",
      "action_titles": "Nearly every analytical slide (4-39) carries a full insight-bearing sentence as title, e.g. slide 30: 'Trading down is particularly evident in household products, frozen foods, and snacks and confectionary'.",
      "mece_structure": "Three repeating divider slides (3, 15, 23) signal a sentiment/observations/behavior structure, but the boundaries blur—concern data spans slides 4-14 with overlap, and demographic cuts repeat across sections.",
      "closing_strength": "Slide 40 is a bare McKinsey logo with no recommendation, implication, or call to action—the deck stops rather than closes.",
      "evidence_quality": "Every claim is backed by survey data with footnotes and sample cuts; cross-country and longitudinal benchmarks (slides 12, 13, 16) reinforce assertions with rigor.",
      "clarity_of_thesis": "The thesis—German consumers are reshaping behavior under inflation/Ukraine pressure—is established declaratively in slides 2-5, with slide 3's 'Three emerging consumer themes' acting as an explicit frame.",
      "production_quality": "Action-title density and heatmap/color-code consistency are exemplary, footnote discipline holds, but recurring 'overcrowded' density and three near-identical 'Three emerging themes' summary slides hurt polish.",
      "visual_storytelling": "Charts mostly fit the message (stacked bars for sentiment, heatmaps for cross-segment deltas), but 12 of 40 slides are flagged 'overcrowded' (e.g. 17, 20, 21, 27-32), diluting the punchline."
    },
    "slidesAnalyzed": 40
  },
  "review": {
    "backend": null,
    "verdict": "A textbook McKinsey consumer-research deck with a strong opening and disciplined three-pillar MECE spine, but it stops at analysis — use it as an exemplar for action titles and pillar structure, not for the full Storymakers S→C→A→R arc.",
    "reviewedAt": "2026-04-25 02:58:45+00",
    "slidesSeen": 40,
    "suggestions": [
      "Add a closing act before p40: a 1–2 slide 'What this means for consumer-goods companies and retailers' with explicit recommendations tied to each of the three themes",
      "Rewrite the three divider slides (p3/p15/p23) to each carry the theme's insight (e.g. 'Theme 2: Price increases are now visible in 90%+ of categories — and consumers are acting on it'), instead of repeating the same label",
      "Tighten the longest action titles (p21, p29, p32) into single-clause declaratives — split the secondary observation into a sub-bullet or callout"
    ],
    "closingScore": 32,
    "openingScore": 82,
    "topStrengths": [
      "Executive summary on p2 leads with the answer ('Price consciousness is driving consumers to lower-priced brands and retailers') instead of burying it",
      "Explicit three-pillar MECE structure repeated at p3/p15/p23 gives the deck a navigable spine",
      "Action titles consistently state findings, often with the pivot point built in (e.g. p6, p8, p17, p32)",
      "Callout pull-quotes reinforce the headline stat ('73%', '95%', '27%') across sections, building cumulative evidence"
    ],
    "topWeaknesses": [
      "No resolution act — the deck ends on data slides (p38–p39 splurge intent) and a blank McKinsey logo (p40), with no 'implications for retailers/brands' or call to action",
      "Section dividers reuse the same topic-label title 'Three emerging consumer themes in June 2022' instead of stating each theme's insight at the divider",
      "Several action titles are run-on sentences stitched with semicolons (p21, p29, p32, p36) — they bury the insight in a second clause",
      "Heavy reliance on analyze_data slide types (~30 of 40) with little synthesis or framework moments to break the analytical monotony"
    ],
    "narrativeScore": 68,
    "pillarCritique": "Section dividers are MECE and intentional: the same 'Three emerging consumer themes' divider recurs at p3, p15 and p23, signalling theme 1 (concerns/economy), theme 2 (price perception/spend), theme 3 (shopping behavior shifts) — a textbook pillar structure, though the divider title itself is a topic label rather than the insight.",
    "closingCritique": "There is no closing act: the last five non-cover slides (p36–p40) are a brand-trial driver table, a sustainability cut, two splurge-intent slides and a bare McKinsey logo on p40 — no recommendation, no implications-for-clients slide, no memorable close.",
    "openingCritique": "Strong opening: p2 is a proper executive summary leading with the price-consciousness thesis, and p3 lands the headline stat ('73% of consumers have changed shopping behavior') framed as three themes — the answer arrives by slide 3.",
    "extractionSeconds": 66.53741,
    "narrativeCritique": "Clear S→C→A arc — situation (rising prices, war), complication (73% changing behavior), analysis organized into three themes — but the resolution is missing: the deck ends on data tables and a logo with no synthesis, implications, or 'so what' for clients.",
    "titleQualityScore": 80,
    "titleQualityCritique": "Most action titles are declarative and insight-bearing — e.g. p5 'Rising prices dominate German consumers' minds, even more than the invasion of Ukraine…' and p27 'Consumers across countries shifting to shopping at discounter retail formats, with Germany and UK leading the way'. Weak spots are the recurring divider 'Three emerging consumer themes in June 2022' and p2 'Executive summary', which are topic labels."
  },
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/4S5rEBMTCZinvxKW2njsb8vWe95V9isjMWkocFtll1w/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy8xMTZkOTdiMmY1Y2RmMjQ0L3AwMDEuanBn",
      "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": "balanced",
        "densityScore": 27,
        "componentCount": 5,
        "textChars": 290,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "photo",
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:31.319+00",
          "seconds": 2.707,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/1",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-1",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.04,
            "y": 0.79
          },
          "kind": "disclaimer",
          "text": "CONFIDENTIAL AND PROPRIETARY Any use of this material without specific permission of McKinsey & Company is 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 19:22:31.319+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1dad2234-45cb-4329-8010-a247fc6a6a9b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.04,
            "y": 0.18
          },
          "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 19:22:31.319+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bb58fb4c-ad1a-48af-9a9c-c931b41768f7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.4,
            "x": 0.6,
            "y": 0.1
          },
          "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": "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 19:22:31.319+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "172c5eb3-4865-41fc-816d-3437af4dc900",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.04,
            "y": 0.63
          },
          "kind": "paragraph",
          "text": "Survey period: June 8–12, 2022",
          "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 19:22:31.319+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "40039b73-b548-4107-b97e-f6f78e515d02",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.5,
            "x": 0.04,
            "y": 0.385
          },
          "kind": "title",
          "text": "European Consumer Sentiment Survey: How current events in Europe are shaping consumer behavior Insights from Germany",
          "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 19:22:31.319+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "561df67a-c34a-4a60-afa5-369ccd419e63",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Slide recipe: Cover",
            "slug": "cover-slide",
            "status": "active",
            "bestFor": null,
            "canonId": "019df269-2a08-767d-9128-e7431e6fe8a3",
            "version": 1,
            "bodyDocId": "019df269-29e5-7738-b5fa-6892e5dc8e65",
            "description": "The first ten seconds. Build it deliberately.",
            "familyLabel": "slide-recipe",
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "designer",
          "layer": "slide",
          "agents": [
            "designer"
          ],
          "matchId": "7cc848a0-3335-42ce-89f1-886b4f2442a3",
          "evidence": "The slide is clearly a cover slide with a title and logo.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:14:48.960161+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 1,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 5,
          "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": 1,
          "name": "Problem (Identify pain)",
          "beatId": "392966bb-924a-4118-a1b0-f6989b5916f9",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document identifies the problems faced by consumers, including rising prices and the invasion of Ukraine",
          "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": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/p5rcD4s2WSSAUW6cknYDBhUytnzF5AFNv1Vugx1lQko/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy8xMTZkOTdiMmY1Y2RmMjQ0L3AwMDEuanBn",
      "imagePathAlt": "https://imgproxy.kitesheet.com/w41x1SCzcF0Zt_zHOXNaHqKuiT0xxsGKSlknrckT8pM/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy8xMTZkOTdiMmY1Y2RmMjQ0L3AwMDEucG5n",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/UdjUtwHjwz1qJzLEWeYHNTiV41eP-275AbrOOhx5gQg/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy8xMTZkOTdiMmY1Y2RmMjQ0L3AwMDEucG5n"
    },
    {
      "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": 80,
        "componentCount": 8,
        "textChars": 1048,
        "nDataPoints": 18,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-17 03:23:59.159+00",
          "seconds": 2.783,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/2",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-2",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Price consciousness is driving consumers to lower-priced brands and retailers.",
          "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:22:39+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b496-00257f0516a4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.21,
            "x": 0.76,
            "y": 0.28
          },
          "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": "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-07-17 03:23:59.159+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2cd9c0ca-f7ed-4edb-b3a7-74b9fd125bd1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer sentiment: 48%",
          "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:22:39+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b496-0628c1e7df85",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.07,
            "w": 0.71,
            "x": 0.045,
            "y": 0.495
          },
          "kind": "paragraph",
          "text": "Inflation is having a strong impact on shopping behavior. With inflation at 8.7 percent, almost all German consumers (96 percent) say they have perceived a price change, especially for groceries and gasoline.",
          "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": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-17 03:23:59.159+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "88dc5d3a-b127-4936-8546-28b178728021",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.07,
            "w": 0.71,
            "x": 0.045,
            "y": 0.265
          },
          "kind": "paragraph",
          "text": "German consumers' greatest concerns are rising prices and the invasion of Ukraine. Consumers in Germany, like those across Europe, most often say their top concern is rising prices (48 percent); the invasion of Ukraine is a distant second (24 percent).",
          "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": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-17 03:23:59.159+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9dd06ce3-d850-4835-bf51-3fcd8f299288",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.71,
            "x": 0.045,
            "y": 0.615
          },
          "kind": "paragraph",
          "text": "Price consciousness is driving consumers to lower-priced brands and retailers. Among the 70 percent of consumers who tried a new shopping behavior in the last three months, the largest share (46 percent) tried buying a private label.",
          "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": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-17 03:23:59.159+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d10d745c-c773-487b-bd70-34a7bf6e9b48",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.07,
            "w": 0.71,
            "x": 0.045,
            "y": 0.355
          },
          "kind": "paragraph",
          "text": "Almost half of consumers rate the economy negatively. Only 14 percent rate Germany's current economic situation as positive; 46 percent hold negative views. The low-income group has an even gloomier perspective, with 61 percent negative.",
          "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": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-17 03:23:59.159+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dbffda08-e9e1-43fd-bca5-97fd0275b7c4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.035,
            "w": 0.308,
            "x": 0.045,
            "y": 0.195
          },
          "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-07-17 03:23:59.159+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cafa7ac6-7e37-4f92-8224-35247fe28719",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Consumer sentiment",
          "numberRaw": "48%",
          "numberKind": "percent",
          "actionTitle": null,
          "calloutText": "Price consciousness is driving consumers to lower-priced brands and retailers.",
          "numberScale": null,
          "numberValue": 48,
          "metricFamily": "survey_sentiment",
          "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": "ff60ac6e-eacc-4b18-9a64-8214aeef3daa",
          "evidence": "paragraph/paragraph: German consumers' greatest concerns are rising prices and the invasion of Ukraine.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-17 03:52:45.552327+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": [
        {
          "to": 5,
          "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": 1,
          "name": "Problem (Identify pain)",
          "beatId": "392966bb-924a-4118-a1b0-f6989b5916f9",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document identifies the problems faced by consumers, including rising prices and the invasion of Ukraine",
          "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": [
        {
          "to": 5,
          "from": 2,
          "loop": {
            "name": "01_logic_chain",
            "slug": "01-logic-chain",
            "status": "active",
            "bestFor": "Skeptical audiences, controversial recommendations, rigorous analysis",
            "canonId": "019dd956-6638-7457-8650-9b0b42e59fb3",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Premise 1 (Accepted truth) -> Premise 2 (Observed fact) -> Therefore... (Inevitable conclusion)",
            "description": "Build an airtight chain of logic where each premise leads inevitably to the conclusion",
            "familyLabel": null
          },
          "matchId": "afcd09be-80f2-4d71-9315-37179ae8faf8",
          "evidence": "The document presents a logical chain of information, starting with the top concerns for consumers",
          "position": 0,
          "objective": "What are the top concerns for consumers?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:06:35.883518+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 3,
      "type": "resolution",
      "title": "The slide uses a three-column layout to present distinct consumer insights.",
      "function": "summarize",
      "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": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 53,
        "componentCount": 6,
        "textChars": 587,
        "nDataPoints": 4,
        "notes": "The slide uses a three-column layout to present distinct consumer insights.",
        "elementsJson": [
          "headline_text",
          "numbered_list",
          "icon_grid",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:32.264+00",
          "seconds": 3.459,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/3",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-3",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "73% of consumers have changed shopping behavior in response to concerns and pressures faced in the past 3 months.",
          "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:22:41+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-0fb21f5e034d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.25,
            "x": 0.04,
            "y": 0.35
          },
          "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": "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 19:22:32.264+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "272d3882-d072-4222-80f4-01a7202a9bf6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.92,
            "x": 0.04,
            "y": 0.28
          },
          "kind": "list",
          "text": "1. How do consumers feel? Rising prices and invasion of Ukraine dominating concerns; optimism in economy stagnating. 2. What do consumers observe? Sharply rising prices on essentials. 3. How are consumers reacting? Noticeable activity, demand, and channel and brand shifts.",
          "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 19:22:32.264+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "546ac61c-97c1-4ab3-877d-26b71933a250",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "consumer behavior: 73%",
          "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:22:41+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-134fcc6767ca",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.6,
            "x": 0.04,
            "y": 0.86
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:32.264+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bd04e773-14b3-4121-91a8-a027292fbf12",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.6,
            "x": 0.04,
            "y": 0.19
          },
          "kind": "title",
          "text": "Three emerging consumer themes in June 2022",
          "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 19:22:32.264+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b8e96e69-766c-4a96-95ae-07a2b34c28cd",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "consumer behavior",
          "numberRaw": "73%",
          "numberKind": "percent",
          "actionTitle": null,
          "calloutText": "73% of consumers have changed shopping behavior in response to concerns and pressures faced in the past 3 months.",
          "numberScale": null,
          "numberValue": 73,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Three-Act Structure",
            "slug": "three-act-structure",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8812-7796-9105-e7bc0e405681",
            "version": 1,
            "bodyDocId": null,
            "description": "Setup, Confrontation, Resolution - classic dramatic structure",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "73a1aa69-1cec-4989-af12-fe179ca57024",
          "evidence": "The slide discusses three emerging consumer themes, which could be part of a three-act structure.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:14:49.027009+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 5,
          "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": 1,
          "name": "Problem (Identify pain)",
          "beatId": "392966bb-924a-4118-a1b0-f6989b5916f9",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document identifies the problems faced by consumers, including rising prices and the invasion of Ukraine",
          "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": [
        {
          "to": 5,
          "from": 2,
          "loop": {
            "name": "01_logic_chain",
            "slug": "01-logic-chain",
            "status": "active",
            "bestFor": "Skeptical audiences, controversial recommendations, rigorous analysis",
            "canonId": "019dd956-6638-7457-8650-9b0b42e59fb3",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Premise 1 (Accepted truth) -> Premise 2 (Observed fact) -> Therefore... (Inevitable conclusion)",
            "description": "Build an airtight chain of logic where each premise leads inevitably to the conclusion",
            "familyLabel": null
          },
          "matchId": "afcd09be-80f2-4d71-9315-37179ae8faf8",
          "evidence": "The document presents a logical chain of information, starting with the top concerns for consumers",
          "position": 0,
          "objective": "What are the top concerns for consumers?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:06:35.883518+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 4,
      "type": "analysis",
      "title": "The chart uses a custom stacked bar visualization to show the relative weight of different concerns per country.",
      "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": 5,
        "textChars": 669,
        "nDataPoints": 48,
        "notes": "The chart uses a custom stacked bar visualization to show the relative weight of different concerns per country.",
        "elementsJson": [
          "headline_text",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:32.327+00",
          "seconds": 3.478,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/4",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-4",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.45,
            "w": 0.91,
            "x": 0.045,
            "y": 0.38
          },
          "kind": "chart",
          "text": "Stacked bar chart showing consumer concerns by country",
          "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 19:22:32.327+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4b3b7b37-e0a4-4e6c-988e-05659480c33a",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 67",
          "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:22:40+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b496-9464bc364dbe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.91,
            "x": 0.045,
            "y": 0.82
          },
          "kind": "source-note",
          "text": "1. Q: Which of the following is your top concern today? Figures may not sum to 100%, due to rounding.\n2. For France, political insecurity (9%) and immigration (8%) are concerns mentioned by more than 5% of consumers.\nSource: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,076 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years",
          "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 19:22:32.327+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "18e16a33-0c75-4b69-96e8-da3c9c78d85b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.09,
            "w": 0.91,
            "x": 0.045,
            "y": 0.145
          },
          "kind": "title",
          "text": "Despite the pandemic's continuing grip on societies in Europe, rising prices and the invasion of Ukraine have eclipsed COVID-19 as top concerns for consumers",
          "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 19:22:32.327+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f6d07006-f670-47fc-ac9c-e580df3ccaab",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.045,
            "y": 0.28
          },
          "kind": "title",
          "text": "Top source of concern¹\n% of respondents",
          "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 19:22:32.327+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8f5dd1eb-624e-4e97-8dc2-ca237f3fb903",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "67",
          "numberKind": "plain",
          "actionTitle": "Despite the pandemic’s continuing grip on societies in Europe, rising prices and the invasion of Ukraine have eclipsed COVID-19 as top concerns for consumers",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 67,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "74583904-60c4-45dc-9de7-e64ca8d2f537",
          "evidence": "The slide features a stacked bar chart to show consumer concerns by country.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:49.094653+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": [],
      "arcBeats": [
        {
          "to": 5,
          "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": 1,
          "name": "Problem (Identify pain)",
          "beatId": "392966bb-924a-4118-a1b0-f6989b5916f9",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document identifies the problems faced by consumers, including rising prices and the invasion of Ukraine",
          "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": [
        {
          "to": 5,
          "from": 2,
          "loop": {
            "name": "01_logic_chain",
            "slug": "01-logic-chain",
            "status": "active",
            "bestFor": "Skeptical audiences, controversial recommendations, rigorous analysis",
            "canonId": "019dd956-6638-7457-8650-9b0b42e59fb3",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Premise 1 (Accepted truth) -> Premise 2 (Observed fact) -> Therefore... (Inevitable conclusion)",
            "description": "Build an airtight chain of logic where each premise leads inevitably to the conclusion",
            "familyLabel": null
          },
          "matchId": "afcd09be-80f2-4d71-9315-37179ae8faf8",
          "evidence": "The document presents a logical chain of information, starting with the top concerns for consumers",
          "position": 0,
          "objective": "What are the top concerns for consumers?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:06:35.883518+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 5,
      "type": "analysis",
      "title": "The slide uses a grouped bar chart format to compare two time periods across two different metrics (top 3 concerns vs top concern).",
      "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": 45,
        "componentCount": 5,
        "textChars": 495,
        "nDataPoints": 40,
        "notes": "The slide uses a grouped bar chart format to compare two time periods across two different metrics (top 3 concerns vs top concern).",
        "elementsJson": [
          "headline_text",
          "bar_chart_grouped",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:34.899+00",
          "seconds": 5.901,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/5",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-5",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.45,
            "w": 0.92,
            "x": 0.04,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Grouped bar chart showing consumer concerns in Germany for June 2022 vs April 2022",
          "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 19:22:34.899+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "498bc3c4-183b-4f7e-b2c0-52235901feeb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.92,
            "x": 0.04,
            "y": 0.82
          },
          "kind": "disclaimer",
          "text": "1. Q: What are the greatest source(s) of concern for you right now? Please select the top 3. 2. Q: Which of the following is your top concern today? Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007",
          "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 19:22:34.899+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e7d2e033-2a93-4ff8-8cf1-6255ddb8aabc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.08,
            "x": 0.81,
            "y": 0.27
          },
          "kind": "legend",
          "text": "June 2022, April 2022",
          "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 19:22:34.899+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5a6c3cb7-6947-4be1-a9c8-4c81f5e77d26",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 82%",
          "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:22:41+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-994a674f5aff",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "title",
          "text": "Rising prices dominate German consumers’ minds, even more than the invasion of Ukraine; only a third cite COVID-19 as a top concern",
          "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 19:22:34.899+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ccabd3f8-5c74-4058-a69a-cde3460adea4",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "82%",
          "numberKind": "percent",
          "actionTitle": "Rising prices dominate German consumers’ minds, even more than the invasion of Ukraine; only a third cite COVID-19 as a top concern",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 82,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Before/after framing",
            "slug": "before-after-framing",
            "status": "active",
            "bestFor": "For turnaround / reform proposals",
            "canonId": "019dd9e1-528b-72ec-a563-e5dcb9410f67",
            "version": 1,
            "bodyDocId": "019dd9a1-80bf-72e9-980b-ccd1c0cd3488",
            "description": "You visualise two futures side by side: the trajectory the target is on\ntoday, and the trajectory under your proposed intervention. The reader\nhas to see the delta to feel the stakes.\n\nIt's the rhetorical cousin of the peer-gap — same visual grammar\n(comparison), but across **time** instead of across peers.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "a1f3239f-6c55-4e7f-b620-1b5cfdd24c24",
          "evidence": "The slide compares consumer concerns in June 2022 vs April 2022.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": "For turnaround / reform proposals",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:49.163758+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": "- It **quantifies the opportunity cost** of inaction. \"Doing nothing\"\n  becomes a concrete, visible path, not an abstraction.\n- It **makes the Answer tangible**. The prescription isn't a paragraph;\n  it's a trajectory the reader can point at.\n- It **pre-empts the status-quo defence**. Management usually argues \"we\n  have a plan\". Your chart shows what their plan looks like vs. yours.\n- It **satisfies both the Architect** (math adds up) **and the Storyteller**\n  (emotional delta between two futures).",
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 5,
          "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": 1,
          "name": "Problem (Identify pain)",
          "beatId": "392966bb-924a-4118-a1b0-f6989b5916f9",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document identifies the problems faced by consumers, including rising prices and the invasion of Ukraine",
          "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": [
        {
          "to": 5,
          "from": 2,
          "loop": {
            "name": "01_logic_chain",
            "slug": "01-logic-chain",
            "status": "active",
            "bestFor": "Skeptical audiences, controversial recommendations, rigorous analysis",
            "canonId": "019dd956-6638-7457-8650-9b0b42e59fb3",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Premise 1 (Accepted truth) -> Premise 2 (Observed fact) -> Therefore... (Inevitable conclusion)",
            "description": "Build an airtight chain of logic where each premise leads inevitably to the conclusion",
            "familyLabel": null
          },
          "matchId": "afcd09be-80f2-4d71-9315-37179ae8faf8",
          "evidence": "The document presents a logical chain of information, starting with the top concerns for consumers",
          "position": 0,
          "objective": "What are the top concerns for consumers?",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:06:35.883518+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 6,
      "type": "analysis",
      "title": "The slide uses a stacked bar chart to visualize survey data from McKinsey & Company Germany Consumer Pulse Survey.",
      "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": 33,
        "componentCount": 4,
        "textChars": 376,
        "nDataPoints": 40,
        "notes": "The slide uses a stacked bar chart to visualize survey data from McKinsey & Company Germany Consumer Pulse Survey.",
        "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 19:22:34.33+00",
          "seconds": 5.183,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/6",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-6",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.45,
            "w": 0.7,
            "x": 0.25,
            "y": 0.38
          },
          "kind": "chart",
          "text": "Stacked bar chart showing top sources of concern by income and generation",
          "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 19:22:34.33+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cdd0d1e4-4b8d-439f-a82f-e37e0320981d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 55%",
          "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:22:39+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b496-4ec1d9169d36",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:34.33+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "555ab829-7514-4daf-b90e-521ea9103da7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.14
          },
          "kind": "title",
          "text": "Rising prices are dominant concern for low-income and millennial consumers, invasion of Ukraine for high-income and baby boomer consumers",
          "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 19:22:34.33+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b05c3002-588e-4a1a-8d78-e5ffcee5a06f",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "55%",
          "numberKind": "percent",
          "actionTitle": "Rising prices are dominant concern for low-income and millennial consumers, invasion of Ukraine for high-income and baby boomer consumers",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 55,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Audience Persona",
            "slug": "audience-persona",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7fe3-74e9-88b8-be0bea34f219",
            "version": 1,
            "bodyDocId": null,
            "description": "Detailed fictional profile of typical audience member including goals, frustrations, and context",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "42d3ddd1-d1cb-4f7b-b8f4-31f47b84d106",
          "evidence": "The slide discusses insights into consumer concerns by income and generation.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:49.230574+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "f061a3b3-fe1f-4d06-a380-9884b22f5f92",
          "evidence": "The data is segmented by income and generation to show different consumer concerns.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 19:22:34.33+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "frameworkName": "audience-segmentation"
        }
      ],
      "arcBeats": [
        {
          "to": 10,
          "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": 6,
          "name": "Agitate (Make it worse)",
          "beatId": "96489022-b236-437f-90e6-60e99eebdae8",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document highlights the impact of these problems on consumers, including decreased confidence in the economy",
          "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": 7,
      "type": "analysis",
      "title": "Includes a red box highlighting the specific data points for Gen Z and Millennials regarding political uncertainty and unemployment.",
      "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": 47,
        "componentCount": 5,
        "textChars": 529,
        "nDataPoints": 63,
        "notes": "Includes a red box highlighting the specific data points for Gen Z and Millennials regarding political uncertainty and unemployment.",
        "elementsJson": [
          "headline_text",
          "bar_chart_horizontal",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:32.749+00",
          "seconds": 3.138,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/7",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-7",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "For Gen Z and millennials, political uncertainty and unemployment are much more concerning than for older 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:22:39+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b496-6466df8fdf2e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.92,
            "x": 0.04,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Top 3 sources of concern by income and generation",
          "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 19:22:32.749+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "41caa76a-15db-4505-ac19-3cdcd8ca3033",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "% of respondents: 85",
          "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:22:39+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b496-6ae8da264e95",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.92,
            "x": 0.04,
            "y": 0.83
          },
          "kind": "source-note",
          "text": "1. Q: What are the greatest source(s) of concern for you right now? Please select the top 3. Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:32.749+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "96a26bfd-f7f6-46d1-8454-d78939f51abf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "title",
          "text": "For Gen Z and millennials, political uncertainty and unemployment are much more concerning than for older consumers",
          "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 19:22:32.749+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "056c2413-5f9c-45dc-88ba-d212ce2947e6",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "% of respondents",
          "numberRaw": "85",
          "numberKind": "plain",
          "actionTitle": "For Gen Z and millennials, political uncertainty and unemployment are much more concerning than for older consumers",
          "calloutText": "For Gen Z and millennials, political uncertainty and unemployment are much more concerning than for older consumers.",
          "numberScale": null,
          "numberValue": 85,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Audience frame",
            "slug": "audience-frame",
            "status": "active",
            "bestFor": null,
            "canonId": "2a1eefbd-5be8-4600-898b-49dbfcf73ec8",
            "version": 1,
            "bodyDocId": null,
            "description": "Tools for modelling and segmenting the audience (persona, JTBD, segmentation).",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "c4b12bcf-8a68-45b7-9e9f-7e1b53438b84",
          "evidence": "The slide discusses insights into consumer concerns by income and generation.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:49.297255+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "optional",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 10,
          "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": 6,
          "name": "Agitate (Make it worse)",
          "beatId": "96489022-b236-437f-90e6-60e99eebdae8",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document highlights the impact of these problems on consumers, including decreased confidence in the economy",
          "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": 8,
      "type": "analysis",
      "title": "The chart uses a stacked bar format to compare sentiment across Europe 5, Germany, France, UK, Italy, and Spain.",
      "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": 45,
        "componentCount": 4,
        "textChars": 715,
        "nDataPoints": 24,
        "notes": "The chart uses a stacked bar format to compare sentiment across Europe 5, Germany, France, UK, Italy, and Spain.",
        "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 19:22:32.714+00",
          "seconds": 3.016,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/8",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-8",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.45,
            "w": 0.82,
            "x": 0.12,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Stacked bar chart of consumer sentiment",
          "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 19:22:32.714+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "42bf515a-7821-458b-8a41-97cc6ab938cc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.92,
            "x": 0.04,
            "y": 0.81
          },
          "kind": "disclaimer",
          "text": "1. Q: How are you feeling about [COUNTRY]'s economy today? Rated from 1 “very positive” to 5 “very negative.” For visualization, we merged the categories “very positive” and “positive,” as well as “very negative” and “negative.” Figures may not sum to 100%, due to rounding. 2. Calculated by subtracting all “negative” answers from all “positive” answers. Source: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,076 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years",
          "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 19:22:32.714+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3aa859db-a250-44bb-832a-a8a03d4805b7",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net confidence: -59",
          "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:22:39+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b496-34450d312341",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.17
          },
          "kind": "title",
          "text": "Almost two out of three consumers—and significantly more in the UK—are negative about their own country's current economic state",
          "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 19:22:32.714+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bab613d3-2296-4e8a-a657-96c9a7faf3e8",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Net confidence",
          "numberRaw": "-59",
          "numberKind": "plain",
          "actionTitle": "Almost two out of three consumers—and significantly more in the UK—are negative about their own country's current economic state",
          "calloutText": null,
          "numberScale": null,
          "numberValue": -59,
          "metricFamily": "index_score",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "269e62a3-c7bc-426c-84c5-016aa8f3d344",
          "evidence": "The slide features a stacked bar chart to show consumer sentiment.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:49.362855+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 10,
          "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": 6,
          "name": "Agitate (Make it worse)",
          "beatId": "96489022-b236-437f-90e6-60e99eebdae8",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document highlights the impact of these problems on consumers, including decreased confidence in the economy",
          "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": 9,
      "type": "analysis",
      "title": "The chart uses a stacked bar approach to compare sentiment across demographic segments.",
      "function": "analyze_data",
      "rawType": "regional_insights",
      "block": null,
      "metadata": {
        "slideType": "regional_insights",
        "slideTypeCanon": {
          "name": "Regional insights",
          "slug": "regional_insights",
          "status": "active",
          "canonId": "019de52d-0e65-708b-a079-0bf65f43c5c6",
          "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": 5,
        "textChars": 629,
        "nDataPoints": 27,
        "notes": "The chart uses a stacked bar approach to compare sentiment across demographic segments.",
        "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 19:22:32.411+00",
          "seconds": 2.59,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/9",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-9",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.92,
            "x": 0.04,
            "y": 0.28
          },
          "kind": "chart",
          "text": "Confidence in own country's current economic state",
          "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 19:22:32.411+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1fd527f0-e136-476b-a050-13ea334f5798",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.92,
            "x": 0.04,
            "y": 0.81
          },
          "kind": "disclaimer",
          "text": "1. Q: How are you feeling about [COUNTRY]'s economy today? Rated from 1 “very positive” to 5 “very negative.” For visualization, we merged the categories “very positive” and “positive,” as well as “very negative” and “negative.” Figures may not sum to 100%, due to rounding. 2. Baby boomers includes silent generation.",
          "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 19:22:32.411+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b9414818-550d-42ca-be63-2ee535cbf999",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer confidence: 55%",
          "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:22:40+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b496-b42621fe0d9a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.6,
            "x": 0.04,
            "y": 0.86
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:32.411+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b3b2d209-4166-4f8e-9daf-745d051c27e0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.17
          },
          "kind": "title",
          "text": "Low-income and Gen X respondents have the lowest confidence in Germany’s current state of the economy",
          "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 19:22:32.411+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "64e51aa1-7005-495b-a458-96404a2b1496",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Consumer confidence",
          "numberRaw": "55%",
          "numberKind": "percent",
          "actionTitle": "Low-income and Gen X respondents have the lowest confidence in Germany’s current state of the economy",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 55,
          "metricFamily": "macro",
          "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": "837b4532-bfd0-4999-b061-3055fe0677de",
          "evidence": "Low-income and Gen X respondents have the lowest confidence in Germany’s current state of the economy",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:54.775456+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "11974128-28cb-4c5a-9395-860389599ad9",
          "evidence": "Confidence in own country's current economic state",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:14:54.80969+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 10,
          "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": 6,
          "name": "Agitate (Make it worse)",
          "beatId": "96489022-b236-437f-90e6-60e99eebdae8",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document highlights the impact of these problems on consumers, including decreased confidence in the economy",
          "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": 10,
      "type": "analysis",
      "title": "The chart uses a stacked bar format to visualize sentiment (Positive, Neutral, Negative) across four segments: Overall, Rising prices, Invasion of Ukraine, and ",
      "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": 52,
        "componentCount": 5,
        "textChars": 767,
        "nDataPoints": 16,
        "notes": "The chart uses a stacked bar format to visualize sentiment (Positive, Neutral, Negative) across four segments: Overall, Rising prices, Invasion of Ukraine, and Extreme weather events.",
        "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 19:22:32.282+00",
          "seconds": 2.458,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/10",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-10",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.45,
            "w": 0.55,
            "x": 0.21,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Stacked bar chart showing sentiment distribution for Overall, Rising prices, Invasion of Ukraine, and Extreme weather events.",
          "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 19:22:32.282+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ad2ba4a7-be1a-45b6-8cb4-c1bad50b19c0",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net confidence: -39",
          "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:22:40+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b496-ccfd5d2d3408",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.78
          },
          "kind": "paragraph",
          "text": "1. Q: How are you feeling about [COUNTRY]'s economy today? Rated from 1 \"very positive\" to 5 \"very negative.\" for visualization, we merged the categories \"very positive\" and \"positive,\" as well as \"very negative\" and \"negative.\" Figures may not sum to 100%, due to rounding.\n2. Calculated by subtracting all \"negative/very negative\" answers from all \"positive/very positive\" answers.",
          "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 19:22:32.282+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ae743de6-ba2f-4362-8b32-33156aa6dca4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.6,
            "x": 0.04,
            "y": 0.83
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:32.282+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ae0258cc-2c0d-4b6a-840d-c20ff6043fa1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.9,
            "x": 0.04,
            "y": 0.17
          },
          "kind": "title",
          "text": "German consumers who are concerned about price increases are the most pessimistic on the current economy",
          "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 19:22:32.282+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3b1aa13b-fb3b-4383-91d4-bb752a134b58",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Net confidence",
          "numberRaw": "-39",
          "numberKind": "plain",
          "actionTitle": "German consumers who are concerned about price increases are the most pessimistic on the current economy",
          "calloutText": null,
          "numberScale": null,
          "numberValue": -39,
          "metricFamily": "index_score",
          "numberCurrency": null
        }
      ],
      "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": "2ca5f2b6-0b8e-4611-923c-90404b9ca747",
          "evidence": "Stacked bar chart showing sentiment distribution for Overall, Rising prices, Invasion of Ukraine, and Extreme weather events.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:14:54.878337+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 10,
          "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": 6,
          "name": "Agitate (Make it worse)",
          "beatId": "96489022-b236-437f-90e6-60e99eebdae8",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document highlights the impact of these problems on consumers, including decreased confidence in the economy",
          "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 uses red boxes to highlight specific data points that are likely the 'top 3' for each country.",
      "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": 56,
        "componentCount": 5,
        "textChars": 852,
        "nDataPoints": 66,
        "notes": "The slide uses red boxes to highlight specific data points that are likely the 'top 3' for each country.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_horizontal",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:32.48+00",
          "seconds": 2.572,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/11",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-11",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 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": {
              "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:22:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-e75814011d03",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.88
          },
          "kind": "source-note",
          "text": "1. Q: You mentioned that you are feeling negatively about [COUNTRY]'s economy in light of the Ukraine invasion. Which of the following topics are you most uncertain about? Please select up to 3. Figures may not sum to 100%, due to rounding. Bars only show reasons with agreement >20%.\nSource: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,076 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years",
          "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 19:22:32.48+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4ec386bb-0c8c-4395-8b98-8d581526112e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.48,
            "w": 0.92,
            "x": 0.04,
            "y": 0.38
          },
          "kind": "table",
          "text": "Table showing survey results for 11 categories of economic concern across 5 countries plus an aggregate 'Europe 5' column.",
          "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 19:22:32.48+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ad791028-5a57-4148-b58f-1e6b89b490e4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.17
          },
          "kind": "title",
          "text": "Supply-related risks are the greatest worries of consumers with a negative outlook on the current economy",
          "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 19:22:32.48+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7bf0f6ad-ecda-4bb8-bf1f-0aa2039babff",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.65,
            "x": 0.04,
            "y": 0.27
          },
          "kind": "title",
          "text": "Top 3 reasons for negative view on economy¹\n% of respondents who indicated a negative view of the economy's current status and/or 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": "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 19:22:32.48+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3a1bcfc4-c20b-4f7a-96d4-6d12eebdbfbe",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "52%",
          "numberKind": "percent",
          "actionTitle": "Supply-related risks are the greatest worries of consumers with a negative outlook on the current economy",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 52,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Evidence Matrix",
            "slug": "evidence-matrix",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7ecc-74c2-b46c-0b9c1f4c73d7",
            "version": 1,
            "bodyDocId": null,
            "description": "Planning visual assets: Claim → Evidence Needed → Data Source → Visual Type",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "e5de36e9-15ad-4dc8-bbf1-8f140093eded",
          "evidence": "Table showing survey results for 11 categories of economic concern across 5 countries plus an aggregate 'Europe 5' column.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:14:54.947577+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": 11,
          "name": "Solution (Provide relief)",
          "beatId": "c3bde038-377e-483b-9cf9-1f566dd1b734",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document provides insights into consumer behavior and how they are responding to these problems",
          "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": 12,
      "type": "analysis",
      "title": "The chart tracks sentiment shifts over time, highlighting the impact of the Ukraine invasion on economic outlook.",
      "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": 5,
        "textChars": 668,
        "nDataPoints": 33,
        "notes": "The chart tracks sentiment shifts over time, highlighting the impact of the Ukraine invasion on economic outlook.",
        "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 19:22:33.167+00",
          "seconds": 3.168,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/12",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-12",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.48,
            "w": 0.73,
            "x": 0.23,
            "y": 0.33
          },
          "kind": "chart",
          "text": "Confidence in own country's economic recovery",
          "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 (100%)",
              "slug": "bar-stacked-100pct",
              "status": "active",
              "canonId": "019de52c-ff14-71b8-8d88-860f8d7da84b",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked-100pct",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:22:33.167+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2e18e9c2-0af9-4487-9446-96f81a45a550",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.91,
            "x": 0.045,
            "y": 0.78
          },
          "kind": "disclaimer",
          "text": "Source: McKinsey & Company COVID-19 Germany Consumer Pulse Survey. Figures may not sum to 100% due to rounding.",
          "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 19:22:33.167+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ef1367b5-a4aa-4ce9-ab70-1488dbc443bd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.48,
            "w": 0.2,
            "x": 0.045,
            "y": 0.33
          },
          "kind": "list",
          "text": "Optimistic: The economy will rebound within 2–3 months and grow just as strong or stronger than before the current crisis\nNeutral: The economy will be impacted for 6–12 months or longer and will stagnate or show slow growth thereafter\nPessimistic: The current crisis will have lasting impact on the economy and show regression or fall into lengthy recession",
          "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 19:22:33.167+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c69d3cdf-b0a7-4ad4-844d-7313699e50f4",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 30%",
          "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:22:40+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b496-e5b7e26c2f24",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.91,
            "x": 0.045,
            "y": 0.175
          },
          "kind": "title",
          "text": "Overall pessimism about economic recovery has slightly decreased but is still much higher than before the invasion of Ukraine",
          "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 19:22:33.167+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6c49f572-b9a5-4edb-8602-27a0e515b9bb",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "30%",
          "numberKind": "percent",
          "actionTitle": "Overall pessimism about economic recovery has slightly decreased but is still much higher than before the invasion of Ukraine",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 30,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Before-After-Bridge",
            "slug": "before-after-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8604-7188-883f-42370288ad05",
            "version": 1,
            "bodyDocId": null,
            "description": "Narrative structure: Paint the before, show the after, explain the bridge",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "1b4af60e-1b53-4e44-a6a8-e9503e2dc6ba",
          "evidence": "Overall pessimism about economic recovery has slightly decreased but is still much higher than before the invasion of Ukraine",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:14:55.016448+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": 11,
          "name": "Solution (Provide relief)",
          "beatId": "c3bde038-377e-483b-9cf9-1f566dd1b734",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document provides insights into consumer behavior and how they are responding to these problems",
          "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": 13,
      "type": "analysis",
      "title": "The chart uses a 3-segment stacked bar approach to visualize sentiment distribution across 5 countries.",
      "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": 66,
        "componentCount": 6,
        "textChars": 1065,
        "nDataPoints": 25,
        "notes": "The chart uses a 3-segment stacked bar approach to visualize sentiment distribution across 5 countries.",
        "elementsJson": [
          "headline_text",
          "bar_chart_stacked",
          "data_table",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:37.134+00",
          "seconds": 7.126,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/13",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-13",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.35,
            "w": 0.6,
            "x": 0.33,
            "y": 0.395
          },
          "kind": "chart",
          "text": "Stacked bar chart of economic confidence by country",
          "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 (100%)",
              "slug": "bar-stacked-100pct",
              "status": "active",
              "canonId": "019de52c-ff14-71b8-8d88-860f8d7da84b",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked-100pct",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:22:37.134+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "52c253c5-0d6b-44f2-96d0-abbada0d75ae",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.9,
            "x": 0.04,
            "y": 0.88
          },
          "kind": "disclaimer",
          "text": "1. Q: What is your overall confidence level surrounding the potential economic impact related to the invasion of Ukraine that began in Feb 2022? Rated from 1 “very optimistic” to 6 “very pessimistic.” Top, middle, and bottom 2 boxes of scale aggregated to “Optimistic,” “Neutral,” and “Pessimistic.” Figures may not sum to 100%, due to rounding.",
          "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 19:22:37.134+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cb32a4ca-2cc1-418d-8f5f-367c933bf28b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.3,
            "x": 0.04,
            "y": 0.4
          },
          "kind": "list",
          "text": "Optimistic: The economy will rebound within 2–3 months and grow just as strong as or stronger than before the current crisis; Neutral: The economy will be impacted for 6–12 months or longer and will stagnate or show slow growth thereafter; Pessimistic: The current crisis will have lasting impact on the economy and show regression or fall into lengthy recession",
          "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 19:22:37.134+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d6bf3d71-1995-4f55-9797-d0127685dbd9",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer confidence in economic recovery",
          "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:22:41+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-657d97da9a64",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.7,
            "x": 0.04,
            "y": 0.93
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,076 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years",
          "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 19:22:37.134+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "92bd42bf-a9fc-4749-a65e-91b3e6732acc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.9,
            "x": 0.04,
            "y": 0.17
          },
          "kind": "title",
          "text": "Pessimism about economic recovery is high across countries and remains stable since April 2022",
          "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 19:22:37.134+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7944b37e-ca9d-4950-aea1-25a7d7d6e6e8",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "00e1e958-7ef8-44be-af5c-843cfaa9e21c",
          "evidence": "Stacked bar chart of economic confidence by country",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:55.085217+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": 15,
          "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": 11,
          "name": "Solution (Provide relief)",
          "beatId": "c3bde038-377e-483b-9cf9-1f566dd1b734",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document provides insights into consumer behavior and how they are responding to these problems",
          "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": 14,
      "type": "analysis",
      "title": "The slide uses stacked bar charts to show the distribution of sentiment (Optimistic, Neutral, Pessimistic) across different demographic groups.",
      "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": 45,
        "componentCount": 6,
        "textChars": 336,
        "nDataPoints": 21,
        "notes": "The slide uses stacked bar charts to show the distribution of sentiment (Optimistic, Neutral, Pessimistic) across different demographic groups.",
        "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 19:22:36.408+00",
          "seconds": 5.789,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/14",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-14",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.2,
            "w": 0.4,
            "x": 0.5,
            "y": 0.55
          },
          "kind": "chart",
          "text": "Confidence by generation",
          "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 19:22:36.408+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "14cf06fd-8003-4a61-8f62-b5e98e0fbd3c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.4,
            "x": 0.5,
            "y": 0.32
          },
          "kind": "chart",
          "text": "Confidence by income",
          "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 19:22:36.408+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c8540a98-06bb-443b-b053-32b454f88566",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.1,
            "x": 0.15,
            "y": 0.36
          },
          "kind": "chart",
          "text": "Overall confidence distribution",
          "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 19:22:36.408+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e5bcb583-ddb8-43e7-ae94-c3372f481f21",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.9,
            "x": 0.04,
            "y": 0.95
          },
          "kind": "disclaimer",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:36.408+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2ac38adf-fb6c-4b31-be4d-e347ef331987",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer confidence: 36%",
          "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:22:41+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-8317bc4730d2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.9,
            "x": 0.04,
            "y": 0.17
          },
          "kind": "title",
          "text": "Low-income and elder consumers have the lowest confidence in their country’s future economic recovery",
          "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 19:22:36.408+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c0a79947-2965-4eb7-b442-837560e88f11",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Consumer confidence",
          "numberRaw": "36%",
          "numberKind": "percent",
          "actionTitle": "Low-income and elder consumers have the lowest confidence in their country's future economic recovery",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 36,
          "metricFamily": "macro",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Audience Segmentation",
            "slug": "audience-segmentation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8079-7046-8e6b-ecdf1bf15590",
            "version": 1,
            "bodyDocId": null,
            "description": "Grouping audience by attitude toward your message: Champions, Neutrals, Skeptics",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "d4a7b1c9-ccdc-4728-9cd9-6257b7c78f34",
          "evidence": "Low-income and elder consumers have the lowest confidence in their country’s future economic recovery",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:55.151702+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": 11,
          "name": "Solution (Provide relief)",
          "beatId": "c3bde038-377e-483b-9cf9-1f566dd1b734",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document provides insights into consumer behavior and how they are responding to these problems",
          "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": 15,
      "type": "resolution",
      "title": "The slide uses a three-column layout to present distinct consumer insights.",
      "function": "summarize",
      "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": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 75,
        "componentCount": 7,
        "textChars": 2017,
        "nDataPoints": 4,
        "notes": "The slide uses a three-column layout to present distinct consumer insights.",
        "elementsJson": [
          "headline_text",
          "numbered_list",
          "icon_grid",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:34.191+00",
          "seconds": 3.565,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/15",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-15",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "73% of consumers have changed shopping behavior in response to concerns and pressures faced in the past 3 months.",
          "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:22:41+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-44028759e409",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.3,
            "x": 0.36,
            "y": 0.28
          },
          "kind": "list",
          "text": "2. What do consumers observe? Sharply rising prices on essentials, with noticeable consequences for spending priorities. A vast majority of respondents have observed price increases, especially for groceries/essentials and gasoline. German consumers cut back on savings while budgets for energy, transport, and groceries/essentials have strongly increased and are expected to rise further. Especially in certain discretionary categories, such as jewelry, accessories, and home and furniture, spend is reduced.",
          "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 19:22:34.191+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3ff17820-53a7-4a51-9f56-0c2fc8be5717",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.3,
            "x": 0.68,
            "y": 0.28
          },
          "kind": "list",
          "text": "3. How are consumers reacting? Noticeable activity, demand, and channel and brand shifts in search for value for money. 73% of consumers have changed shopping behavior in response to concerns and pressures faced in the past 3 months. Trading down is widespread, and almost half of those having changed their shopping behavior are testing private labels. There is a massive shift to discounters, with almost half of consumers who shopped at other retailers now shopping more at discounters. 44% of German consumers plan to splurge in 2022—most in dining, travel, and apparel.",
          "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 19:22:34.191+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "72fa0165-dc66-4947-a0b2-19f30eb62ecb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.3,
            "x": 0.04,
            "y": 0.28
          },
          "kind": "list",
          "text": "1. How do consumers feel? Rising prices and invasion of Ukraine dominating concerns; optimism in economy stagnating. Rising prices and the invasion of Ukraine are by far the strongest concerns of German consumers. Climate change ranks third; COVID-19 is now fourth. Rising prices are particularly worrying for low-income consumers, while unemployment and job security are now a concern for about a quarter of young consumers (Gen Z and millennials). Pessimism about economic recovery has decreased very slightly since April but is as high as during the direst COVID-19 period and much higher than in October 2021.",
          "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 19:22:34.191+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fc4211e8-9963-475e-b646-a26972dc56e9",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "consumer behavior change: 73%",
          "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:22:41+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-48e70e22102e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.04,
            "y": 0.86
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:34.191+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "10891e64-86dd-4ae5-adb7-95c5f1a62796",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.04,
            "y": 0.19
          },
          "kind": "title",
          "text": "Three emerging consumer themes in June 2022",
          "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 19:22:34.191+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5d2c6a33-e1c4-4270-86a0-5a5ca4340cc6",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "consumer behavior change",
          "numberRaw": "73%",
          "numberKind": "percent",
          "actionTitle": null,
          "calloutText": "73% of consumers have changed shopping behavior in response to concerns and pressures faced in the past 3 months.",
          "numberScale": null,
          "numberValue": 73,
          "metricFamily": "other",
          "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": "bcf78234-4efe-492c-b364-0f56d50099f7",
          "evidence": "Three emerging consumer themes in June 2022",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:14:55.218656+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": 15,
          "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": 11,
          "name": "Solution (Provide relief)",
          "beatId": "c3bde038-377e-483b-9cf9-1f566dd1b734",
          "matchId": "d421e70d-6e5a-432e-98d5-786a24fe3e2c",
          "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 document provides insights into consumer behavior and how they are responding to these problems",
          "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": 16,
      "type": "analysis",
      "title": "The chart uses a stacked bar format to show 'Yes' vs 'No' responses, with inflation data as a secondary metric below.",
      "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": 48,
        "componentCount": 5,
        "textChars": 599,
        "nDataPoints": 18,
        "notes": "The chart uses a stacked bar format to show 'Yes' vs 'No' responses, with inflation data as a secondary metric below.",
        "elementsJson": [
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:34.112+00",
          "seconds": 3.458,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/16",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-16",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.45,
            "w": 0.86,
            "x": 0.07,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Stacked bar chart showing Yes/No responses for 5 countries plus an aggregate 'Europe 5' column.",
          "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 19:22:34.112+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d707c2e3-2ebf-4b8c-ab38-1654e99c0c5e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "percentage of respondents observing price changes: 90%",
          "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:22:41+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b496-fdf7509b4ff1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.75,
            "x": 0.045,
            "y": 0.83
          },
          "kind": "source-note",
          "text": "1. Q: In the last 3 months, have you seen a general change in the prices of any goods you commonly buy?\nSource: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,076 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years; inflation data from 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 19:22:34.112+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "672725a5-5253-4ca4-96f3-cc94672ed804",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.38,
            "x": 0.045,
            "y": 0.275
          },
          "kind": "subtitle",
          "text": "Price changes perceived in last 3 months¹\n% of respondents",
          "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 19:22:34.112+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3408f2dc-0eb6-4bea-a8e7-89fe0e7b0a7b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.91,
            "x": 0.045,
            "y": 0.165
          },
          "kind": "title",
          "text": "Across countries surveyed, more than 90 percent of respondents observed price changes",
          "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 19:22:34.112+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "49aff157-4ebd-496c-bcc6-e10f03a5b1d3",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "percentage of respondents observing price changes",
          "numberRaw": "90%",
          "numberKind": "percent",
          "actionTitle": "Across countries surveyed, more than 90 percent of respondents observed price changes",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 90,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Chartjunk Elimination",
            "slug": "chartjunk-elimination",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b49e-7453-ab01-b60f338eeda1",
            "version": 1,
            "bodyDocId": null,
            "description": "Remove decorative elements that don't convey data: 3D effects, shadows, unnecessary gridlines",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "28354518-7c34-4ec0-bda0-fa788305ba86",
          "evidence": "Stacked bar chart showing Yes/No responses for 5 countries plus an aggregate 'Europe 5' column.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:14:55.284283+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 17,
      "type": "analysis",
      "title": "Includes a general perception bar chart and a detailed category-level stacked bar chart with net change calculations.",
      "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": 61,
        "componentCount": 6,
        "textChars": 728,
        "nDataPoints": 50,
        "notes": "Includes a general perception bar chart and a detailed category-level stacked bar chart with net change calculations.",
        "elementsJson": [
          "headline_text",
          "bar_chart_vertical",
          "bar_chart_stacked",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:34.427+00",
          "seconds": 3.715,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/17",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-17",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.45,
            "w": 0.65,
            "x": 0.27,
            "y": 0.38
          },
          "kind": "chart",
          "text": "Price change by category",
          "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 (100%)",
              "slug": "bar-stacked-100pct",
              "status": "active",
              "canonId": "019de52c-ff14-71b8-8d88-860f8d7da84b",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked-100pct",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:22:34.427+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "730d151d-3818-4e40-803c-c3ea777d7911",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.15,
            "x": 0.04,
            "y": 0.38
          },
          "kind": "chart",
          "text": "General price change",
          "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 19:22:34.427+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4d3e7bd8-278e-45ad-8959-cd3f9b4dcbde",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.7,
            "x": 0.04,
            "y": 0.85
          },
          "kind": "disclaimer",
          "text": "1. Q: In the last 3 months, have you seen a general increase in the prices of any goods you commonly buy? 2. Q: In the last 3 months, how have you observed prices changing across the following categories? Rated from 1 \"Prices decreased\" to 5 \"Prices increased significantly.\" 3. Calculated by subtracting all \"decreased\" answers from all \"increased/significantly increased\" answers.",
          "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 19:22:34.427+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "65975ee1-d451-462a-b0d7-afaeefcd9a75",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Perceived price increase: 96%",
          "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:22:41+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-2cff0bc69743",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.04,
            "y": 0.93
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:34.427+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2188a0ff-458e-45cf-8a3b-97231115173f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.9,
            "x": 0.04,
            "y": 0.14
          },
          "kind": "title",
          "text": "A majority of respondents perceive price increases across categories; almost all see increases in groceries, fuel, energy, and eating out",
          "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 19:22:34.427+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "418950fa-f1ff-4ecb-8151-6f7d4623861c",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Perceived price increase",
          "numberRaw": "96%",
          "numberKind": "percent",
          "actionTitle": "A majority of respondents perceive price increases across categories; almost all see increases in groceries, fuel, energy, and eating out",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 96,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Small Multiples",
            "slug": "small-multiples",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating similar charts for comparison across categories or time",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "7942d318-4e50-417e-a02c-ea7a2e79096c",
          "evidence": "Price change by category",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:55.351234+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 18,
      "type": "analysis",
      "title": "The slide uses a color-coded heatmap to show deviations from the 'All consumers' average.",
      "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": 43,
        "componentCount": 5,
        "textChars": 437,
        "nDataPoints": 50,
        "notes": "The slide uses a color-coded heatmap to show deviations from the 'All consumers' average.",
        "elementsJson": [
          "headline_text",
          "data_table",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:33.485+00",
          "seconds": 2.724,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/18",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-18",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.81
          },
          "kind": "disclaimer",
          "text": "1. Q: Please read the following statements... 2. Calculated by subtracting... 3. Baby boomers includes silent generation. Source: McKinsey & Company Germany Consumer Pulse Survey...",
          "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 19:22:33.485+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7f04747a-268b-4bc8-b2f4-5c88ed04ccf8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.42,
            "x": 0.54,
            "y": 0.27
          },
          "kind": "legend",
          "text": "Difference vs all consumers: < -3 (red), Between -3 and +3 (grey), > +3 (blue)",
          "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 19:22:33.485+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5a39f78d-84bd-478c-a9a7-1a0e14ebb9bd",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Agreement with price-related statements: 70",
          "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:22:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-b05096d70dbb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.48,
            "w": 0.92,
            "x": 0.04,
            "y": 0.33
          },
          "kind": "table",
          "text": "Agreement with price-related statements by generation",
          "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 19:22:33.485+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d01d240c-a093-4df8-a001-97ff0fdc0404",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.85,
            "x": 0.04,
            "y": 0.17
          },
          "kind": "title",
          "text": "Millennials see the strongest effect of price increases on their current lifestyle",
          "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 19:22:33.485+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a61fde0d-e052-4cd3-a76b-5a711d014b8e",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Agreement with price-related statements",
          "numberRaw": "70",
          "numberKind": "plain",
          "actionTitle": "Millennials see the strongest effect of price increases on their current lifestyle",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 70,
          "metricFamily": "survey_sentiment",
          "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": "69e4c26b-0216-48cc-802e-36a9be390241",
          "evidence": "Agreement with price-related statements by generation",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:14:55.419279+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": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 19,
      "type": "analysis",
      "title": "Data source: McKinsey & Company Germany Consumer Pulse Survey, 6/8-6/12/2022, n = 1,007.",
      "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": 59,
        "componentCount": 6,
        "textChars": 640,
        "nDataPoints": 72,
        "notes": "Data source: McKinsey & Company Germany Consumer Pulse Survey, 6/8-6/12/2022, n = 1,007.",
        "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 19:22:33.829+00",
          "seconds": 2.658,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/19",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-19",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.45,
            "w": 0.92,
            "x": 0.04,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Change of spend and expected spend in general categories",
          "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 19:22:33.829+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "28f82f09-d1f4-4066-9437-de654ada828d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.84
          },
          "kind": "disclaimer",
          "text": "1. Q: How have your household finances been affected over the past 3 months? ... 2. Q: How do you expect your spend on the following categories to change in the next 3 months? ... 3. Calculated by subtracting all “lower” answers from all “higher” answer in each column/time frame.",
          "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 19:22:33.829+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c4502c0e-a87e-43ae-8878-3480f2267bfa",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.22,
            "x": 0.74,
            "y": 0.29
          },
          "kind": "legend",
          "text": "Higher, About the same, Lower",
          "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 19:22:33.829+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b3fd7927-d15d-4d09-8e85-e036a1153dc2",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Change in spend",
          "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:22:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-14c47467f142",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.75,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8-6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:33.829+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4251fd86-6f94-4e0c-9646-d9dd5f2f771b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.16
          },
          "kind": "title",
          "text": "German consumers struggle with increased household budgets on energy, transport, and food/essentials, reducing their savings",
          "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 19:22:33.829+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d255374d-91a8-4145-b2dc-54a3c9a0ae6f",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 20,
      "type": "analysis",
      "title": "The slide uses a color-coded system to indicate differences from the average of all consumers.",
      "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": 61,
        "componentCount": 6,
        "textChars": 736,
        "nDataPoints": 48,
        "notes": "The slide uses a color-coded system to indicate differences from the average of all consumers.",
        "elementsJson": [
          "headline_text",
          "data_table",
          "matrix_2x2",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:34.798+00",
          "seconds": 3.489,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/20",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-20",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.3,
            "w": 0.3,
            "x": 0.04,
            "y": 0.35
          },
          "kind": "diagram",
          "text": "Calculation example matrix showing spend change in last 3 months vs next 3 months.",
          "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": "NxN matrix",
              "slug": "nxn-matrix",
              "status": "active",
              "canonId": "019de52d-0414-713c-80ec-b1f302230775",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "nxn-matrix",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:22:34.798+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3fa04ce8-ec8a-43a6-8113-734c1987e65b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.85
          },
          "kind": "disclaimer",
          "text": "1. Q: How have your household finances been affected over the past 3 months? ... 2. Q: How do you expect your spend on the following categories to change in the next 3 months? ... 3. Calculated by adding the highlighted cells...",
          "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 19:22:34.798+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fe02477d-f4bb-4bcd-9f0e-17ad9ff61c01",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Observed/expected price increase: 63",
          "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:22:44+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b499-0d5eed5872e9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.92,
            "x": 0.04,
            "y": 0.94
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,076 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years",
          "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 19:22:34.798+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2f486a96-f358-4f28-bf58-8bb8146627cf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.6,
            "x": 0.36,
            "y": 0.35
          },
          "kind": "table",
          "text": "Table of spending categories (Rent, Energy, Transport, Food, Nonfood, Savings) across 5 countries.",
          "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 19:22:34.798+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9f378287-40d8-465d-af6e-24d4bcc57800",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.16
          },
          "kind": "title",
          "text": "Majorities of consumers report spend increases and expect further increases in energy, transport and gasoline, and food",
          "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 19:22:34.798+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "991b4e27-9b13-42e4-95c5-badec9c7ffc7",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Observed/expected price increase",
          "numberRaw": "63",
          "numberKind": "plain",
          "actionTitle": "Majorities of consumers report spend increases and expect further increases in energy, transport and gasoline, and food",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 63,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Data-Ink Ratio",
            "slug": "data-ink-ratio",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
            "version": 1,
            "bodyDocId": null,
            "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "914bee12-6600-4374-9450-28cb66315f58",
          "evidence": "Table of spending categories (Rent, Energy, Transport, Food, Nonfood, Savings) across 5 countries.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:14:55.520695+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [
        {
          "to": 25,
          "from": 20,
          "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": "70e07a91-85b1-4912-b736-da236a18eb8c",
          "evidence": "The document highlights the consequences of not responding to price increases, including decreased consumer purchasing power",
          "position": 1,
          "objective": "What are the consequences of not responding to price increases?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:06:35.915568+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 21,
      "type": "analysis",
      "title": "The data is segmented by category and uses a color-coded bar system to represent decrease (red) vs increase (blue).",
      "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": 48,
        "componentCount": 5,
        "textChars": 546,
        "nDataPoints": 168,
        "notes": "The data is segmented by category and uses a color-coded bar system to represent decrease (red) vs increase (blue).",
        "elementsJson": [
          "data_table",
          "headline_text",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:33.862+00",
          "seconds": 2.488,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/21",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-21",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Spending on food and gasoline increased sharply and is expected to grow further; strongest spend reduction for jewelry and accessories.",
          "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:22:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-cbf45c2b998f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net change in consumer spending: 63",
          "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:22:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b497-cf9eb72d5812",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.92,
            "x": 0.04,
            "y": 0.93
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:33.862+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fa1d8d83-e07d-496b-9ac2-013312ffafb3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.92,
            "x": 0.04,
            "y": 0.35
          },
          "kind": "table",
          "text": "Table showing spending changes across categories including Groceries, Tobacco, Food takeout, Alcohol, etc.",
          "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 19:22:33.862+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8e79435b-b2ea-4dd1-ad53-8fc1da190ca9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.15
          },
          "kind": "title",
          "text": "Spending on food and gasoline increased sharply and is expected to grow further; strongest spend reduction for jewelry and accessories",
          "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 19:22:33.862+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "965c65a1-143c-40ca-8413-f7dd64bcd7a5",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Net change in consumer spending",
          "numberRaw": "63",
          "numberKind": "plain",
          "actionTitle": "Spending on food and gasoline increased sharply and is expected to grow further; strongest spend reduction for jewelry and accessories",
          "calloutText": "Spending on food and gasoline increased sharply and is expected to grow further; strongest spend reduction for jewelry and accessories.",
          "numberScale": null,
          "numberValue": 63,
          "metricFamily": "cost_savings",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [
        {
          "to": 25,
          "from": 20,
          "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": "70e07a91-85b1-4912-b736-da236a18eb8c",
          "evidence": "The document highlights the consequences of not responding to price increases, including decreased consumer purchasing power",
          "position": 1,
          "objective": "What are the consequences of not responding to price increases?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:06:35.915568+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 22,
      "type": "analysis",
      "title": "The table uses a heatmap to show deviations from the 'All consumers' average. Red indicates < -3 points, grey is between -3 and +3, and blue is > +3.",
      "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": 45,
        "componentCount": 5,
        "textChars": 481,
        "nDataPoints": 60,
        "notes": "The table uses a heatmap to show deviations from the 'All consumers' average. Red indicates < -3 points, grey is between -3 and +3, and blue is > +3.",
        "elementsJson": [
          "headline_text",
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:34.387+00",
          "seconds": 2.738,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/22",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-22",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.02,
            "w": 0.6,
            "x": 0.04,
            "y": 0.82
          },
          "kind": "disclaimer",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:34.387+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f26c75c5-4dbd-4040-9e78-a8484ccc1527",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.49,
            "x": 0.47,
            "y": 0.26
          },
          "kind": "legend",
          "text": "Difference from all consumers, percentage points: < -3 (red), Between -3 and +3 (grey), > +3 (blue)",
          "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 19:22:34.387+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b58beb5a-ee9c-4049-9fbd-28ae73f98513",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 59",
          "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:22:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-01460b254613",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.48,
            "w": 0.92,
            "x": 0.04,
            "y": 0.34
          },
          "kind": "table",
          "text": "Change in purchase behavior in last 3 months by generation",
          "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 19:22:34.387+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "22d106bd-8d37-4c1b-9486-f2c0e0922a03",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.14
          },
          "kind": "title",
          "text": "Over half of German consumers are more conscious about their home energy usage; Gen Z consumers made the most changes in purchase behavior in the last 3 months",
          "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 19:22:34.387+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "401333bd-907d-45d7-8e81-7d416235ef02",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "59",
          "numberKind": "plain",
          "actionTitle": "Over half of German consumers are more conscious about their home energy usage; Gen Z consumers made the most changes in purchase behavior in the last 3 months",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 59,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [
        {
          "matchId": "66271a6d-323d-45c4-aa2e-16ea523b773e",
          "evidence": "Data is segmented by generation (Gen Z, Millennials, Gen X, Baby boomers)",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 19:22:34.387+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "frameworkName": "audience-segmentation"
        }
      ],
      "arcBeats": [],
      "loops": [
        {
          "to": 25,
          "from": 20,
          "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": "70e07a91-85b1-4912-b736-da236a18eb8c",
          "evidence": "The document highlights the consequences of not responding to price increases, including decreased consumer purchasing power",
          "position": 1,
          "objective": "What are the consequences of not responding to price increases?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:06:35.915568+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 23,
      "type": "analysis",
      "title": "The slide uses a numbered list format to categorize consumer insights.",
      "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": 77,
        "componentCount": 8,
        "textChars": 1025,
        "nDataPoints": 4,
        "notes": "The slide uses a numbered list format to categorize consumer insights.",
        "elementsJson": [
          "headline_text",
          "numbered_list",
          "paragraph",
          "callout_box",
          "footnote",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:34.774+00",
          "seconds": 3.049,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/23",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-23",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Noticeable activity, demand, and channel and brand shifts in search for value for money.",
          "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:22:43+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-e942b65b2c52",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.28
          },
          "kind": "list",
          "text": "1. How do consumers feel? 2. What do consumers observe? 3. How are consumers reacting?",
          "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 19:22:34.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "31fb9dcc-82c1-4195-99dc-1aea171cc9bc",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "consumer behavior change: 73%",
          "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:22:43+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-ed3d1389367f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.28,
            "x": 0.36,
            "y": 0.46
          },
          "kind": "paragraph",
          "text": "Sharply rising prices on essentials, with noticeable consequences for spending priorities. A vast majority of respondents have observed price increases, especially for groceries/essentials and gasoline.",
          "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 19:22:34.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0a313065-c823-4ed4-a858-c6d94f93a4aa",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.28,
            "x": 0.68,
            "y": 0.46
          },
          "kind": "paragraph",
          "text": "Noticeable activity, demand, and channel and brand shifts in search for value for money. 73% of consumers have changed shopping behavior in response to concerns and pressures faced in the past 3 months.",
          "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 19:22:34.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b4de1660-8cf3-46f4-81ea-181aae7397fc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.28,
            "x": 0.04,
            "y": 0.46
          },
          "kind": "paragraph",
          "text": "Rising prices and invasion of Ukraine dominating concerns; optimism in economy stagnating. Rising prices and the invasion of Ukraine are by far the strongest concerns of German consumers. Climate change ranks third; COVID-19 is now fourth.",
          "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 19:22:34.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f414f111-eac6-43e4-aa5d-5a651c396f34",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:34.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b7127e16-475a-49d4-a4b2-0c4bbe6c78dd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.6,
            "x": 0.04,
            "y": 0.19
          },
          "kind": "title",
          "text": "Three emerging consumer themes in June 2022",
          "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 19:22:34.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "adb8ecbf-4349-4dcf-9ce3-a63bc79ea7b7",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "consumer behavior change",
          "numberRaw": "73%",
          "numberKind": "percent",
          "actionTitle": null,
          "calloutText": "Noticeable activity, demand, and channel and brand shifts in search for value for money.",
          "numberScale": null,
          "numberValue": 73,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [
        {
          "to": 25,
          "from": 20,
          "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": "70e07a91-85b1-4912-b736-da236a18eb8c",
          "evidence": "The document highlights the consequences of not responding to price increases, including decreased consumer purchasing power",
          "position": 1,
          "objective": "What are the consequences of not responding to price increases?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:06:35.915568+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 24,
      "type": "analysis",
      "title": "Data source: McKinsey & Company Germany Consumer Pulse Survey, 6/8-6/12/2022, n = 1,007.",
      "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": 51,
        "componentCount": 6,
        "textChars": 460,
        "nDataPoints": 18,
        "notes": "Data source: McKinsey & Company Germany Consumer Pulse Survey, 6/8-6/12/2022, n = 1,007.",
        "elementsJson": [
          "headline_text",
          "bar_chart_horizontal",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:40.096+00",
          "seconds": 7.939,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/24",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-24",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.29,
            "x": 0.67,
            "y": 0.26
          },
          "kind": "callout",
          "text": "95% of consumers noticed a price increase when shopping for groceries",
          "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 19:22:40.096+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0329939f-d3a8-49d8-aaa7-48731dc4985a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.43,
            "w": 0.58,
            "x": 0.38,
            "y": 0.39
          },
          "kind": "chart",
          "text": "Comparison of past 3 months vs next 3 months shopping behaviors",
          "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 19:22:40.096+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "83cb01c9-84e7-4241-83e8-7a985dd2ef58",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.92,
            "x": 0.04,
            "y": 0.83
          },
          "kind": "disclaimer",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8-6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:40.096+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e958bee3-467f-4158-8faf-fa818e6b8c2d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 73%",
          "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:22:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-8155bd2233ce",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.92,
            "x": 0.04,
            "y": 0.27
          },
          "kind": "table",
          "text": "Activities when shopping for groceries or essentials",
          "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 19:22:40.096+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2602019f-fc9d-473c-8180-70c02241c3d6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.17
          },
          "kind": "title",
          "text": "Two-thirds of consumers changed shopping behavior; a plurality of them have tried or plan to try private label",
          "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 19:22:40.096+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5ca2806d-6e02-4df5-81a7-9de55aab6fef",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "73%",
          "numberKind": "percent",
          "actionTitle": "Two-thirds of consumers changed shopping behavior; a plurality of them have tried or plan to try private label",
          "calloutText": "95% of consumers noticed a price increase when shopping for groceries",
          "numberScale": null,
          "numberValue": 73,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [
        {
          "to": 25,
          "from": 20,
          "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": "70e07a91-85b1-4912-b736-da236a18eb8c",
          "evidence": "The document highlights the consequences of not responding to price increases, including decreased consumer purchasing power",
          "position": 1,
          "objective": "What are the consequences of not responding to price increases?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:06:35.915568+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 25,
      "type": "analysis",
      "title": "The table uses a heatmap-style color coding to indicate the difference from the average consumer behavior.",
      "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": 45,
        "componentCount": 5,
        "textChars": 486,
        "nDataPoints": 45,
        "notes": "The table uses a heatmap-style color coding to indicate the difference from the average consumer behavior.",
        "elementsJson": [
          "headline_text",
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:38.403+00",
          "seconds": 6.197,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/25",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-25",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.04,
            "y": 0.82
          },
          "kind": "disclaimer",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:38.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b413d765-8cc5-495a-8f4b-be4e77472cce",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.42,
            "x": 0.54,
            "y": 0.27
          },
          "kind": "legend",
          "text": "Difference vs all consumers: < -3 (red), Between -3 and +3 (grey), > +3 (blue)",
          "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 19:22:38.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ccbf065d-7691-476e-88e7-8dfec5548478",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 90",
          "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:22:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-6a15a6a3f924",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.92,
            "x": 0.04,
            "y": 0.37
          },
          "kind": "table",
          "text": "Table showing shopping behaviors by generation (Gen Z, Millennials, Gen X, Baby Boomers) compared to all consumers.",
          "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 19:22:38.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b7e12c84-7eef-46ef-b16f-e7aab586ba53",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.17
          },
          "kind": "title",
          "text": "For groceries and essentials, Gen Z and millennials were much more likely than older consumers to explore new shopping behaviors",
          "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 19:22:38.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "595c0eb6-9e6b-4fcc-ab13-62acd091eea9",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "90",
          "numberKind": "plain",
          "actionTitle": "For groceries and essentials, Gen Z and millennials were much more likely than older consumers to explore new shopping behaviors",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 90,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [
        {
          "matchId": "cbbb4767-c5d0-418e-9502-c2cbfbd4361d",
          "evidence": "The slide segments consumer behavior data by generational cohorts (Gen Z, Millennials, Gen X, Baby Boomers).",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 19:22:38.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 25,
          "frameworkName": "audience-segmentation"
        }
      ],
      "arcBeats": [],
      "loops": [
        {
          "to": 25,
          "from": 20,
          "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": "70e07a91-85b1-4912-b736-da236a18eb8c",
          "evidence": "The document highlights the consequences of not responding to price increases, including decreased consumer purchasing power",
          "position": 1,
          "objective": "What are the consequences of not responding to price increases?",
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:06:35.915568+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 26,
      "type": "analysis",
      "title": "The chart displays the percentage of respondents who shopped more, same, less, or not at all at specific retail formats, with a calculated net change.",
      "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": 41,
        "componentCount": 5,
        "textChars": 416,
        "nDataPoints": 25,
        "notes": "The chart displays the percentage of respondents who shopped more, same, less, or not at all at specific retail formats, with a calculated net change.",
        "elementsJson": [
          "headline_text",
          "bar_chart_stacked",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:37.818+00",
          "seconds": 5.306,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/26",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-26",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.22,
            "x": 0.735,
            "y": 0.27
          },
          "kind": "callout",
          "text": "25% of consumers changed their retailer/store in the last 3 months",
          "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 19:22:37.818+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bb4471e3-f340-4d4b-8ded-b6f029346411",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.38,
            "w": 0.92,
            "x": 0.04,
            "y": 0.38
          },
          "kind": "chart",
          "text": "Amount of shopping by retail format in past 3 months",
          "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 19:22:37.818+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "714e736f-4950-4e33-8b72-bcf918d3153a",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net change in shopping behavior: 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": {
              "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:22:44+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b499-2e169497be2f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:37.818+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2de804e5-7fdd-4de6-8e2a-72f89a05f586",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.15
          },
          "kind": "title",
          "text": "Many consumers increased their purchases in discounters; many shopped less in convenience and specialty stores and 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 19:22:37.818+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d7adf90f-90ba-4b37-81ad-0e4119187a98",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Net change in shopping behavior",
          "numberRaw": "35",
          "numberKind": "plain",
          "actionTitle": "Many consumers increased their purchases in discounters; many shopped less in convenience and specialty stores and hypermarkets",
          "calloutText": "25% of consumers changed their retailer/store in the last 3 months",
          "numberScale": null,
          "numberValue": 35,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 27,
      "type": "analysis",
      "title": "The table uses a heatmap-style color coding to indicate differences vs all consumers.",
      "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": 65,
        "componentCount": 6,
        "textChars": 973,
        "nDataPoints": 30,
        "notes": "The table uses a heatmap-style color coding to indicate differences vs all consumers.",
        "elementsJson": [
          "headline_text",
          "bar_chart_horizontal",
          "heatmap",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:35.96+00",
          "seconds": 3.355,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/27",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-27",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.45,
            "x": 0.04,
            "y": 0.32
          },
          "kind": "callout",
          "text": "27% of consumers changed their retailer/store in the last 3 months",
          "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 19:22:35.96+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7faf123a-c2c1-4573-b914-e71c686fdfc6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.81
          },
          "kind": "disclaimer",
          "text": "1. Q: You mentioned that in the last 3 months you started shopping from a different retailer or store than you normally would when purchasing groceries and other essentials. How has your shopping at the following types of retailers/stores changed? Net change calculated by subtracting all \"shopped less\" answers from all \"shopped more\" answers. 2. Difference calculated by subtracting the answers of all consumers from those in a subgroup—here split per country. Source: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,076 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years",
          "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 19:22:35.96+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "46a486f6-905e-4746-93ce-a6d03a4770a7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.25,
            "x": 0.71,
            "y": 0.265
          },
          "kind": "legend",
          "text": "Difference vs all consumers, percentage points: < -3, Between -3 and +3, > +3",
          "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 19:22:35.96+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "af447f58-3e9e-4458-90e5-8b45635a1965",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net change in shopping: 25",
          "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:22:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-4ce111e10f53",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.92,
            "x": 0.04,
            "y": 0.37
          },
          "kind": "table",
          "text": "Net change in shopping by retail formats, past 3 months",
          "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 19:22:35.96+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3ead8af4-1b1a-4cbc-a7c5-eb6b2fbf2648",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.85,
            "x": 0.04,
            "y": 0.17
          },
          "kind": "title",
          "text": "Consumers across countries shifting to shopping at discounter retail formats, with Germany and UK leading the way",
          "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 19:22:35.96+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9000914f-e5fb-4ad6-9fce-fe3c12112ab0",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Net change in shopping",
          "numberRaw": "25",
          "numberKind": "plain",
          "actionTitle": "Consumers across countries shifting to shopping at discounter retail formats, with Germany and UK leading the way",
          "calloutText": "27% of consumers changed their retailer/store in the last 3 months",
          "numberScale": null,
          "numberValue": 25,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [
        {
          "matchId": "5aae23bb-ab5b-4238-910f-773e4711137c",
          "evidence": "The table uses color-coded cells to represent quantitative differences relative to a baseline.",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-05-02 19:22:35.96+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 27,
          "frameworkName": "heatmap-matrix"
        }
      ],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 28,
      "type": "analysis",
      "title": "The table uses a heatmap-style color coding to indicate the difference vs the European average.",
      "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": 44,
        "componentCount": 5,
        "textChars": 447,
        "nDataPoints": 102,
        "notes": "The table uses a heatmap-style color coding to indicate the difference vs the European average.",
        "elementsJson": [
          "headline_text",
          "data_table",
          "heatmap"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:38.39+00",
          "seconds": 5.781,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/28",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-28",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "27% of consumers changed their retailer/store in the last 3 months.",
          "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:22:43+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-980a3a9ee85e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 62",
          "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:22:43+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-9c0df4573033",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.75,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,076 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years",
          "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 19:22:38.39+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d0a1cff5-0196-4cca-b7ad-3f6725422059",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.58,
            "w": 0.92,
            "x": 0.04,
            "y": 0.31
          },
          "kind": "table",
          "text": "Table of reasons for switching retailers by country",
          "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 19:22:38.39+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8941baef-74e7-4457-b9e0-b1c4c8b8c572",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "title",
          "text": "Consumers’ top reasons for moving to a new retailer are prices/promotions and value for money, particularly in the UK and Italy",
          "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 19:22:38.39+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ec858e61-82df-46ab-ad30-9616bd14aff1",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "62",
          "numberKind": "plain",
          "actionTitle": "Consumers’ top reasons for moving to a new retailer are prices/ promotions and value for money, particularly in the UK and Italy",
          "calloutText": "27% of consumers changed their retailer/store in the last 3 months.",
          "numberScale": null,
          "numberValue": 62,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 29,
      "type": "analysis",
      "title": "The slide uses a heatmap overlay on a table to show generational variance against the 'All consumers' baseline.",
      "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": 45,
        "componentCount": 5,
        "textChars": 484,
        "nDataPoints": 85,
        "notes": "The slide uses a heatmap overlay on a table to show generational variance against the 'All consumers' baseline.",
        "elementsJson": [
          "headline_text",
          "bar_chart_horizontal",
          "data_table",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:35.573+00",
          "seconds": 2.858,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/29",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-29",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.02,
            "w": 0.37,
            "x": 0.59,
            "y": 0.27
          },
          "kind": "legend",
          "text": "Difference vs all consumers: < -2 (red), Between -2 and +2 (grey), > +2 (blue)",
          "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 19:22:35.573+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "76b29cb9-e7ed-4a88-8043-c038a015bd6c",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 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": {
              "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:22:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-2c31e3cd5384",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.6,
            "x": 0.04,
            "y": 0.86
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:35.573+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "280e1f57-d978-4280-bf39-ef486259a904",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.52,
            "w": 0.92,
            "x": 0.04,
            "y": 0.31
          },
          "kind": "table",
          "text": "Table of reasons for switching retailers by generation",
          "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 19:22:35.573+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ea739b71-d20c-45cf-b316-7a11bbaf2035",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.14
          },
          "kind": "title",
          "text": "Across generations, better prices/promotions and better value for money consistently are key reasons for switching retailers; response to invasion of Ukraine is the least important driver",
          "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 19:22:35.573+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "da2b58d0-f129-4e3c-ac3b-661d1222c3e5",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "45",
          "numberKind": "plain",
          "actionTitle": "Across generations, better prices/promotions and better value for money consistently are key reasons for switching retailers; response to invasion of Ukraine is the least important driver",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 45,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 30,
      "type": "analysis",
      "title": "The data shows a clear net trade-down effect in most categories, with household products showing the highest net trade-down.",
      "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": 39,
        "componentCount": 5,
        "textChars": 372,
        "nDataPoints": 33,
        "notes": "The data shows a clear net trade-down effect in most categories, with household products showing the highest net trade-down.",
        "elementsJson": [
          "headline_text",
          "bar_chart_stacked",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:37.964+00",
          "seconds": 5.204,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/30",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-30",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.045,
            "w": 0.31,
            "x": 0.665,
            "y": 0.276
          },
          "kind": "callout",
          "text": "57% of consumers changed a groceries/essentials brand in the last 3 months",
          "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 19:22:37.964+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6383c2ef-c859-4dfa-b0ca-dd8c02ceb57a",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net trade-down: 44",
          "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:22:43+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-d4ed35f2ba87",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.6,
            "x": 0.045,
            "y": 0.855
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:37.964+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "77a9ac3d-9e0a-434f-bd73-a01768dc634e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.93,
            "x": 0.045,
            "y": 0.385
          },
          "kind": "table",
          "text": "Brand-switching behavior table by category",
          "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 19:22:37.964+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "90f1c349-e31a-42a3-b44d-ea229a7aab7e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.15
          },
          "kind": "title",
          "text": "Trading down is particularly evident in household products, frozen foods, and snacks and confectionary",
          "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 19:22:37.964+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "46f23d9c-dadc-4e24-900f-d307cd9e4bce",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Net trade-down",
          "numberRaw": "44",
          "numberKind": "plain",
          "actionTitle": "Trading down is particularly evident in household products, frozen foods, and snacks and confectionary",
          "calloutText": "57% of consumers changed a groceries/essentials brand in the last 3 months",
          "numberScale": null,
          "numberValue": 44,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 31,
      "type": "analysis",
      "title": "The slide uses red boxes to highlight specific negative net trade-down values in France and Spain.",
      "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": 44,
        "componentCount": 5,
        "textChars": 460,
        "nDataPoints": 66,
        "notes": "The slide uses red boxes to highlight specific negative net trade-down values in France and Spain.",
        "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 19:22:35.443+00",
          "seconds": 2.598,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/31",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-31",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.035,
            "w": 0.26,
            "x": 0.688,
            "y": 0.283
          },
          "kind": "callout",
          "text": "56% of consumers changed a groceries/essentials brand in the last 3 months",
          "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 19:22:35.443+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9ac73669-db83-4bba-bf68-9037cf33ae17",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net trade-down: 56%",
          "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:22:43+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b498-ba0c280c85a0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.015,
            "w": 0.73,
            "x": 0.044,
            "y": 0.825
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,076 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years",
          "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 19:22:35.443+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1a7e0eea-7d89-4761-81a1-e6c8f7cc1c01",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.41,
            "w": 0.912,
            "x": 0.044,
            "y": 0.395
          },
          "kind": "table",
          "text": "Table showing brand switching percentages by category and country",
          "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 19:22:35.443+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a05ed7df-054d-4a67-89e8-35d2fa2aa107",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "title",
          "text": "Consumers across countries are switching brands for groceries and essentials; German consumers are switching for bread and bakery",
          "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 19:22:35.443+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b1e44b20-83e6-4908-9320-d006e47fb54e",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Net trade-down",
          "numberRaw": "56%",
          "numberKind": "percent",
          "actionTitle": "Consumers across countries are switching brands for groceries and essentials; German consumers are switching for bread and bakery",
          "calloutText": "56% of consumers changed a groceries/essentials brand in the last 3 months",
          "numberScale": null,
          "numberValue": 56,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 32,
      "type": "analysis",
      "title": "The table uses a heatmap-style color coding to show the difference vs all consumers.",
      "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": 45,
        "componentCount": 5,
        "textChars": 489,
        "nDataPoints": 75,
        "notes": "The table uses a heatmap-style color coding to show the difference vs all consumers.",
        "elementsJson": [
          "headline_text",
          "bar_chart_horizontal",
          "heatmap",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:35.789+00",
          "seconds": 2.798,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/32",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-32",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "57% of consumers changed a groceries/essentials brand in the last 3 months",
          "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:22:44+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b499-5d6267d67793",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 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:22:44+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b499-63359549770d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.04,
            "y": 0.93
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:35.789+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2a387b96-253a-43a6-b76a-e995b457ce09",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.58,
            "w": 0.92,
            "x": 0.04,
            "y": 0.27
          },
          "kind": "table",
          "text": "Top reasons for choice of new brand for groceries/essentials",
          "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 19:22:35.789+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5dc50d17-d68b-49ac-890d-244e444c07c7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.14
          },
          "kind": "title",
          "text": "Across generations, better prices/promotions and better value for money consistently are key reasons for switching brands; ethical reasons are least important in this time of budget pressure",
          "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 19:22:35.789+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ba06c18e-0ac7-4722-919f-341e5c06c6a2",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "50",
          "numberKind": "plain",
          "actionTitle": "Across generations, better prices/promotions and better value for money consistently are key reasons for switching brands; ethical reasons are least important in this time of budget pressure",
          "calloutText": "57% of consumers changed a groceries/essentials brand in the last 3 months",
          "numberScale": null,
          "numberValue": 50,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 33,
      "type": "analysis",
      "title": "The slide uses a combination of a bar chart for the first column and a stacked-style data table for the behavioral responses.",
      "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": 59,
        "componentCount": 5,
        "textChars": 1096,
        "nDataPoints": 45,
        "notes": "The slide uses a combination of a bar chart for the first column and a stacked-style data table for the behavioral responses.",
        "elementsJson": [
          "headline_text",
          "data_table",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:36.214+00",
          "seconds": 3.217,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/33",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-33",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.81
          },
          "kind": "disclaimer",
          "text": "1. Q: In the last 3 months, how have you observed prices changing across the following categories? Rated from 1 \"Prices decreased significantly\" to 5 \"Prices increased significantly.\" 2. Q: In the last 3 months, have you done any of the following when purchasing [product]? Respondents who answered they switched to a different or lower-cost brand, delayed their purchase, switched to a different store or website, purchased a smaller quantity. Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:36.214+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0c34b17c-d0a6-4f7a-a8c5-66c48b4975fd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.67,
            "x": 0.29,
            "y": 0.27
          },
          "kind": "legend",
          "text": "No action, Delayed a purchase, Switched to a different brand, Switched to a higher-cost brand, Switched to a lower-cost brand, Switched to a different store/website, Purchased a larger size/quantity, Purchased a smaller size/quantity",
          "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 19:22:36.214+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2c7a4756-975c-4609-9bac-d186c5aa79a5",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 95",
          "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:22:44+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b499-47ffb50af100",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.92,
            "x": 0.04,
            "y": 0.45
          },
          "kind": "table",
          "text": "Table showing categories (Gasoline, Energy, Eating out, Nonfood, Apparel) against observed price increases and behavioral responses.",
          "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 19:22:36.214+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "524a144f-2598-4758-8d56-ed36296e2055",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.85,
            "x": 0.04,
            "y": 0.16
          },
          "kind": "title",
          "text": "When observing price increases, more than half of consumers change behavior; about 20 percent say they delay the purchase",
          "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 19:22:36.214+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e5c2ee9a-444e-42b1-bdbb-cd7f911d21c8",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents",
          "numberRaw": "95",
          "numberKind": "plain",
          "actionTitle": "When observing price increases, more than half of consumers change behavior; about 20 percent say they delay the purchase",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 95,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Data-Ink Ratio",
            "slug": "data-ink-ratio",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
            "version": 1,
            "bodyDocId": null,
            "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "551de751-8d67-411c-b1ec-401334ee49a4",
          "evidence": "Table showing categories against observed price increases and behavioral responses.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:49.523177+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 33,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 34,
      "type": "analysis",
      "title": "Data from McKinsey & Company Europe Consumer Pulse Survey, 2022.",
      "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": 61,
        "componentCount": 6,
        "textChars": 829,
        "nDataPoints": 15,
        "notes": "Data from McKinsey & Company Europe Consumer Pulse Survey, 2022.",
        "elementsJson": [
          "headline_text",
          "bar_chart_horizontal",
          "bar_chart_100pct",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:39.964+00",
          "seconds": 6.783,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/34",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-34",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.3,
            "w": 0.4,
            "x": 0.04,
            "y": 0.465
          },
          "kind": "chart",
          "text": "Switch to lower-cost or different brand",
          "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 19:22:39.964+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d751f4c8-8bb3-4104-a38c-9c2edb90b057",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.5,
            "x": 0.45,
            "y": 0.465
          },
          "kind": "chart",
          "text": "Type of brand selected (private label or not)",
          "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 (100%)",
              "slug": "bar-stacked-100pct",
              "status": "active",
              "canonId": "019de52c-ff14-71b8-8d88-860f8d7da84b",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked-100pct",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:22:39.964+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c386e349-1488-4ae0-a479-686ad60db5c3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.7,
            "x": 0.04,
            "y": 0.86
          },
          "kind": "disclaimer",
          "text": "1. Q: In the last 3 months, have you done any of the following when purchasing [product]? Respondents who answered they switched to a different or lower-cost brand, delayed their purchase, switched to a different store or website, purchased a smaller quantity, none of these.\n2. Q: You mentioned that you switched to a different brand when purchasing [product]. Was this a private-label brand (eg, supermarket brand)?",
          "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 19:22:39.964+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1fcc52d6-5925-4556-9500-f3fdac9fcc5b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents switching to private labels: 81%",
          "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:22:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b49a-f34e53862ada",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.7,
            "x": 0.04,
            "y": 0.93
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,075 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years",
          "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 19:22:39.964+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a9321c73-59a9-4d14-975e-4077cace12ba",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.9,
            "x": 0.04,
            "y": 0.17
          },
          "kind": "title",
          "text": "Across categories, majorities of European consumers switching brands are moving to private labels",
          "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 19:22:39.964+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "679d38b0-c333-41db-82e6-f290a6755a52",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents switching to private labels",
          "numberRaw": "81%",
          "numberKind": "percent",
          "actionTitle": "Across categories, majorities of European consumers switching brands are moving to private labels",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 81,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Data-Ink Ratio",
            "slug": "data-ink-ratio",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
            "version": 1,
            "bodyDocId": null,
            "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "723b4a59-6c4f-4d31-9679-71b9b3096eaf",
          "evidence": "Table/data showing type of brand selected (private label or not)",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:49.58966+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 34,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 35,
      "type": "analysis",
      "title": "The table uses color-coding to indicate the difference from the Europe 5 average.",
      "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": 53,
        "componentCount": 5,
        "textChars": 772,
        "nDataPoints": 30,
        "notes": "The table uses color-coding to indicate the difference from the Europe 5 average.",
        "elementsJson": [
          "headline_text",
          "bar_chart_horizontal",
          "data_table",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:36.063+00",
          "seconds": 2.571,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/35",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-35",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.45,
            "w": 0.92,
            "x": 0.04,
            "y": 0.38
          },
          "kind": "chart",
          "text": "Switch to lower-cost or different brand",
          "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 19:22:36.063+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "57889901-6de5-48b9-bfb1-7060ce3b9c7e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.86
          },
          "kind": "disclaimer",
          "text": "1. Q: In the last 3 months, have you done any of the following when purchasing [product]? Data are for respondents who answered they switched to a different or lower-cost brand. 2. Calculated by subtracting the answers of all consumers from those in a subgroup—here split per country. Source: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,076 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years",
          "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 19:22:36.063+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "85eb1495-36e4-4a31-8ae5-9ccac221efad",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.23,
            "x": 0.73,
            "y": 0.26
          },
          "kind": "legend",
          "text": "Difference from Europe 5, percentage points: < -3 (red), Between -3 and +3 (grey), > +3 (blue)",
          "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 19:22:36.063+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5b40747a-3342-4923-ae88-3f9de300cd02",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents switching brands: 41",
          "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:22:48+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b49a-9801f0c1f8e3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.14
          },
          "kind": "title",
          "text": "Consumers across countries are less brand-loyal for nonfood products and for apparel and footwear, more brand-loyal for fuel and energy",
          "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 19:22:36.063+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7d6a4696-0525-42e2-b0ee-362d8e635246",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents switching brands",
          "numberRaw": "41",
          "numberKind": "plain",
          "actionTitle": "Consumers across countries are less brand-loyal for nonfood products and for apparel and footwear, more brand-loyal for fuel and energy",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 41,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Data-Ink Ratio",
            "slug": "data-ink-ratio",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
            "version": 1,
            "bodyDocId": null,
            "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "81bab6d2-834c-41c8-a2ba-ea4e8da2ddfa",
          "evidence": "Table/data showing difference from Europe 5, percentage points: < -3 (red), Between -3 and +3 (grey), > +3 (blue)",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:49.655043+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 35,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 36,
      "type": "analysis",
      "title": "The chart uses a 6-point scale, aggregating 1-2 as 'Unimportant' and 5-6 as 'Important'. Net importance is the difference between these two.",
      "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": 57,
        "componentCount": 5,
        "textChars": 989,
        "nDataPoints": 42,
        "notes": "The chart uses a 6-point scale, aggregating 1-2 as 'Unimportant' and 5-6 as 'Important'. Net importance is the difference between these two.",
        "elementsJson": [
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:37.354+00",
          "seconds": 3.575,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/36",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-36",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net importance: 54",
          "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:22:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b499-a37e4771fe81",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.91,
            "x": 0.045,
            "y": 0.81
          },
          "kind": "source-note",
          "text": "1. Q: In the last 3 months, when choosing a product/brand to purchase, how important to your purchase decision were the following factors that may be attributed to the product or brand? Rated from 1 \"Not important at all\" to 6 \"Extremely important.\"\n2. Calculated by subtracting the unimportant (ratings of 1 or 2) value from the important (ratings of 5 or 6) value.\nSource: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007, sampled to match German general population 18+ years",
          "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 19:22:37.354+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d7cabe7c-cce0-4c12-b830-f284bf689f1c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.5,
            "x": 0.045,
            "y": 0.29
          },
          "kind": "subtitle",
          "text": "Reasons for choosing a product/brand in the past 3 months¹\n% of respondents rating reason as 1 or 2 (unimportant) and 5 or 6 (important) on 6-point scale",
          "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 19:22:37.354+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3ed44f13-305a-4640-ad9d-89e9a852ad86",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.91,
            "x": 0.045,
            "y": 0.37
          },
          "kind": "table",
          "text": "Sustainability, Rational, Beliefs categories with 13 rows of data points for Unimportant, Important, and Net importance.",
          "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 19:22:37.354+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e4adf8ed-4887-4e86-90ec-fb9191708c7f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.91,
            "x": 0.045,
            "y": 0.15
          },
          "kind": "title",
          "text": "Trying out a new brand is strongly driven by ‘rational’ reasons, though trust and no artificial ingredients are also very important; ethical reasons related to invasion in Ukraine least important",
          "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 19:22:37.354+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3efd1ff8-f0d8-498b-b078-0a412e3b5939",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Net importance",
          "numberRaw": "54",
          "numberKind": "plain",
          "actionTitle": "Trying out a new brand is strongly driven by ‘rational’ reasons, though trust and no artificial ingredients are also very important; ethical reasons related to invasion in Ukraine least important",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 54,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Data-Ink Ratio",
            "slug": "data-ink-ratio",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
            "version": 1,
            "bodyDocId": null,
            "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "3a8b82d8-3895-42fe-9962-589e5638396b",
          "evidence": "Table/data showing Sustainability, Rational, Beliefs categories with 13 rows of data points for Unimportant, Important, and Net importance.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:49.725471+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 36,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 37,
      "type": "analysis",
      "title": "The table uses a net importance rating calculated by subtracting unimportant ratings from important ratings.",
      "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": 46,
        "componentCount": 5,
        "textChars": 511,
        "nDataPoints": 84,
        "notes": "The table uses a net importance rating calculated by subtracting unimportant ratings from important ratings.",
        "elementsJson": [
          "headline_text",
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:36.586+00",
          "seconds": 2.476,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/37",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-37",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net importance rating",
          "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:22:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b49b-518a8ef442eb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.75,
            "x": 0.04,
            "y": 0.85
          },
          "kind": "source-note",
          "text": "Source: McKinsey & Company Europe Consumer Pulse Survey, 6/8–6/12/2022, n = 5,076 (France, Germany, Italy, Spain, UK), sampled to match European general population 18+ years",
          "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 19:22:36.586+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4a499ed8-4619-453b-92d4-a3d87dfb773f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.3,
            "x": 0.04,
            "y": 0.27
          },
          "kind": "subtitle",
          "text": "Reason for trying a new brand in the past 3 months. Net importance rating.",
          "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 19:22:36.586+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e49de15b-c52f-42e2-ad7d-06122cc2abd3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.92,
            "x": 0.04,
            "y": 0.35
          },
          "kind": "table",
          "text": "Table showing net importance ratings for 14 factors across 6 columns (Europe 5, Germany, France, UK, Italy, Spain).",
          "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 19:22:36.586+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3d648416-03f9-46f3-9d60-e8ce25515e4c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "title",
          "text": "Consumers in Germany, Italy, and Spain place more value on sustainability; those in Spain also value a clear position on Ukraine",
          "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 19:22:36.586+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "55e4f5f6-7ddb-4d77-8ecc-7eeb459055b7",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Data-Ink Ratio",
            "slug": "data-ink-ratio",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
            "version": 1,
            "bodyDocId": null,
            "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "369e7425-3895-4692-b694-0205ec969a5a",
          "evidence": "Table/data showing net importance ratings for 14 factors across 6 columns (Europe 5, Germany, France, UK, Italy, Spain)",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:14:49.792746+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": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 38,
      "type": "analysis",
      "title": "The chart compares historical data (Feb 2021, Oct 2021, June 2022) with a generational breakdown for June 2022.",
      "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": 45,
        "componentCount": 5,
        "textChars": 525,
        "nDataPoints": 14,
        "notes": "The chart compares historical data (Feb 2021, Oct 2021, June 2022) with a generational breakdown for June 2022.",
        "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 19:22:37.107+00",
          "seconds": 2.98,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/38",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-38",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.35,
            "w": 0.91,
            "x": 0.045,
            "y": 0.39
          },
          "kind": "chart",
          "text": "Stacked bar chart showing Yes/No responses across time and generations",
          "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 19:22:37.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6f5bc57f-edea-402b-8bd1-e9e3c0e749e3",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents planning to splurge: 58%",
          "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:22:47+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b49a-1e1b7b5c3503",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.91,
            "x": 0.045,
            "y": 0.78
          },
          "kind": "source-note",
          "text": "1. Q: With regard to products and services you will spend money on, do you plan to splurge/treat yourself in the next 6 months? 2. Baby boomers includes silent generation. Source: McKinsey & Company Germany Consumer Pulse Survey, 6/8–6/12/2022, n = 1,007",
          "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 19:22:37.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c9334fca-5184-4869-bf3a-3e71f550690a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.045,
            "y": 0.29
          },
          "kind": "subtitle",
          "text": "Respondents who plan/do not plan to splurge/treat themselves in 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 19:22:37.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b64fb3ab-a8fe-42d5-a158-a89788c03dc5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.86,
            "x": 0.045,
            "y": 0.185
          },
          "kind": "title",
          "text": "Majority of Gen Z and millennials still plan to splurge or treat themselves in 2022",
          "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 19:22:37.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6b48404b-f827-4110-a7cb-0b06146dd6c3",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Percentage of respondents planning to splurge",
          "numberRaw": "58%",
          "numberKind": "percent",
          "actionTitle": "Majority of Gen Z and millennials still plan to splurge or treat themselves in 2022",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 58,
          "metricFamily": "survey_sentiment",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "94ac87fe-7bc8-4ac5-8980-43edbaa04b74",
          "evidence": "Stacked bar chart showing Yes/No responses across time and generations",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:14:49.862221+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 38,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 39,
      "type": "analysis",
      "title": "Data source: McKinsey & Company Germany Consumer Pulse Survey, 6/8-6/12/2022, n = 1,007.",
      "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": 46,
        "componentCount": 5,
        "textChars": 518,
        "nDataPoints": 72,
        "notes": "Data source: McKinsey & Company Germany Consumer Pulse Survey, 6/8-6/12/2022, n = 1,007.",
        "elementsJson": [
          "headline_text",
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:36.897+00",
          "seconds": 2.682,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/39",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-39",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.65,
            "x": 0.04,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "1. Q: You mentioned that you plan to splurge/treat yourself in next 6 months. Which categories do you intend to treat yourself to? Please select all that apply. 2. Baby boomers includes silent generation.",
          "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 19:22:36.897+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0ae9c726-2f2f-479c-ac0c-2a1edd60b975",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.41,
            "x": 0.55,
            "y": 0.27
          },
          "kind": "legend",
          "text": "Difference from all respondents percentage points: < -3 (red), Between -3 and +3 (grey), > +3 (blue)",
          "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 19:22:36.897+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "900ef474-89d7-4924-9ddc-59464cd67290",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Intent to splurge: 44",
          "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:22:47+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-cdec-74db-b499-c2defbc56583",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.52,
            "w": 0.92,
            "x": 0.04,
            "y": 0.38
          },
          "kind": "table",
          "text": "Categories, Change from Oct 2021, Generational cut (Gen Z, Millennials, Gen X, Baby boomers)",
          "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 19:22:36.897+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f21c1a4d-22aa-4e61-b571-86424b9d2fb2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.92,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "title",
          "text": "Splurging most often planned for restaurants for older consumers; apparel more often planned by Gen Z",
          "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 19:22:36.897+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a6b6bcfa-d00e-4227-ad75-bea1c7447133",
          "parentComponentId": null
        }
      ],
      "metrics": [
        {
          "metricRaw": "Intent to splurge",
          "numberRaw": "44",
          "numberKind": "plain",
          "actionTitle": "Splurging most often planned for restaurants for older consumers; apparel more often planned by Gen Z",
          "calloutText": null,
          "numberScale": null,
          "numberValue": 44,
          "metricFamily": "other",
          "numberCurrency": null
        }
      ],
      "tools": [
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "1abbc7ba-640c-4f4a-9915-ccbbe6005f28",
          "evidence": "Legend: Difference from all respondents percentage points: < -3 (red), Between -3 and +3 (grey), > +3 (blue)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:14:49.928918+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 39,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 40,
      "type": "setup",
      "title": "This is a template slide with no content.",
      "function": "front_matter",
      "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": 0,
        "componentCount": 1,
        "textChars": 18,
        "nDataPoints": 0,
        "notes": "This is a template slide with no content.",
        "elementsJson": [
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:22:36.362+00",
          "seconds": 1.972,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b638-799ac59d725f/40",
        "deck": "/decks/019dd923-5ca1-7489-b638-799ac59d725f",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b638-799ac59d725f#slide-40",
        "deckJson": "/decks/019dd923-5ca1-7489-b638-799ac59d725f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.045,
            "y": 0.185
          },
          "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 19:22:36.362+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "289789a9-5df1-4aaa-b71b-3e1f59c67e2f",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 1,
      "to": 5,
      "label": "Problem (Identify pain)",
      "description": "The document identifies the problems faced by consumers, including rising prices and the invasion of Ukraine"
    },
    {
      "from": 6,
      "to": 10,
      "label": "Agitate (Make it worse)",
      "description": "The document highlights the impact of these problems on consumers, including decreased confidence in the economy"
    },
    {
      "from": 11,
      "to": 15,
      "label": "Solution (Provide relief)",
      "description": "The document provides insights into consumer behavior and how they are responding to these problems"
    }
  ],
  "loops": [
    {
      "from": 2,
      "to": 5,
      "label": "Logic Chain",
      "description": "What are the top concerns for consumers?"
    },
    {
      "from": 20,
      "to": 25,
      "label": "Cost Of Inaction",
      "description": "What are the consequences of not responding to price increases?"
    }
  ]
}