{
  "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": 52,
  "pageCount": 72,
  "prevPage": 51,
  "nextPage": 53,
  "slideType": "appendix_methodology",
  "function": "present_framework",
  "density": "overcrowded",
  "nDataPoints": 0,
  "notes": "Technical documentation page describing data transformation steps for ARR analysis.",
  "elementsJson": null,
  "metadataConfidence": 1,
  "imagePath": null,
  "slideHref": "/slides/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c/52",
  "deckHref": "/decks/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c",
  "deckJsonHref": "/decks/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c.json",
  "deckAnchorHref": "/decks/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c#slide-52",
  "components": [
    {
      "bbox": {
        "h": 0.085,
        "w": 0.664,
        "x": 0.168,
        "y": 0.805
      },
      "kind": "callout",
      "text": "annualized_amount - COALESCE(LAG(annualized_amount,1) OVER\n(PARTITION BY customer_id ORDER BY date ASC),0) as\nnet_new_arr",
      "attrs": null,
      "subkind": "primary",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "8e34b994-507a-422d-ac5d-19ee5785ccde",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.075,
        "w": 0.664,
        "x": 0.168,
        "y": 0.265
      },
      "kind": "callout",
      "text": "FROM date_table d\nLEFT JOIN clean_arr_table c ON d.date BETWEEN c.period_start_date_clean\nAND c.period_end_date_clean",
      "attrs": null,
      "subkind": "primary",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "c1d3fef5-5223-47a4-b71e-c33e5c110126",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.025,
        "w": 0.444,
        "x": 0.278,
        "y": 0.615
      },
      "kind": "other",
      "text": "Figure 5.6 - The Padded ARR table now reports ARR on each day",
      "attrs": null,
      "subkind": "annotation",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "27d626a5-9dd5-4b89-af39-93624b9e0735",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.055,
        "w": 0.664,
        "x": 0.168,
        "y": 0.138
      },
      "kind": "paragraph",
      "text": "Next, join the Date and Clean ARR tables together where the dates from the Date table are between the primary object's start and end dates. We call this the Padded ARR table.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "51122471-068f-4144-a3a3-0eb8fdf9ecc6",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.055,
        "w": 0.664,
        "x": 0.168,
        "y": 0.375
      },
      "kind": "paragraph",
      "text": "The end result returns a record each date the primary object was active. Extrapolating this across all customers makes it possible to pull ARR on any date. (See Figure 5.6.)",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "9c8775b1-31b9-4575-81f6-3bfc4fe3ba93",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.025,
        "w": 0.335,
        "x": 0.168,
        "y": 0.225
      },
      "kind": "paragraph",
      "text": "Here's what the logic looks like:",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "d5fa52d8-9838-4787-a331-434b93cd0ff3",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.085,
        "w": 0.664,
        "x": 0.168,
        "y": 0.705
      },
      "kind": "paragraph",
      "text": "With the Padded ARR table in place, you have the foundation to calculate Net New ARR. This is derived by taking the ARR on any given date and subtracting it from the ARR on the prior date. The easiest way to derive this is through the LAG function in SQL:",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "f324b69e-4046-4484-934c-01bdcce4ddfa",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.155,
        "w": 0.864,
        "x": 0.068,
        "y": 0.465
      },
      "kind": "table",
      "text": "Padded ARR table data",
      "attrs": null,
      "subkind": "data",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "eb69df34-5a23-486c-9693-8481e55b5837",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.025,
        "w": 0.335,
        "x": 0.168,
        "y": 0.655
      },
      "kind": "title",
      "text": "The Final ARR table",
      "attrs": null,
      "subkind": "headline",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "0b221c3a-9a63-4e2a-b9fe-1731ea379a19",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.025,
        "w": 0.335,
        "x": 0.168,
        "y": 0.092
      },
      "kind": "title",
      "text": "The Padded ARR table",
      "attrs": null,
      "subkind": "headline",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "fdbd4b7d-2136-479b-908a-386f827df35b",
      "frameworkName": null,
      "frameworkSlug": null
    }
  ],
  "metrics": [],
  "tools": [
    {
      "name": "Waterfall chart",
      "slug": "waterfall-chart",
      "agent": null,
      "layer": "slide",
      "matchId": "85767049-b81e-4215-b436-585a897c5b78",
      "evidence": "annualized_amount - COALESCE(LAG(annualized_amount,1) OVER (PARTITION BY customer_id ORDER BY date ASC),0) as net_new_arr",
      "confidence": 0.8
    }
  ],
  "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
}