{
  "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": 49,
  "pageCount": 72,
  "prevPage": 48,
  "nextPage": 50,
  "slideType": "appendix_methodology",
  "function": "analyze_data",
  "density": "overcrowded",
  "nDataPoints": 0,
  "notes": "Page 49 of a larger document; focuses on data engineering logic for financial metrics.",
  "elementsJson": null,
  "metadataConfidence": 0.95,
  "imagePath": null,
  "slideHref": "/slides/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c/49",
  "deckHref": "/decks/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c",
  "deckJsonHref": "/decks/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c.json",
  "deckAnchorHref": "/decks/019f6b8f-703a-73b2-9ce7-4c20d37b9d2c#slide-49",
  "components": [
    {
      "bbox": null,
      "kind": "list",
      "text": "Corrective invoices (same day): A quick window function can be used to honor the last invoice created on any given day. It’s a good idea to review a handful of examples to ensure this logic is correct and to understand better why corrective invoices are being issued. Backdated invoices: To avoid restating historicals, create a “start_date_clean” field that defaults to the created date when the created date > the start date on the invoice. As with corrective invoices, review a handful of these examples to ensure the ARR logic matches your current business logic.",
      "attrs": null,
      "subkind": "bullet",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "39ecee70-7875-4e6d-8774-33855f6e4672",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": null,
      "kind": "other",
      "text": "(product_sku_price * prod_quantity) / charge_duration (in months) * 12 = ARR",
      "attrs": null,
      "subkind": "unclassified",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "84e2dbc6-790c-4c77-9e01-c1308e91b850",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": null,
      "kind": "paragraph",
      "text": "As discussed earlier, you’ll want to derive the ARR amounts directly in the query by taking the product SKU multiplied by quantity. If you’re working with invoices, this will require an extra step of adjusting for invoice duration.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "3185d1f1-8056-4924-b8f9-082524ce632a",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": null,
      "kind": "paragraph",
      "text": "Overlapping invoices can cause double counting as you typically only want to honor a single invoice on any given day for each subscription. Here’s how to account for the two edge cases discussed in the previous chapter, Defining Your ARR:",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "7419f482-51dd-4187-8792-797fd2778c1d",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": null,
      "kind": "paragraph",
      "text": "invoice-based method, as there are more edge cases to address in the data. Every company will have unique nuances to contend with, but accounting for the below will get you ~95% of the way there.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "a2f71c0e-61cd-43ae-95a5-e355a5ddeb70",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": null,
      "kind": "title",
      "text": "ACCOUNTING FOR BILLING FREQUENCY (INVOICE OR SUBSCRIPTION)",
      "attrs": null,
      "subkind": "subtitle",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "217b7c5d-efe7-46f4-b5b4-4a281f07bc03",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": null,
      "kind": "title",
      "text": "OVERLAPPING AND BACKDATED INVOICES (INVOICE SPECIFIC)",
      "attrs": null,
      "subkind": "subtitle",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "23c53ba4-c51c-4476-9a6e-89f6a743f501",
      "frameworkName": null,
      "frameworkSlug": null
    }
  ],
  "metrics": [],
  "tools": [],
  "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
}