{
  "schemaVersion": 1,
  "slug": "youtube-money-calculator",
  "category": "social-media",
  "kind": "implementation",
  "independentValidation": false,
  "implementationHash": "098406615cbf112d8b2f73256471cd107de7c4d51f5ab1f203ff5814b1121498",
  "provenance": "Generated from the calculation contract used by the published page. Publication is not external validation.",
  "sourceFiles": [
    "data/calculators/youtube-money-calculator.json",
    "src/engine.js"
  ],
  "runtimeSource": "/sources/engine.txt",
  "runtimeHash": "5c888d8898afbdee36267bb9977829e1e2ac568f6677c8ee87469c139864645c",
  "scope": "The compute function records implemented equations, constants, lookup tables and custom rules. Inputs record defaults and allowed values; outputs record precision and units. Defaults are examples, not recommendations. General background references are not evidence for this specific algorithm.",
  "publishedFormula": {
    "formula": "A = V × m ÷ 1000 × C × s ÷ 100; T = A + U + F",
    "vars": [
      [
        "V",
        "Monthly channel views"
      ],
      [
        "m",
        "Monetized views (%)"
      ],
      [
        "C",
        "Playback-based CPM (USD)"
      ],
      [
        "s",
        "Creator share (%)"
      ],
      [
        "U",
        "Membership income (USD)"
      ],
      [
        "F",
        "Affiliate income (USD)"
      ],
      [
        "A",
        "Modeled ad revenue (USD)"
      ],
      [
        "T",
        "Modeled total per month (USD)"
      ]
    ],
    "note": "Annual total = T × 12. Ad revenue per 1,000 monetized playbacks is undefined when there are none; modeled total per 1,000 channel views is undefined when V = 0. All money inputs are USD. This is an assumption-based scenario, not a forecast."
  },
  "externalEvidence": {
    "reviewedAt": "2026-09-26",
    "sources": [
      {
        "name": "YouTube Help — Understand ad revenue analytics",
        "url": "https://support.google.com/youtube/answer/9314357?hl=en"
      },
      {
        "name": "YouTube Help — YouTube Partner earnings overview",
        "url": "https://support.google.com/youtube/answer/72902?hl=en-GB"
      }
    ]
  },
  "contract": {
    "compute": "const monetised=views*monetisedPercent/100,ad=monetised/1000*cpm*revenueShare/100,other=memberships+affiliateIncome,total=ad+other;return {adRevenue:ad,otherRevenue:other,monthlyTotal:total,annualTotal:total*12,adRevenuePerThousandMonetizedViews:monetised>0?ad/(monetised/1000):null,modeledTotalPerThousandViews:views>0?total/(views/1000):null};",
    "inputs": [
      {
        "name": "views",
        "type": "number",
        "default": 100000,
        "min": 0,
        "max": 10000000000,
        "step": 1
      },
      {
        "name": "cpm",
        "type": "number",
        "default": 4,
        "min": 0,
        "max": 10000,
        "step": 0.01
      },
      {
        "name": "monetisedPercent",
        "type": "number",
        "default": 60,
        "min": 0,
        "max": 100,
        "step": 1,
        "slider": true
      },
      {
        "name": "revenueShare",
        "type": "number",
        "default": 55,
        "min": 0,
        "max": 100,
        "step": 1,
        "slider": true
      },
      {
        "name": "memberships",
        "type": "number",
        "default": 500,
        "min": 0,
        "max": 10000000,
        "step": 1
      },
      {
        "name": "affiliateIncome",
        "type": "number",
        "default": 300,
        "min": 0,
        "max": 10000000,
        "step": 1
      }
    ],
    "outputs": [
      {
        "name": "adRevenue",
        "precision": 2,
        "unit": "USD"
      },
      {
        "name": "otherRevenue",
        "precision": 2,
        "unit": "USD"
      },
      {
        "name": "monthlyTotal",
        "precision": 2,
        "unit": "USD"
      },
      {
        "name": "annualTotal",
        "precision": 2,
        "unit": "USD"
      },
      {
        "name": "adRevenuePerThousandMonetizedViews",
        "precision": 3,
        "unit": "USD",
        "optional": true
      },
      {
        "name": "modeledTotalPerThousandViews",
        "precision": 3,
        "unit": "USD",
        "optional": true
      }
    ],
    "interpret": null
  }
}
