{
  "schemaVersion": "1.0",
  "exampleOnly": true,
  "scope": "Fictional single-variant planning examples. One fulfillment pool, USD, uniform daily demand and spend. Receipt is sellable before demand on its stated day. No observed business results.",
  "formulaVersion": "1.0",
  "scenarios": [
    {
      "id": "receipt-on-time",
      "label": "Delivery on day 8",
      "input": {
        "horizonDays": 14,
        "availableUnits": 120,
        "bufferUnits": 20,
        "baselineUnitsPerDay": 6,
        "receiptUnits": 60,
        "receiptDay": 8,
        "extraSpendPerDay": 60,
        "costPerExtraUnit": 20,
        "contributionPerUnit": 30
      },
      "expected": {
        "status": "test-fits",
        "baselineBreachDay": null,
        "plannedBreachDay": null,
        "endingBalance": 54,
        "contributionAfterExtraAds": 420,
        "stockLimitedExtraSpendPerDay": 108.57142857142857
      }
    },
    {
      "id": "receipt-late",
      "label": "Delivery delayed",
      "input": {
        "horizonDays": 14,
        "availableUnits": 120,
        "bufferUnits": 20,
        "baselineUnitsPerDay": 6,
        "receiptUnits": 60,
        "receiptDay": 15,
        "extraSpendPerDay": 60,
        "costPerExtraUnit": 20,
        "contributionPerUnit": 30
      },
      "expected": {
        "status": "hold-increase",
        "baselineBreachDay": null,
        "plannedBreachDay": 12,
        "endingBalance": -6,
        "contributionAfterExtraAds": null,
        "stockLimitedExtraSpendPerDay": 22.857142857142858
      }
    },
    {
      "id": "baseline-shortage",
      "label": "Current demand too high",
      "input": {
        "horizonDays": 14,
        "availableUnits": 90,
        "bufferUnits": 20,
        "baselineUnitsPerDay": 6,
        "receiptUnits": 0,
        "receiptDay": 8,
        "extraSpendPerDay": 0,
        "costPerExtraUnit": 20,
        "contributionPerUnit": 30
      },
      "expected": {
        "status": "review-current-demand",
        "baselineBreachDay": 12,
        "plannedBreachDay": 12,
        "endingBalance": 6,
        "contributionAfterExtraAds": null,
        "stockLimitedExtraSpendPerDay": 0
      }
    }
  ]
}
