{
  "docId": "019f6b8f-703a-73b2-9ce7-4c20d37b9d2c",
  "docSlug": "jarvis-the-ultimate-guide-to-arr",
  "documentTitle": "The Ultimate Guide To ARR",
  "authorId": "the-ultimate-guide-to-arr",
  "authorName": null,
  "documentKindSlug": "deck",
  "documentKindLabel": "Deck",
  "sourceTypeSlug": "investor_relations",
  "sourceTypeLabel": "Investor relations",
  "presentationDate": null,
  "orientation": null,
  "aspectRatio": null,
  "pageNumber": 51,
  "pageCount": 72,
  "prevPage": 50,
  "nextPage": 52,
  "slideType": "appendix_methodology",
  "function": "present_framework",
  "density": "overcrowded",
  "nDataPoints": 0,
  "notes": "Technical documentation page for data modeling.",
  "elementsJson": null,
  "metadataConfidence": 1,
  "imagePath": null,
  "slideHref": "/slides/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c/51",
  "deckHref": "/decks/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c",
  "deckJsonHref": "/decks/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c.json",
  "deckAnchorHref": "/decks/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c#slide-51",
  "components": [
    {
      "bbox": {
        "h": 0.02,
        "w": 0.68,
        "x": 0.16,
        "y": 0.89
      },
      "kind": "other",
      "text": "Figure 5.5 — The Date table joined with the ARR tables lets you pull ARR for any date",
      "attrs": null,
      "subkind": "annotation",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "b01b1ba6-9592-4696-aedb-40df4586c45b",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.25,
        "w": 0.68,
        "x": 0.16,
        "y": 0.42
      },
      "kind": "other",
      "text": "SELECT dateadd(day, '-' || row_number() over (order by null), dateadd(day, '+1', '2100-12-31')) ::DATE as date, DATE_TRUNC('week',date)::DATE AS week, DATE_TRUNC('month',date)::DATE AS month...",
      "attrs": null,
      "subkind": "unclassified",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "3505d469-9d5b-4f8d-96bc-39801b58d0b0",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.04,
        "w": 0.68,
        "x": 0.16,
        "y": 0.71
      },
      "kind": "paragraph",
      "text": "Here's an example of how we build these in Snowflake and the corresponding output:",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "206f816f-fd83-4b92-939e-4eae1bfd0fbd",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.12,
        "w": 0.68,
        "x": 0.16,
        "y": 0.14
      },
      "kind": "paragraph",
      "text": "The Clean ARR table returns a single record for each invoice or subscription object... In order to make this possible, the table needs to expand from a single object record to a record for every day that object was active.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "2bdd05ef-2817-43d6-823b-d075a02d55d0",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.08,
        "w": 0.68,
        "x": 0.16,
        "y": 0.28
      },
      "kind": "paragraph",
      "text": "This process is called padding and requires creating a Date table in SQL that the Clean ARR table can join to.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "4d813f0a-47bb-4772-aca7-090d01a74e80",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.1,
        "w": 0.68,
        "x": 0.16,
        "y": 0.78
      },
      "kind": "table",
      "text": "DATE, WEEK, MONTH, WEEK_BEGINNING, WEEK_ENDING, MONTH_BEGINNING, MONTH_ENDING",
      "attrs": null,
      "subkind": "data",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "1e4f7560-92e5-414c-8b1e-197a65e82ecb",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.03,
        "w": 0.25,
        "x": 0.16,
        "y": 0.09
      },
      "kind": "title",
      "text": "The Date table",
      "attrs": null,
      "subkind": "headline",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "91fd3336-de14-42cb-bbac-f08288943cdb",
      "frameworkName": null,
      "frameworkSlug": null
    }
  ],
  "metrics": [],
  "tools": [
    {
      "name": "Data-Ink Ratio",
      "slug": "data-ink-ratio",
      "agent": "Designer",
      "layer": "slide",
      "matchId": "29bf9a5f-a52d-4cca-a788-df0e9aef013d",
      "evidence": "Figure 5.5 — The Date table joined with the ARR tables lets you pull ARR for any date",
      "confidence": 0.7
    }
  ],
  "frameworks": [],
  "arcBeats": [
    {
      "to": 63,
      "from": 44,
      "beatId": "7976f1fb-7ca9-4a2c-bfd0-864fe8dff526",
      "arcName": "Monroe's Motivated Sequence",
      "arcSlug": "monroes-sequence",
      "beatName": "Satisfaction",
      "beatSlug": "monroes-sequence-satisfaction",
      "evidence": "The document provides a detailed guide to building ARR, acting on ARR, and benchmarking ARR to satisfy the reader's need.",
      "position": 2,
      "confidence": 0.7,
      "parentBeatName": "Turn",
      "parentBeatSlug": "turn"
    }
  ],
  "loops": [
    {
      "to": 72,
      "from": 10,
      "name": "Logic Chain",
      "slug": "01-logic-chain",
      "bestFor": "Skeptical audiences, controversial recommendations, rigorous analysis",
      "matchId": "e8faec0b-9f7e-48c0-9872-9bc2ef4cc4c5",
      "evidence": "The document presents a logical sequence of information, starting with the components of ARR and building up to benchmarking.",
      "position": 0,
      "objective": "To understand the components of ARR and how they relate to each other.",
      "structure": "Premise 1 (Accepted truth) -> Premise 2 (Observed fact) -> Therefore... (Inevitable conclusion)",
      "confidence": 0.6,
      "description": "Build an airtight chain of logic where each premise leads inevitably to the conclusion"
    }
  ],
  "imagePathAlt": null,
  "thumbSrc": null,
  "thumbSrcAlt": null,
  "locked": true
}