{
  "version": "1.0.0",
  "baseline": {
    "model": {
      "name": "Flat 1%",
      "baseChance": 0.01,
      "softStart": 0,
      "step": 0,
      "hardAt": 0,
      "initialMisses": 0,
      "secondsPerAttempt": 120
    },
    "horizon": 200,
    "summary": {
      "successByHorizon": 0.866020325142037,
      "missingByHorizon": 0.13397967485796305,
      "guaranteedByHorizon": false,
      "logMissingByHorizon": -2.01006717070028,
      "expectedCappedAttempts": 86.60203251420377,
      "expectedAttempts": 100,
      "expectationKind": "geometric",
      "quantiles": {
        "p50": 69,
        "p90": null,
        "p95": null,
        "p99": null
      },
      "expectedCappedMinutes": 173.20406502840754
    }
  },
  "candidate": {
    "model": {
      "name": "Bad-luck protection",
      "baseChance": 0.01,
      "softStart": 51,
      "step": 0.01,
      "hardAt": 80,
      "initialMisses": 0,
      "secondsPerAttempt": 120
    },
    "horizon": 200,
    "summary": {
      "successByHorizon": 1,
      "missingByHorizon": 0,
      "guaranteedByHorizon": true,
      "logMissingByHorizon": null,
      "expectedCappedAttempts": 46.34319423666109,
      "expectedAttempts": 46.34319423666109,
      "expectationKind": "complete",
      "quantiles": {
        "p50": 55,
        "p90": 67,
        "p95": 71,
        "p99": 76
      },
      "expectedCappedMinutes": 92.68638847332218
    }
  },
  "checks": [
    {
      "label": "At least 95% acquire by 75 attempts",
      "attempt": 75,
      "metric": "success",
      "threshold": 0.95,
      "actual": 0.9872412111836475,
      "guaranteed": false,
      "logStillMissing": -4.361534925919262,
      "passed": true
    },
    {
      "label": "No player remains without reward after 80 attempts",
      "attempt": 80,
      "metric": "missing",
      "threshold": 0,
      "actual": 0,
      "guaranteed": true,
      "logStillMissing": null,
      "passed": true
    }
  ],
  "passed": true
}