{
  "schema_version": 1,
  "currency": "USD (fictional)",
  "workload": {
    "active_days": 30,
    "hours_per_day": 8,
    "description": "Fictional 30-day comparison: 20 event pages, same specified bookmaker and full-time totals coverage during a fixed 8-hour window each active day; same 120-second source-age budget and no historical backfill. Units per poll represent different source batching, not different coverage. All costs, freshness and coverage assumptions are invented; no source trial."
  },
  "scenarios": [
    {
      "name": "60s / 200k billed bytes",
      "poll_interval_seconds": 60,
      "collector_billed_bytes_per_attempt": 200000
    },
    {
      "name": "10s / 200k billed bytes",
      "poll_interval_seconds": 10,
      "collector_billed_bytes_per_attempt": 200000
    },
    {
      "name": "60s / 1M billed bytes",
      "poll_interval_seconds": 60,
      "collector_billed_bytes_per_attempt": 1000000
    }
  ],
  "candidates": [
    {
      "name": "Fictional batched API",
      "kind": "api",
      "credits_per_attempt": 3,
      "units_per_poll": 2,
      "planned_retry_fraction": 0.05,
      "gates": {
        "coverage": {
          "status": "yes",
          "note": "Fictional assumption only: same required 20 event pages, specified bookmakers and full-time totals markets covered."
        },
        "allowed_use": {
          "status": "yes",
          "note": "Fictional assumption only: collection, storage and intended internal comparison permission confirmed in this invented scenario."
        },
        "freshness": {
          "status": "yes",
          "note": "Fictional assumption only: the fixed sampling scenarios satisfy the same invented 120-second source-age budget; no observed latency or SLA."
        },
        "history": {
          "status": "yes",
          "note": "Fictional assumption only: no retrospective history required; storage of future observations permitted in this invented scenario."
        }
      },
      "request_note": "Fictional assumption: two batched requests cover the same 20 event-page workload. Each request attempt, including planned retries, uses three credits. Planned retries are 5% of scheduled requests, not a measured failure rate.",
      "costs": {
        "fixed_cost": 100,
        "usage_price_per_unit": 0,
        "maintenance_hours": 2,
        "hourly_rate": 50,
        "note": "Fictional monthly USD quote: $100 includes up to 100000 credits, zero incremental charge within that quota; 2 maintenance hours at $50. No overage quote supplied."
      },
      "quota": {
        "basis": "credits",
        "limit": 100000,
        "unlimited": false,
        "note": "Fictional monthly quote cap; overage requires a new quote."
      }
    },
    {
      "name": "Fictional authorized collector",
      "kind": "collector",
      "units_per_poll": 20,
      "planned_retry_fraction": 0.05,
      "gates": {
        "coverage": {
          "status": "yes",
          "note": "Fictional assumption only: same required 20 event pages, specified bookmakers and full-time totals markets covered."
        },
        "allowed_use": {
          "status": "yes",
          "note": "Fictional assumption only: collection, storage and intended internal comparison permission confirmed in this invented scenario."
        },
        "freshness": {
          "status": "yes",
          "note": "Fictional assumption only: the fixed sampling scenarios satisfy the same invented 120-second source-age budget; no observed latency or SLA."
        },
        "history": {
          "status": "yes",
          "note": "Fictional assumption only: no retrospective history required; storage of future observations permitted in this invented scenario."
        }
      },
      "request_note": "Fictional assumption: one request per each of 20 event pages per poll covers exactly the same required workload; 5% extra attempts. No browser subresources; add them to units/bytes if needed.",
      "costs": {
        "fixed_cost": 40,
        "usage_price_per_unit": 2,
        "maintenance_hours": 8,
        "hourly_rate": 50,
        "note": "Fictional monthly USD inputs: $40 infrastructure/storage, $2 per decimal GB billed and 8 maintenance hours at $50. No real vendor quote or ipvolt price."
      },
      "quota": {
        "basis": "requests",
        "limit": null,
        "unlimited": true,
        "note": "Fictional no aggregate request cap. Real per-second limits, concurrency and permissions still require review."
      },
      "wire_bytes_per_attempt": 200000
    }
  ]
}
