{
  "schema_version": "1.0",
  "study_id": "S03",
  "run_id": "S03-2f7d21cd-572e3627",
  "code_version": "2f7d21cdbdd1255931a9297ca19303f3551e421e",
  "source_sha256": {
    "research_program/__init__.py": "5abb4829b477fd3068ee4c11dad2b59cd33e90aad06a17a5e9fb2f840a75abf1",
    "research_program/evaluation.py": "09a5d060c34b8cd1e5a3330d90f5ff3e12adbca8cfe1ebe3297da2b91d227e45",
    "research_program/io.py": "16de123c16d80bce5eb8d6766224dec1729d7c00449c2528f2348d86ad68d35f",
    "research_program/validate.py": "3e6a591e2b77799bdf73683db438b2998e2e457340626c98b7ceed510ab3329e",
    "studies/S03/config.json": "10fde8c88f0e5ac9e5547d8864ffa3ab4cc59ceb10a5e4f945c08cf8a5e33eba",
    "studies/S03/ingest.py": "a685723972aa3ae1eb33c568f5a09c6184aaf04b9a3afd0ae19932b78084600f",
    "studies/S03/models.py": "3cb199b6dbf11676de63980bdc69fe5c06652ec915af2a61ab15a813bc438908",
    "studies/S03/study.py": "1f907bd37a0362a7457cb309504cc3732cee1d3de3bcc1f0f2bc2da419956c84",
    "uv.lock": "5985583acc764c8b04a4a783eace913b25f13c19b338039e96abcb1ccf7524bf"
  },
  "evaluated_on": "2026-09-29",
  "data": {
    "source_url": "https://archive.ics.uci.edu/dataset/502/online+retail+ii",
    "release": "Online Retail II, official workbook retrieved September 29, 2026",
    "sha256": "572e36277c2390fbfde10664750731e0a86f55e33470d91919085f0408e67bfb",
    "license": "CC BY 4.0",
    "citation": "Chen, D. (2012). Online Retail II [Dataset]. UCI Machine Learning Repository. doi:10.24432/C5CG6D.",
    "workbook_sha256": "bcbe73b35f5b7babf197fb0cb983a11f5d9ff929078d4aa53d171b1f2df2e980"
  },
  "target": {
    "label": "Positive purchase-day counts, probability of any future purchase and gross positive spend",
    "estimand": "Future observed purchasing among identified customers with at least 30 days of prior history",
    "prediction_cutoff": "History strictly before each March/June/September 2011 cutoff; supervised labels complete before each fit",
    "horizon": "30, 60 and 90 days; primary 90 days",
    "unit": "Customer-cutoff; repeated windows clustered by customer"
  },
  "cohort": "Three nonoverlapping final 90-day windows, beginning March 1, June 1 and September 1, 2011; first observed purchase need not be acquisition",
  "samples": {
    "total": 5878,
    "source_rows": 1067371,
    "source_purchase_days": 33107,
    "test": 14388,
    "test_unique_customers": 5155,
    "test_purchase_days": 10569,
    "test_customer_windows_with_purchase": 5310,
    "final_windows": 3,
    "all_horizon_observations": 43164
  },
  "models": [
    {
      "id": "recent_rule",
      "label": "Recent 90-day purchasing",
      "specification": "Frozen recent_rule; purchase-day grain, completed-label rolling fits, no current-window outcome features. Hurdle leaves 7. See protocol."
    },
    {
      "id": "rfm_rule",
      "label": "Historical RFM cohorts",
      "specification": "Frozen rfm_rule; purchase-day grain, completed-label rolling fits, no current-window outcome features. Hurdle leaves 7. See protocol."
    },
    {
      "id": "bgnbd",
      "label": "BG/NBD + Gamma-Gamma",
      "specification": "Frozen bgnbd; purchase-day grain, completed-label rolling fits, no current-window outcome features. Hurdle leaves 7. See protocol."
    },
    {
      "id": "boosting",
      "label": "Hurdle count–spend boosting",
      "specification": "Frozen boosting; purchase-day grain, completed-label rolling fits, no current-window outcome features. Hurdle leaves 7. See protocol."
    }
  ],
  "metrics": [
    {
      "model": "recent_rule",
      "name": "count_poisson_deviance",
      "estimate": 7.41900583,
      "lower": 7.09806486,
      "upper": 7.73224743,
      "confidence": 0.95,
      "unit": "Poisson deviance",
      "split": "final_90_days"
    },
    {
      "model": "recent_rule",
      "name": "count_mae",
      "estimate": 0.58361134,
      "lower": 0.56545699,
      "upper": 0.60239665,
      "confidence": 0.95,
      "unit": "purchase days per customer-cutoff",
      "split": "final_90_days"
    },
    {
      "model": "recent_rule",
      "name": "purchase_brier",
      "estimate": 0.22584651,
      "lower": 0.21905097,
      "upper": 0.23344623,
      "confidence": 0.95,
      "unit": "proportion",
      "split": "final_90_days"
    },
    {
      "model": "recent_rule",
      "name": "purchase_log_loss",
      "estimate": 2.89428694,
      "lower": 2.7972511,
      "upper": 3.00055626,
      "confidence": 0.95,
      "unit": "natural-log units",
      "split": "final_90_days"
    },
    {
      "model": "recent_rule",
      "name": "count_ratio",
      "estimate": 0.93178163,
      "lower": 0.91535141,
      "upper": 0.94860281,
      "confidence": 0.95,
      "unit": "ratio",
      "split": "final_90_days"
    },
    {
      "model": "recent_rule",
      "name": "spend_mae",
      "estimate": 315.80848714,
      "lower": 286.95331502,
      "upper": 352.75637042,
      "confidence": 0.95,
      "unit": "GBP per customer-cutoff",
      "split": "final_90_days"
    },
    {
      "model": "recent_rule",
      "name": "spend_ratio",
      "estimate": 0.86741058,
      "lower": 0.82168946,
      "upper": 0.91945483,
      "confidence": 0.95,
      "unit": "ratio",
      "split": "final_90_days"
    },
    {
      "model": "rfm_rule",
      "name": "count_poisson_deviance",
      "estimate": 1.32796439,
      "lower": 1.26632446,
      "upper": 1.39908656,
      "confidence": 0.95,
      "unit": "Poisson deviance",
      "split": "final_90_days"
    },
    {
      "model": "rfm_rule",
      "name": "count_mae",
      "estimate": 0.83071333,
      "lower": 0.80246246,
      "upper": 0.85968699,
      "confidence": 0.95,
      "unit": "purchase days per customer-cutoff",
      "split": "final_90_days"
    },
    {
      "model": "rfm_rule",
      "name": "purchase_brier",
      "estimate": 0.1870613,
      "lower": 0.18343902,
      "upper": 0.1907865,
      "confidence": 0.95,
      "unit": "proportion",
      "split": "final_90_days"
    },
    {
      "model": "rfm_rule",
      "name": "purchase_log_loss",
      "estimate": 0.55787087,
      "lower": 0.54984124,
      "upper": 0.56655571,
      "confidence": 0.95,
      "unit": "natural-log units",
      "split": "final_90_days"
    },
    {
      "model": "rfm_rule",
      "name": "count_ratio",
      "estimate": 1.32875631,
      "lower": 1.2712863,
      "upper": 1.38504325,
      "confidence": 0.95,
      "unit": "ratio",
      "split": "final_90_days"
    },
    {
      "model": "rfm_rule",
      "name": "spend_mae",
      "estimate": 605.20798343,
      "lower": 556.73893692,
      "upper": 666.94267724,
      "confidence": 0.95,
      "unit": "GBP per customer-cutoff",
      "split": "final_90_days"
    },
    {
      "model": "rfm_rule",
      "name": "spend_ratio",
      "estimate": 1.48471062,
      "lower": 1.26658538,
      "upper": 1.71192246,
      "confidence": 0.95,
      "unit": "ratio",
      "split": "final_90_days"
    },
    {
      "model": "bgnbd",
      "name": "count_poisson_deviance",
      "estimate": 0.98976761,
      "lower": 0.96306794,
      "upper": 1.01778355,
      "confidence": 0.95,
      "unit": "Poisson deviance",
      "split": "final_90_days"
    },
    {
      "model": "bgnbd",
      "name": "count_mae",
      "estimate": 0.62056301,
      "lower": 0.60390396,
      "upper": 0.63752009,
      "confidence": 0.95,
      "unit": "purchase days per customer-cutoff",
      "split": "final_90_days"
    },
    {
      "model": "bgnbd",
      "name": "purchase_brier",
      "estimate": 0.16954832,
      "lower": 0.16558379,
      "upper": 0.17375028,
      "confidence": 0.95,
      "unit": "proportion",
      "split": "final_90_days"
    },
    {
      "model": "bgnbd",
      "name": "purchase_log_loss",
      "estimate": 0.51407273,
      "lower": 0.50446903,
      "upper": 0.52406178,
      "confidence": 0.95,
      "unit": "natural-log units",
      "split": "final_90_days"
    },
    {
      "model": "bgnbd",
      "name": "count_ratio",
      "estimate": 1.05543599,
      "lower": 1.02878964,
      "upper": 1.08205078,
      "confidence": 0.95,
      "unit": "ratio",
      "split": "final_90_days"
    },
    {
      "model": "bgnbd",
      "name": "spend_mae",
      "estimate": 321.84298908,
      "lower": 294.32857367,
      "upper": 358.40092455,
      "confidence": 0.95,
      "unit": "GBP per customer-cutoff",
      "split": "final_90_days"
    },
    {
      "model": "bgnbd",
      "name": "spend_ratio",
      "estimate": 0.9484116,
      "lower": 0.88451789,
      "upper": 1.00927407,
      "confidence": 0.95,
      "unit": "ratio",
      "split": "final_90_days"
    },
    {
      "model": "bgnbd",
      "name": "count_coverage_90",
      "estimate": 0.97755074,
      "lower": 0.97492192,
      "upper": 0.98013082,
      "confidence": 0.95,
      "unit": "proportion",
      "split": "final_90_days"
    },
    {
      "model": "bgnbd",
      "name": "count_interval_width",
      "estimate": 2.41131498,
      "lower": 2.36491216,
      "upper": 2.45790069,
      "confidence": 0.95,
      "unit": "purchase days per customer-cutoff",
      "split": "final_90_days"
    },
    {
      "model": "bgnbd",
      "name": "spend_coverage_90",
      "estimate": 0.96246872,
      "lower": 0.95928356,
      "upper": 0.96543719,
      "confidence": 0.95,
      "unit": "proportion",
      "split": "final_90_days"
    },
    {
      "model": "bgnbd",
      "name": "spend_interval_width",
      "estimate": 1237.61555621,
      "lower": 1170.14555541,
      "upper": 1320.63502371,
      "confidence": 0.95,
      "unit": "GBP per customer-cutoff",
      "split": "final_90_days"
    },
    {
      "model": "boosting",
      "name": "count_poisson_deviance",
      "estimate": 1.07158219,
      "lower": 1.05097873,
      "upper": 1.09339845,
      "confidence": 0.95,
      "unit": "Poisson deviance",
      "split": "final_90_days"
    },
    {
      "model": "boosting",
      "name": "count_mae",
      "estimate": 0.69809136,
      "lower": 0.68382805,
      "upper": 0.71285884,
      "confidence": 0.95,
      "unit": "purchase days per customer-cutoff",
      "split": "final_90_days"
    },
    {
      "model": "boosting",
      "name": "purchase_brier",
      "estimate": 0.18992494,
      "lower": 0.18645493,
      "upper": 0.19336863,
      "confidence": 0.95,
      "unit": "proportion",
      "split": "final_90_days"
    },
    {
      "model": "boosting",
      "name": "purchase_log_loss",
      "estimate": 0.55833869,
      "lower": 0.55010257,
      "upper": 0.56629791,
      "confidence": 0.95,
      "unit": "natural-log units",
      "split": "final_90_days"
    },
    {
      "model": "boosting",
      "name": "count_ratio",
      "estimate": 1.30260646,
      "lower": 1.27061108,
      "upper": 1.33647777,
      "confidence": 0.95,
      "unit": "ratio",
      "split": "final_90_days"
    },
    {
      "model": "boosting",
      "name": "spend_mae",
      "estimate": 369.54456564,
      "lower": 342.80044116,
      "upper": 406.78180068,
      "confidence": 0.95,
      "unit": "GBP per customer-cutoff",
      "split": "final_90_days"
    },
    {
      "model": "boosting",
      "name": "spend_ratio",
      "estimate": 1.22662184,
      "lower": 1.12721331,
      "upper": 1.32719524,
      "confidence": 0.95,
      "unit": "ratio",
      "split": "final_90_days"
    },
    {
      "model": "boosting",
      "name": "count_coverage_90",
      "estimate": 0.98422296,
      "lower": 0.98205824,
      "upper": 0.98642267,
      "confidence": 0.95,
      "unit": "proportion",
      "split": "final_90_days"
    },
    {
      "model": "boosting",
      "name": "count_interval_width",
      "estimate": 2.81971087,
      "lower": 2.7910031,
      "upper": 2.84922563,
      "confidence": 0.95,
      "unit": "purchase days per customer-cutoff",
      "split": "final_90_days"
    },
    {
      "model": "boosting",
      "name": "spend_coverage_90",
      "estimate": 0.9175702,
      "lower": 0.91310944,
      "upper": 0.92205104,
      "confidence": 0.95,
      "unit": "proportion",
      "split": "final_90_days"
    },
    {
      "model": "boosting",
      "name": "spend_interval_width",
      "estimate": 984.33722413,
      "lower": 910.39817634,
      "upper": 1080.53934604,
      "confidence": 0.95,
      "unit": "GBP per customer-cutoff",
      "split": "final_90_days"
    }
  ],
  "uncertainty": "1,000 paired customer-cluster bootstrap draws with all final windows retained per sampled customer; 95% percentile intervals condition on fitted models. BG/NBD predictive distributions use 2,000 draws/customer; 90% challenger residual bands use separate December calibration customers.",
  "assumptions": [
    "First observed purchase approximates the start of the customer relationship; actual acquisition is unavailable.",
    "BG/NBD latent activity is not observed churn; zero-repeat histories have model alive probability one.",
    "Gamma-Gamma assumes stable customer spend and independence from purchasing frequency.",
    "Contact cost and contribution margin are hypothetical; break-even assumes one incremental purchase occasion and does not measure campaign lift."
  ],
  "limitations": [
    "Older single-retailer giftware and wholesale behavior may not transfer to a current consumer business.",
    "Missing IDs, overlapping sheets, repeated line ambiguity and cancellations materially affect accounting.",
    "Positive-purchase spend excludes returns and is not profit or net realized revenue.",
    "Seasonality, refitting and customer dependence undermine guaranteed predictive interval coverage.",
    "Only three primary final windows are observed; unseen future shocks and parameter uncertainty remain unresolved.",
    "No randomized win-back intervention or observed permanent churn label is available.",
    "Independent technical review is pending."
  ],
  "tables": {
    "audit": {
      "raw_rows": 1067371,
      "primary_rows": 1033036,
      "multiset_rows": 1044848,
      "within_sheet_duplicates": [
        6865,
        5268
      ],
      "overlapping_distinct_rows": 22202,
      "missing_customer_rows": 235151,
      "missing_descriptions": 4275,
      "positive_purchase_days": 33107,
      "positive_customers": 5878,
      "positive_spend_gbp": 17374804.268,
      "signed_net_spend_gbp": 16289991.288,
      "source_first_date": "2009-12-01 07:45:00",
      "source_last_date": "2011-12-09 12:50:00"
    },
    "selected_leaves": 7,
    "tuning": [
      {
        "leaves": 7,
        "validation_90_day_deviance": 1.50118399
      },
      {
        "leaves": 15,
        "validation_90_day_deviance": 1.53242577
      }
    ],
    "interval_calibration_quantiles": {
      "30": {
        "count": 0.61775392,
        "spend": 1.0
      },
      "60": {
        "count": 0.8340784,
        "spend": 1.0
      },
      "90": {
        "count": 1.08338748,
        "spend": 1.0
      }
    },
    "calibration_observations": 5958,
    "fit_information": [
      {
        "cutoff": "2011-03-01",
        "history_customers": 4410,
        "supervised_training_rows": 26709,
        "latest_label_end": "2011-03-01 00:00:00",
        "bgnbd_parameters": {
          "r": 0.73454693,
          "alpha_weeks": 9.8580733,
          "a": 0.12728998,
          "b": 5.69151321
        },
        "bgnbd_fit": {
          "objective": 10.53580109,
          "converged_starts": 3,
          "attempted_starts": 3,
          "iterations": 19,
          "boundary_parameters": []
        },
        "gamma_gamma_parameters": {
          "p": 2.22778971,
          "q": 3.50785611,
          "gamma_in_hundreds_gbp": 4.68299201
        },
        "gamma_gamma_fit": {
          "objective": 2.21306691,
          "converged_starts": 3,
          "attempted_starts": 3,
          "iterations": 11,
          "boundary_parameters": []
        },
        "repeat_spend_customers": 2968,
        "frequency_spend_pearson": 0.16125591,
        "frequency_spend_spearman": 0.22747014,
        "quadrature_max_absolute_difference": 0.0
      },
      {
        "cutoff": "2011-06-01",
        "history_customers": 4823,
        "supervised_training_rows": 39939,
        "latest_label_end": "2011-05-30 00:00:00",
        "bgnbd_parameters": {
          "r": 0.68029114,
          "alpha_weeks": 9.41299329,
          "a": 0.15664669,
          "b": 3.30220752
        },
        "bgnbd_fit": {
          "objective": 11.89039665,
          "converged_starts": 3,
          "attempted_starts": 3,
          "iterations": 22,
          "boundary_parameters": []
        },
        "gamma_gamma_parameters": {
          "p": 2.37620414,
          "q": 3.48955993,
          "gamma_in_hundreds_gbp": 4.25444717
        },
        "gamma_gamma_fit": {
          "objective": 2.17685728,
          "converged_starts": 3,
          "attempted_starts": 3,
          "iterations": 13,
          "boundary_parameters": []
        },
        "repeat_spend_customers": 3306,
        "frequency_spend_pearson": 0.13018147,
        "frequency_spend_spearman": 0.25345039,
        "quadrature_max_absolute_difference": 0.0
      },
      {
        "cutoff": "2011-09-01",
        "history_customers": 5155,
        "supervised_training_rows": 54408,
        "latest_label_end": "2011-08-30 00:00:00",
        "bgnbd_parameters": {
          "r": 0.63806446,
          "alpha_weeks": 9.00620327,
          "a": 0.18122777,
          "b": 2.93641081
        },
        "bgnbd_fit": {
          "objective": 13.25991405,
          "converged_starts": 3,
          "attempted_starts": 3,
          "iterations": 17,
          "boundary_parameters": []
        },
        "gamma_gamma_parameters": {
          "p": 2.24619123,
          "q": 3.50001995,
          "gamma_in_hundreds_gbp": 4.43014848
        },
        "gamma_gamma_fit": {
          "objective": 2.15194749,
          "converged_starts": 3,
          "attempted_starts": 3,
          "iterations": 18,
          "boundary_parameters": []
        },
        "repeat_spend_customers": 3583,
        "frequency_spend_pearson": 0.13583056,
        "frequency_spend_spearman": 0.27718623,
        "quadrature_max_absolute_difference": 0.0
      }
    ],
    "metrics": [
      {
        "model": "recent_rule",
        "name": "count_poisson_deviance",
        "estimate": 7.41900583,
        "lower": 7.09806486,
        "upper": 7.73224743,
        "confidence": 0.95,
        "unit": "Poisson deviance",
        "split": "final_90_days"
      },
      {
        "model": "recent_rule",
        "name": "count_mae",
        "estimate": 0.58361134,
        "lower": 0.56545699,
        "upper": 0.60239665,
        "confidence": 0.95,
        "unit": "purchase days per customer-cutoff",
        "split": "final_90_days"
      },
      {
        "model": "recent_rule",
        "name": "purchase_brier",
        "estimate": 0.22584651,
        "lower": 0.21905097,
        "upper": 0.23344623,
        "confidence": 0.95,
        "unit": "proportion",
        "split": "final_90_days"
      },
      {
        "model": "recent_rule",
        "name": "purchase_log_loss",
        "estimate": 2.89428694,
        "lower": 2.7972511,
        "upper": 3.00055626,
        "confidence": 0.95,
        "unit": "natural-log units",
        "split": "final_90_days"
      },
      {
        "model": "recent_rule",
        "name": "count_ratio",
        "estimate": 0.93178163,
        "lower": 0.91535141,
        "upper": 0.94860281,
        "confidence": 0.95,
        "unit": "ratio",
        "split": "final_90_days"
      },
      {
        "model": "recent_rule",
        "name": "spend_mae",
        "estimate": 315.80848714,
        "lower": 286.95331502,
        "upper": 352.75637042,
        "confidence": 0.95,
        "unit": "GBP per customer-cutoff",
        "split": "final_90_days"
      },
      {
        "model": "recent_rule",
        "name": "spend_ratio",
        "estimate": 0.86741058,
        "lower": 0.82168946,
        "upper": 0.91945483,
        "confidence": 0.95,
        "unit": "ratio",
        "split": "final_90_days"
      },
      {
        "model": "rfm_rule",
        "name": "count_poisson_deviance",
        "estimate": 1.32796439,
        "lower": 1.26632446,
        "upper": 1.39908656,
        "confidence": 0.95,
        "unit": "Poisson deviance",
        "split": "final_90_days"
      },
      {
        "model": "rfm_rule",
        "name": "count_mae",
        "estimate": 0.83071333,
        "lower": 0.80246246,
        "upper": 0.85968699,
        "confidence": 0.95,
        "unit": "purchase days per customer-cutoff",
        "split": "final_90_days"
      },
      {
        "model": "rfm_rule",
        "name": "purchase_brier",
        "estimate": 0.1870613,
        "lower": 0.18343902,
        "upper": 0.1907865,
        "confidence": 0.95,
        "unit": "proportion",
        "split": "final_90_days"
      },
      {
        "model": "rfm_rule",
        "name": "purchase_log_loss",
        "estimate": 0.55787087,
        "lower": 0.54984124,
        "upper": 0.56655571,
        "confidence": 0.95,
        "unit": "natural-log units",
        "split": "final_90_days"
      },
      {
        "model": "rfm_rule",
        "name": "count_ratio",
        "estimate": 1.32875631,
        "lower": 1.2712863,
        "upper": 1.38504325,
        "confidence": 0.95,
        "unit": "ratio",
        "split": "final_90_days"
      },
      {
        "model": "rfm_rule",
        "name": "spend_mae",
        "estimate": 605.20798343,
        "lower": 556.73893692,
        "upper": 666.94267724,
        "confidence": 0.95,
        "unit": "GBP per customer-cutoff",
        "split": "final_90_days"
      },
      {
        "model": "rfm_rule",
        "name": "spend_ratio",
        "estimate": 1.48471062,
        "lower": 1.26658538,
        "upper": 1.71192246,
        "confidence": 0.95,
        "unit": "ratio",
        "split": "final_90_days"
      },
      {
        "model": "bgnbd",
        "name": "count_poisson_deviance",
        "estimate": 0.98976761,
        "lower": 0.96306794,
        "upper": 1.01778355,
        "confidence": 0.95,
        "unit": "Poisson deviance",
        "split": "final_90_days"
      },
      {
        "model": "bgnbd",
        "name": "count_mae",
        "estimate": 0.62056301,
        "lower": 0.60390396,
        "upper": 0.63752009,
        "confidence": 0.95,
        "unit": "purchase days per customer-cutoff",
        "split": "final_90_days"
      },
      {
        "model": "bgnbd",
        "name": "purchase_brier",
        "estimate": 0.16954832,
        "lower": 0.16558379,
        "upper": 0.17375028,
        "confidence": 0.95,
        "unit": "proportion",
        "split": "final_90_days"
      },
      {
        "model": "bgnbd",
        "name": "purchase_log_loss",
        "estimate": 0.51407273,
        "lower": 0.50446903,
        "upper": 0.52406178,
        "confidence": 0.95,
        "unit": "natural-log units",
        "split": "final_90_days"
      },
      {
        "model": "bgnbd",
        "name": "count_ratio",
        "estimate": 1.05543599,
        "lower": 1.02878964,
        "upper": 1.08205078,
        "confidence": 0.95,
        "unit": "ratio",
        "split": "final_90_days"
      },
      {
        "model": "bgnbd",
        "name": "spend_mae",
        "estimate": 321.84298908,
        "lower": 294.32857367,
        "upper": 358.40092455,
        "confidence": 0.95,
        "unit": "GBP per customer-cutoff",
        "split": "final_90_days"
      },
      {
        "model": "bgnbd",
        "name": "spend_ratio",
        "estimate": 0.9484116,
        "lower": 0.88451789,
        "upper": 1.00927407,
        "confidence": 0.95,
        "unit": "ratio",
        "split": "final_90_days"
      },
      {
        "model": "bgnbd",
        "name": "count_coverage_90",
        "estimate": 0.97755074,
        "lower": 0.97492192,
        "upper": 0.98013082,
        "confidence": 0.95,
        "unit": "proportion",
        "split": "final_90_days"
      },
      {
        "model": "bgnbd",
        "name": "count_interval_width",
        "estimate": 2.41131498,
        "lower": 2.36491216,
        "upper": 2.45790069,
        "confidence": 0.95,
        "unit": "purchase days per customer-cutoff",
        "split": "final_90_days"
      },
      {
        "model": "bgnbd",
        "name": "spend_coverage_90",
        "estimate": 0.96246872,
        "lower": 0.95928356,
        "upper": 0.96543719,
        "confidence": 0.95,
        "unit": "proportion",
        "split": "final_90_days"
      },
      {
        "model": "bgnbd",
        "name": "spend_interval_width",
        "estimate": 1237.61555621,
        "lower": 1170.14555541,
        "upper": 1320.63502371,
        "confidence": 0.95,
        "unit": "GBP per customer-cutoff",
        "split": "final_90_days"
      },
      {
        "model": "boosting",
        "name": "count_poisson_deviance",
        "estimate": 1.07158219,
        "lower": 1.05097873,
        "upper": 1.09339845,
        "confidence": 0.95,
        "unit": "Poisson deviance",
        "split": "final_90_days"
      },
      {
        "model": "boosting",
        "name": "count_mae",
        "estimate": 0.69809136,
        "lower": 0.68382805,
        "upper": 0.71285884,
        "confidence": 0.95,
        "unit": "purchase days per customer-cutoff",
        "split": "final_90_days"
      },
      {
        "model": "boosting",
        "name": "purchase_brier",
        "estimate": 0.18992494,
        "lower": 0.18645493,
        "upper": 0.19336863,
        "confidence": 0.95,
        "unit": "proportion",
        "split": "final_90_days"
      },
      {
        "model": "boosting",
        "name": "purchase_log_loss",
        "estimate": 0.55833869,
        "lower": 0.55010257,
        "upper": 0.56629791,
        "confidence": 0.95,
        "unit": "natural-log units",
        "split": "final_90_days"
      },
      {
        "model": "boosting",
        "name": "count_ratio",
        "estimate": 1.30260646,
        "lower": 1.27061108,
        "upper": 1.33647777,
        "confidence": 0.95,
        "unit": "ratio",
        "split": "final_90_days"
      },
      {
        "model": "boosting",
        "name": "spend_mae",
        "estimate": 369.54456564,
        "lower": 342.80044116,
        "upper": 406.78180068,
        "confidence": 0.95,
        "unit": "GBP per customer-cutoff",
        "split": "final_90_days"
      },
      {
        "model": "boosting",
        "name": "spend_ratio",
        "estimate": 1.22662184,
        "lower": 1.12721331,
        "upper": 1.32719524,
        "confidence": 0.95,
        "unit": "ratio",
        "split": "final_90_days"
      },
      {
        "model": "boosting",
        "name": "count_coverage_90",
        "estimate": 0.98422296,
        "lower": 0.98205824,
        "upper": 0.98642267,
        "confidence": 0.95,
        "unit": "proportion",
        "split": "final_90_days"
      },
      {
        "model": "boosting",
        "name": "count_interval_width",
        "estimate": 2.81971087,
        "lower": 2.7910031,
        "upper": 2.84922563,
        "confidence": 0.95,
        "unit": "purchase days per customer-cutoff",
        "split": "final_90_days"
      },
      {
        "model": "boosting",
        "name": "spend_coverage_90",
        "estimate": 0.9175702,
        "lower": 0.91310944,
        "upper": 0.92205104,
        "confidence": 0.95,
        "unit": "proportion",
        "split": "final_90_days"
      },
      {
        "model": "boosting",
        "name": "spend_interval_width",
        "estimate": 984.33722413,
        "lower": 910.39817634,
        "upper": 1080.53934604,
        "confidence": 0.95,
        "unit": "GBP per customer-cutoff",
        "split": "final_90_days"
      }
    ],
    "primary_difference": {
      "comparison": "boosting minus bgnbd",
      "metric": "count_poisson_deviance",
      "estimate": 0.08181459,
      "lower": 0.06794617,
      "upper": 0.09596163,
      "draws": 1000,
      "unique_customers": 5155
    },
    "windows": [
      {
        "cutoff": "2011-03-01",
        "horizon_days": 30,
        "model": "recent_rule",
        "observations": 4410,
        "purchasers": 742,
        "actual_purchase_days": 952,
        "observed_gross_spend_gbp": 486236.13,
        "count_poisson_deviance": 2.40525757,
        "count_mae": 0.2462585,
        "purchase_brier": 0.12491321,
        "purchase_log_loss": 1.28361324,
        "count_ratio": 1.03431373,
        "spend_mae": 121.29704989,
        "spend_ratio": 1.05574517
      },
      {
        "cutoff": "2011-03-01",
        "horizon_days": 30,
        "model": "rfm_rule",
        "observations": 4410,
        "purchasers": 742,
        "actual_purchase_days": 952,
        "observed_gross_spend_gbp": 486236.13,
        "count_poisson_deviance": 0.69056713,
        "count_mae": 0.37794937,
        "purchase_brier": 0.12877631,
        "purchase_log_loss": 0.41647354,
        "count_ratio": 1.6950646,
        "spend_mae": 229.3080605,
        "spend_ratio": 1.96919776
      },
      {
        "cutoff": "2011-03-01",
        "horizon_days": 30,
        "model": "bgnbd",
        "observations": 4410,
        "purchasers": 742,
        "actual_purchase_days": 952,
        "observed_gross_spend_gbp": 486236.13,
        "count_poisson_deviance": 0.56520586,
        "count_mae": 0.30285561,
        "purchase_brier": 0.11294917,
        "purchase_log_loss": 0.37375445,
        "count_ratio": 1.33711944,
        "spend_mae": 137.9546348,
        "spend_ratio": 1.29218019,
        "count_coverage_90": 0.99342404,
        "count_interval_width": 1.28503401,
        "spend_coverage_90": 0.97687075,
        "spend_interval_width": 634.84747597
      },
      {
        "cutoff": "2011-03-01",
        "horizon_days": 30,
        "model": "boosting",
        "observations": 4410,
        "purchasers": 742,
        "actual_purchase_days": 952,
        "observed_gross_spend_gbp": 486236.13,
        "count_poisson_deviance": 0.6971147,
        "count_mae": 0.39376986,
        "purchase_brier": 0.13762348,
        "purchase_log_loss": 0.4463216,
        "count_ratio": 1.98561921,
        "spend_mae": 185.20852944,
        "spend_ratio": 1.93460355,
        "count_coverage_90": 0.99569161,
        "count_interval_width": 1.62743764,
        "spend_coverage_90": 0.94716553,
        "spend_interval_width": 426.60958854
      },
      {
        "cutoff": "2011-03-01",
        "horizon_days": 60,
        "model": "recent_rule",
        "observations": 4410,
        "purchasers": 1210,
        "actual_purchase_days": 1879,
        "observed_gross_spend_gbp": 902545.191,
        "count_poisson_deviance": 4.63947358,
        "count_mae": 0.41005291,
        "purchase_brier": 0.18687569,
        "purchase_log_loss": 2.1811483,
        "count_ratio": 1.04807522,
        "spend_mae": 205.16410227,
        "spend_ratio": 1.13754181
      },
      {
        "cutoff": "2011-03-01",
        "horizon_days": 60,
        "model": "rfm_rule",
        "observations": 4410,
        "purchasers": 1210,
        "actual_purchase_days": 1879,
        "observed_gross_spend_gbp": 902545.191,
        "count_poisson_deviance": 1.03762322,
        "count_mae": 0.62852801,
        "purchase_brier": 0.17732104,
        "purchase_log_loss": 0.53730618,
        "count_ratio": 1.67958068,
        "spend_mae": 467.13603497,
        "spend_ratio": 2.41454089
      },
      {
        "cutoff": "2011-03-01",
        "horizon_days": 60,
        "model": "bgnbd",
        "observations": 4410,
        "purchasers": 1210,
        "actual_purchase_days": 1879,
        "observed_gross_spend_gbp": 902545.191,
        "count_poisson_deviance": 0.79854411,
        "count_mae": 0.47385729,
        "purchase_brier": 0.15415478,
        "purchase_log_loss": 0.47914619,
        "count_ratio": 1.35087659,
        "spend_mae": 228.47277531,
        "spend_ratio": 1.38813838,
        "count_coverage_90": 0.99138322,
        "count_interval_width": 1.97596372,
        "spend_coverage_90": 0.98163265,
        "spend_interval_width": 1045.71455469
      },
      {
        "cutoff": "2011-03-01",
        "horizon_days": 60,
        "model": "boosting",
        "observations": 4410,
        "purchasers": 1210,
        "actual_purchase_days": 1879,
        "observed_gross_spend_gbp": 902545.191,
        "count_poisson_deviance": 1.00338531,
        "count_mae": 0.59994896,
        "purchase_brier": 0.2041686,
        "purchase_log_loss": 0.59450048,
        "count_ratio": 1.87124157,
        "spend_mae": 299.50780569,
        "spend_ratio": 1.94986116,
        "count_coverage_90": 0.99138322,
        "count_interval_width": 2.36553288,
        "spend_coverage_90": 0.95804989,
        "spend_interval_width": 798.11238503
      },
      {
        "cutoff": "2011-03-01",
        "horizon_days": 90,
        "model": "recent_rule",
        "observations": 4410,
        "purchasers": 1545,
        "actual_purchase_days": 2946,
        "observed_gross_spend_gbp": 1469807.671,
        "count_poisson_deviance": 7.15176311,
        "count_mae": 0.56099773,
        "purchase_brier": 0.2265487,
        "purchase_log_loss": 2.88033759,
        "count_ratio": 1.00271555,
        "spend_mae": 284.67631542,
        "spend_ratio": 1.04777269
      },
      {
        "cutoff": "2011-03-01",
        "horizon_days": 90,
        "model": "rfm_rule",
        "observations": 4410,
        "purchasers": 1545,
        "actual_purchase_days": 2946,
        "observed_gross_spend_gbp": 1469807.671,
        "count_poisson_deviance": 1.36123116,
        "count_mae": 0.86291361,
        "purchase_brier": 0.19774521,
        "purchase_log_loss": 0.58192846,
        "count_ratio": 1.63644169,
        "spend_mae": 671.12717024,
        "spend_ratio": 2.18309331
      },
      {
        "cutoff": "2011-03-01",
        "horizon_days": 90,
        "model": "bgnbd",
        "observations": 4410,
        "purchasers": 1545,
        "actual_purchase_days": 2946,
        "observed_gross_spend_gbp": 1469807.671,
        "count_poisson_deviance": 0.99981622,
        "count_mae": 0.63381824,
        "purchase_brier": 0.17215844,
        "purchase_log_loss": 0.52109644,
        "count_ratio": 1.28870352,
        "spend_mae": 309.9283237,
        "spend_ratio": 1.27491001,
        "count_coverage_90": 0.98662132,
        "count_interval_width": 2.6430839,
        "spend_coverage_90": 0.97868481,
        "spend_interval_width": 1382.2729579
      },
      {
        "cutoff": "2011-03-01",
        "horizon_days": 90,
        "model": "boosting",
        "observations": 4410,
        "purchasers": 1545,
        "actual_purchase_days": 2946,
        "observed_gross_spend_gbp": 1469807.671,
        "count_poisson_deviance": 1.23998808,
        "count_mae": 0.78423601,
        "purchase_brier": 0.22769736,
        "purchase_log_loss": 0.64423412,
        "count_ratio": 1.71407103,
        "spend_mae": 400.57040882,
        "spend_ratio": 1.72948982,
        "count_coverage_90": 0.98911565,
        "count_interval_width": 3.07573696,
        "spend_coverage_90": 0.96145125,
        "spend_interval_width": 1152.8423575
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 30,
        "model": "recent_rule",
        "observations": 4823,
        "purchasers": 857,
        "actual_purchase_days": 1099,
        "observed_gross_spend_gbp": 566604.54,
        "count_poisson_deviance": 2.19780999,
        "count_mae": 0.25357661,
        "purchase_brier": 0.12431599,
        "purchase_log_loss": 1.16364472,
        "count_ratio": 1.03609342,
        "spend_mae": 123.49439014,
        "spend_ratio": 0.96822277
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 30,
        "model": "rfm_rule",
        "observations": 4823,
        "purchasers": 857,
        "actual_purchase_days": 1099,
        "observed_gross_spend_gbp": 566604.54,
        "count_poisson_deviance": 0.66469087,
        "count_mae": 0.35205756,
        "purchase_brier": 0.1249289,
        "purchase_log_loss": 0.40159102,
        "count_ratio": 1.45383388,
        "spend_mae": 214.46392558,
        "spend_ratio": 1.62031096
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 30,
        "model": "bgnbd",
        "observations": 4823,
        "purchasers": 857,
        "actual_purchase_days": 1099,
        "observed_gross_spend_gbp": 566604.54,
        "count_poisson_deviance": 0.53184291,
        "count_mae": 0.28149547,
        "purchase_brier": 0.11153834,
        "purchase_log_loss": 0.36443631,
        "count_ratio": 1.129295,
        "spend_mae": 130.05651042,
        "spend_ratio": 1.07305731,
        "count_coverage_90": 0.99191375,
        "count_interval_width": 1.17561684,
        "spend_coverage_90": 0.9765706,
        "spend_interval_width": 551.99181076
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 30,
        "model": "boosting",
        "observations": 4823,
        "purchasers": 857,
        "actual_purchase_days": 1099,
        "observed_gross_spend_gbp": 566604.54,
        "count_poisson_deviance": 0.56345116,
        "count_mae": 0.31322122,
        "purchase_brier": 0.11539568,
        "purchase_log_loss": 0.37921517,
        "count_ratio": 1.37173062,
        "spend_mae": 146.53984969,
        "spend_ratio": 1.24470785,
        "count_coverage_90": 0.99398714,
        "count_interval_width": 1.35558781,
        "spend_coverage_90": 0.91063653,
        "spend_interval_width": 292.45578139
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 60,
        "model": "recent_rule",
        "observations": 4823,
        "purchasers": 1313,
        "actual_purchase_days": 2093,
        "observed_gross_spend_gbp": 1070466.81,
        "count_poisson_deviance": 3.78752936,
        "count_mae": 0.40092612,
        "purchase_brier": 0.16938848,
        "purchase_log_loss": 1.79196445,
        "count_ratio": 1.08807135,
        "spend_mae": 194.98896482,
        "spend_ratio": 1.02497231
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 60,
        "model": "rfm_rule",
        "observations": 4823,
        "purchasers": 1313,
        "actual_purchase_days": 2093,
        "observed_gross_spend_gbp": 1070466.81,
        "count_poisson_deviance": 0.96462293,
        "count_mae": 0.57358592,
        "purchase_brier": 0.15955235,
        "purchase_log_loss": 0.49318714,
        "count_ratio": 1.49439488,
        "spend_mae": 385.24183336,
        "spend_ratio": 1.72555212
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 60,
        "model": "bgnbd",
        "observations": 4823,
        "purchasers": 1313,
        "actual_purchase_days": 2093,
        "observed_gross_spend_gbp": 1070466.81,
        "count_poisson_deviance": 0.7110137,
        "count_mae": 0.42749338,
        "purchase_brier": 0.14133596,
        "purchase_log_loss": 0.44332996,
        "count_ratio": 1.1809639,
        "spend_mae": 202.66106362,
        "spend_ratio": 1.13131103,
        "count_coverage_90": 0.99046237,
        "count_interval_width": 1.85569148,
        "spend_coverage_90": 0.9807174,
        "spend_interval_width": 923.09721039
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 60,
        "model": "boosting",
        "observations": 4823,
        "purchasers": 1313,
        "actual_purchase_days": 2093,
        "observed_gross_spend_gbp": 1070466.81,
        "count_poisson_deviance": 0.75812691,
        "count_mae": 0.46652426,
        "purchase_brier": 0.15342529,
        "purchase_log_loss": 0.47272858,
        "count_ratio": 1.34690077,
        "spend_mae": 232.33138696,
        "spend_ratio": 1.24713519,
        "count_coverage_90": 0.99212109,
        "count_interval_width": 2.14804064,
        "spend_coverage_90": 0.91830811,
        "spend_interval_width": 553.60432238
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 90,
        "model": "recent_rule",
        "observations": 4823,
        "purchasers": 1576,
        "actual_purchase_days": 3072,
        "observed_gross_spend_gbp": 1650680.63,
        "count_poisson_deviance": 5.38441427,
        "count_mae": 0.5361808,
        "purchase_brier": 0.19764793,
        "purchase_log_loss": 2.22204154,
        "count_ratio": 1.11197917,
        "spend_mae": 271.2812401,
        "spend_ratio": 0.9970422
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 90,
        "model": "rfm_rule",
        "observations": 4823,
        "purchasers": 1576,
        "actual_purchase_days": 3072,
        "observed_gross_spend_gbp": 1650680.63,
        "count_poisson_deviance": 1.28331829,
        "count_mae": 0.80836477,
        "purchase_brier": 0.1753746,
        "purchase_log_loss": 0.53288741,
        "count_ratio": 1.56327896,
        "spend_mae": 574.81907825,
        "spend_ratio": 1.71701229
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 90,
        "model": "bgnbd",
        "observations": 4823,
        "purchasers": 1576,
        "actual_purchase_days": 3072,
        "observed_gross_spend_gbp": 1650680.63,
        "count_poisson_deviance": 0.89380066,
        "count_mae": 0.56931708,
        "purchase_brier": 0.15282182,
        "purchase_log_loss": 0.47314895,
        "count_ratio": 1.20206048,
        "spend_mae": 282.33450718,
        "spend_ratio": 1.09617378,
        "count_coverage_90": 0.98673025,
        "count_interval_width": 2.37963923,
        "spend_coverage_90": 0.98133942,
        "spend_interval_width": 1225.02201771
      },
      {
        "cutoff": "2011-06-01",
        "horizon_days": 90,
        "model": "boosting",
        "observations": 4823,
        "purchasers": 1576,
        "actual_purchase_days": 3072,
        "observed_gross_spend_gbp": 1650680.63,
        "count_poisson_deviance": 0.94864646,
        "count_mae": 0.61519251,
        "purchase_brier": 0.16660278,
        "purchase_log_loss": 0.50512556,
        "count_ratio": 1.31025028,
        "spend_mae": 309.6341817,
        "spend_ratio": 1.15021181,
        "count_coverage_90": 0.98984035,
        "count_interval_width": 2.66141406,
        "spend_coverage_90": 0.91975949,
        "spend_interval_width": 787.3242214
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 30,
        "model": "recent_rule",
        "observations": 5155,
        "purchasers": 1050,
        "actual_purchase_days": 1339,
        "observed_gross_spend_gbp": 836813.072,
        "count_poisson_deviance": 2.82554674,
        "count_mae": 0.25935984,
        "purchase_brier": 0.1397337,
        "purchase_log_loss": 1.45740563,
        "count_ratio": 0.86582026,
        "spend_mae": 154.45798739,
        "spend_ratio": 0.72567495
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 30,
        "model": "rfm_rule",
        "observations": 5155,
        "purchasers": 1050,
        "actual_purchase_days": 1339,
        "observed_gross_spend_gbp": 836813.072,
        "count_poisson_deviance": 0.66882623,
        "count_mae": 0.34112437,
        "purchase_brier": 0.13472834,
        "purchase_log_loss": 0.42425635,
        "count_ratio": 1.12546896,
        "spend_mae": 225.71641556,
        "spend_ratio": 1.00150564
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 30,
        "model": "bgnbd",
        "observations": 5155,
        "purchasers": 1050,
        "actual_purchase_days": 1339,
        "observed_gross_spend_gbp": 836813.072,
        "count_poisson_deviance": 0.55973522,
        "count_mae": 0.28248593,
        "purchase_brier": 0.12516001,
        "purchase_log_loss": 0.39811058,
        "count_ratio": 0.92084661,
        "spend_mae": 158.35229131,
        "spend_ratio": 0.71996839,
        "count_coverage_90": 0.98331717,
        "count_interval_width": 1.06304559,
        "spend_coverage_90": 0.95169738,
        "spend_interval_width": 497.75425466
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 30,
        "model": "boosting",
        "observations": 5155,
        "purchasers": 1050,
        "actual_purchase_days": 1339,
        "observed_gross_spend_gbp": 836813.072,
        "count_poisson_deviance": 0.56524846,
        "count_mae": 0.31121824,
        "purchase_brier": 0.12355746,
        "purchase_log_loss": 0.39611122,
        "count_ratio": 1.13980501,
        "spend_mae": 178.08105001,
        "spend_ratio": 1.03094807,
        "count_coverage_90": 0.99359845,
        "count_interval_width": 1.33811833,
        "spend_coverage_90": 0.89388943,
        "spend_interval_width": 334.70836824
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 60,
        "model": "recent_rule",
        "observations": 5155,
        "purchasers": 1672,
        "actual_purchase_days": 2648,
        "observed_gross_spend_gbp": 1690451.092,
        "count_poisson_deviance": 5.58435202,
        "count_mae": 0.43246039,
        "purchase_brier": 0.20110755,
        "purchase_log_loss": 2.49043516,
        "count_ratio": 0.87562941,
        "spend_mae": 263.74300382,
        "spend_ratio": 0.71845235
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 60,
        "model": "rfm_rule",
        "observations": 5155,
        "purchasers": 1672,
        "actual_purchase_days": 2648,
        "observed_gross_spend_gbp": 1690451.092,
        "count_poisson_deviance": 0.96171992,
        "count_mae": 0.55289826,
        "purchase_brier": 0.17124276,
        "purchase_log_loss": 0.51836841,
        "count_ratio": 1.09991735,
        "spend_mae": 402.115795,
        "spend_ratio": 0.97493743
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 60,
        "model": "bgnbd",
        "observations": 5155,
        "purchasers": 1672,
        "actual_purchase_days": 2648,
        "observed_gross_spend_gbp": 1690451.092,
        "count_poisson_deviance": 0.78154324,
        "count_mae": 0.44730603,
        "purchase_brier": 0.16267293,
        "purchase_log_loss": 0.49587968,
        "count_ratio": 0.92697291,
        "spend_mae": 264.37293834,
        "spend_ratio": 0.70966962,
        "count_coverage_90": 0.9813773,
        "count_interval_width": 1.74742968,
        "spend_coverage_90": 0.9400582,
        "spend_interval_width": 844.96948202
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 60,
        "model": "boosting",
        "observations": 5155,
        "purchasers": 1672,
        "actual_purchase_days": 2648,
        "observed_gross_spend_gbp": 1690451.092,
        "count_poisson_deviance": 0.78362011,
        "count_mae": 0.48566891,
        "purchase_brier": 0.16198345,
        "purchase_log_loss": 0.49327003,
        "count_ratio": 1.14640145,
        "spend_mae": 289.08359585,
        "spend_ratio": 0.99531021,
        "count_coverage_90": 0.98913676,
        "count_interval_width": 2.10746848,
        "spend_coverage_90": 0.88380213,
        "spend_interval_width": 652.77332129
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 90,
        "model": "recent_rule",
        "observations": 5155,
        "purchasers": 2189,
        "actual_purchase_days": 4551,
        "observed_gross_spend_gbp": 2652539.522,
        "count_poisson_deviance": 9.55118343,
        "count_mae": 0.64733269,
        "purchase_brier": 0.2516283,
        "purchase_log_loss": 3.53517079,
        "count_ratio": 0.76422764,
        "spend_mae": 384.10097789,
        "spend_ratio": 0.68679951
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 90,
        "model": "rfm_rule",
        "observations": 5155,
        "purchasers": 2189,
        "actual_purchase_days": 4551,
        "observed_gross_spend_gbp": 2652539.522,
        "count_poisson_deviance": 1.34127606,
        "count_mae": 0.82407586,
        "purchase_brier": 0.18885547,
        "purchase_log_loss": 0.56066451,
        "count_ratio": 0.97127562,
        "spend_mae": 577.24718341,
        "spend_ratio": 0.95316563
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 90,
        "model": "bgnbd",
        "observations": 5155,
        "purchasers": 2189,
        "actual_purchase_days": 4551,
        "observed_gross_spend_gbp": 2652539.522,
        "count_poisson_deviance": 1.07095756,
        "count_mae": 0.65716894,
        "purchase_brier": 0.18296468,
        "purchase_log_loss": 0.54635222,
        "count_ratio": 0.8054609,
        "spend_mae": 368.99974611,
        "spend_ratio": 0.67554177,
        "count_coverage_90": 0.96120272,
        "count_interval_width": 2.24267701,
        "spend_coverage_90": 0.93094083,
        "spend_interval_width": 1125.64649604
      },
      {
        "cutoff": "2011-09-01",
        "horizon_days": 90,
        "model": "boosting",
        "observations": 5155,
        "purchasers": 2189,
        "actual_purchase_days": 4551,
        "observed_gross_spend_gbp": 2652539.522,
        "count_poisson_deviance": 1.04253255,
        "count_mae": 0.70195619,
        "purchase_brier": 0.17943153,
        "purchase_log_loss": 0.53464286,
        "count_ratio": 1.03109328,
        "spend_mae": 399.05451974,
        "spend_ratio": 0.99552606,
        "count_coverage_90": 0.97478177,
        "count_interval_width": 2.74878758,
        "spend_coverage_90": 0.87798254,
        "spend_interval_width": 1024.50911045
      }
    ],
    "cohort_profiles": [
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.23561301,
        "predicted_count": 0.22815309,
        "observed_purchase_probability": 0.18411176,
        "predicted_purchase_probability": 0.14902516,
        "latent_alive_probability": null,
        "observed_spend_gbp": 131.33540047,
        "predicted_spend_gbp": 116.01300695,
        "predicted_spend_per_purchase": 508.48755402,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.81588824,
          0.1529747,
          0.02078121,
          0.00618571,
          0.00236308,
          0.00180706
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.23561301,
        "predicted_count": 0.32794467,
        "observed_purchase_probability": 0.18411176,
        "predicted_purchase_probability": 0.23843669,
        "latent_alive_probability": null,
        "observed_spend_gbp": 131.33540047,
        "predicted_spend_gbp": 188.60464688,
        "predicted_spend_per_purchase": 575.11118766,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.81588824,
          0.1529747,
          0.02078121,
          0.00618571,
          0.00236308,
          0.00180706
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.23561301,
        "predicted_count": 0.26042859,
        "observed_purchase_probability": 0.18411176,
        "predicted_purchase_probability": 0.1875484,
        "latent_alive_probability": 0.91320594,
        "observed_spend_gbp": 131.33540047,
        "predicted_spend_gbp": 127.79974978,
        "predicted_spend_per_purchase": 490.7285744,
        "predicted_count_distribution": [
          0.81238876,
          0.14045281,
          0.03286753,
          0.00892998,
          0.00286475,
          0.00249618
        ],
        "observed_count_distribution": [
          0.81588824,
          0.1529747,
          0.02078121,
          0.00618571,
          0.00236308,
          0.00180706
        ],
        "count_coverage_90": 0.98929664,
        "count_interval_width": 1.16882124,
        "spend_coverage_90": 0.9677509,
        "spend_interval_width": 557.9550358
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.23561301,
        "predicted_count": 0.34223244,
        "observed_purchase_probability": 0.18411176,
        "predicted_purchase_probability": 0.26460064,
        "latent_alive_probability": null,
        "observed_spend_gbp": 131.33540047,
        "predicted_spend_gbp": 174.35655259,
        "predicted_spend_per_purchase": 509.46822134,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.81588824,
          0.1529747,
          0.02078121,
          0.00618571,
          0.00236308,
          0.00180706
        ],
        "count_coverage_90": 0.99437031,
        "count_interval_width": 1.43265221,
        "spend_coverage_90": 0.91583264,
        "spend_interval_width": 348.71310518
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.05230633,
        "predicted_count": 0.03222247,
        "observed_purchase_probability": 0.04921651,
        "predicted_purchase_probability": 0.02740218,
        "latent_alive_probability": null,
        "observed_spend_gbp": 17.02183646,
        "predicted_spend_gbp": 15.77952262,
        "predicted_spend_per_purchase": 489.70559589,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.95078349,
          0.04656809,
          0.00220702,
          0.0004414,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.05230633,
        "predicted_count": 0.10016332,
        "observed_purchase_probability": 0.04921651,
        "predicted_purchase_probability": 0.09245465,
        "latent_alive_probability": null,
        "observed_spend_gbp": 17.02183646,
        "predicted_spend_gbp": 38.18026576,
        "predicted_spend_per_purchase": 381.18013028,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.95078349,
          0.04656809,
          0.00220702,
          0.0004414,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.05230633,
        "predicted_count": 0.07384464,
        "observed_purchase_probability": 0.04921651,
        "predicted_purchase_probability": 0.06660555,
        "latent_alive_probability": 1.0,
        "observed_spend_gbp": 17.02183646,
        "predicted_spend_gbp": 30.09575311,
        "predicted_spend_per_purchase": 407.55501632,
        "predicted_count_distribution": [
          0.93328868,
          0.06039351,
          0.00556908,
          0.00064213,
          8.872e-05,
          1.788e-05
        ],
        "observed_count_distribution": [
          0.95078349,
          0.04656809,
          0.00220702,
          0.0004414,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.98521298,
        "count_interval_width": 0.59876407,
        "spend_coverage_90": 0.96932245,
        "spend_interval_width": 136.3778435
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.05230633,
        "predicted_count": 0.13462344,
        "observed_purchase_probability": 0.04921651,
        "predicted_purchase_probability": 0.12319597,
        "latent_alive_probability": null,
        "observed_spend_gbp": 17.02183646,
        "predicted_spend_gbp": 55.29182085,
        "predicted_spend_per_purchase": 410.71465891,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.95078349,
          0.04656809,
          0.00220702,
          0.0004414,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.99757228,
        "count_interval_width": 1.01920106,
        "spend_coverage_90": 0.95674244,
        "spend_interval_width": 110.58364171
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.157277,
        "predicted_count": 0.14684403,
        "observed_purchase_probability": 0.14538341,
        "predicted_purchase_probability": 0.11505237,
        "latent_alive_probability": null,
        "observed_spend_gbp": 63.20003928,
        "predicted_spend_gbp": 53.79734794,
        "predicted_spend_per_purchase": 366.35707282,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.85461659,
          0.13568075,
          0.00813772,
          0.00093897,
          0.00062598,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.157277,
        "predicted_count": 0.23079404,
        "observed_purchase_probability": 0.14538341,
        "predicted_purchase_probability": 0.20817279,
        "latent_alive_probability": null,
        "observed_spend_gbp": 63.20003928,
        "predicted_spend_gbp": 102.78839236,
        "predicted_spend_per_purchase": 445.36848691,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.85461659,
          0.13568075,
          0.00813772,
          0.00093897,
          0.00062598,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.157277,
        "predicted_count": 0.18333066,
        "observed_purchase_probability": 0.14538341,
        "predicted_purchase_probability": 0.15525542,
        "latent_alive_probability": 0.85352394,
        "observed_spend_gbp": 63.20003928,
        "predicted_spend_gbp": 70.02253722,
        "predicted_spend_per_purchase": 381.94667242,
        "predicted_count_distribution": [
          0.84474593,
          0.13161056,
          0.01999844,
          0.00303075,
          0.00050516,
          0.00010915
        ],
        "observed_count_distribution": [
          0.85461659,
          0.13568075,
          0.00813772,
          0.00093897,
          0.00062598,
          0.0
        ],
        "count_coverage_90": 0.9915493,
        "count_interval_width": 1.06338028,
        "spend_coverage_90": 0.9627543,
        "spend_interval_width": 444.34243916
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.157277,
        "predicted_count": 0.26933735,
        "observed_purchase_probability": 0.14538341,
        "predicted_purchase_probability": 0.23984093,
        "latent_alive_probability": null,
        "observed_spend_gbp": 63.20003928,
        "predicted_spend_gbp": 115.3770419,
        "predicted_spend_per_purchase": 428.37371942,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.85461659,
          0.13568075,
          0.00813772,
          0.00093897,
          0.00062598,
          0.0
        ],
        "count_coverage_90": 0.99577465,
        "count_interval_width": 1.38388106,
        "spend_coverage_90": 0.9057903,
        "spend_interval_width": 230.75408379
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 0.61955581,
        "predicted_count": 0.63407365,
        "observed_purchase_probability": 0.43178541,
        "predicted_purchase_probability": 0.37058842,
        "latent_alive_probability": null,
        "observed_spend_gbp": 406.31080185,
        "predicted_spend_gbp": 361.67668695,
        "predicted_spend_per_purchase": 570.40170144,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.56821459,
          0.32391116,
          0.06835881,
          0.02336314,
          0.00865301,
          0.00749928
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 0.61955581,
        "predicted_count": 0.80468819,
        "observed_purchase_probability": 0.43178541,
        "predicted_purchase_probability": 0.48499881,
        "latent_alive_probability": null,
        "observed_spend_gbp": 406.31080185,
        "predicted_spend_gbp": 543.36055609,
        "predicted_spend_per_purchase": 675.24360385,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.56821459,
          0.32391116,
          0.06835881,
          0.02336314,
          0.00865301,
          0.00749928
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 0.61955581,
        "predicted_count": 0.64637252,
        "observed_purchase_probability": 0.43178541,
        "predicted_purchase_probability": 0.40512675,
        "latent_alive_probability": 0.90977476,
        "observed_spend_gbp": 406.31080185,
        "predicted_spend_gbp": 361.97719345,
        "predicted_spend_per_purchase": 560.01327916,
        "predicted_count_distribution": [
          0.5947482,
          0.26137886,
          0.09226262,
          0.03063412,
          0.01084165,
          0.01013455
        ],
        "observed_count_distribution": [
          0.56821459,
          0.32391116,
          0.06835881,
          0.02336314,
          0.00865301,
          0.00749928
        ],
        "count_coverage_90": 0.99048168,
        "count_interval_width": 2.10816268,
        "spend_coverage_90": 0.97490626,
        "spend_interval_width": 1318.31002595
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 0.61955581,
        "predicted_count": 0.74790767,
        "observed_purchase_probability": 0.43178541,
        "predicted_purchase_probability": 0.49503593,
        "latent_alive_probability": null,
        "observed_spend_gbp": 406.31080185,
        "predicted_spend_gbp": 438.66614961,
        "predicted_spend_per_purchase": 586.52447314,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.56821459,
          0.32391116,
          0.06835881,
          0.02336314,
          0.00865301,
          0.00749928
        ],
        "count_coverage_90": 0.98759735,
        "count_interval_width": 2.06287857,
        "spend_coverage_90": 0.88087684,
        "spend_interval_width": 877.33229921
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 0.67735306,
        "predicted_count": 0.87231128,
        "observed_purchase_probability": 0.42868886,
        "predicted_purchase_probability": 0.50271976,
        "latent_alive_probability": null,
        "observed_spend_gbp": 465.33929716,
        "predicted_spend_gbp": 478.96107289,
        "predicted_spend_per_purchase": 549.07128491,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.57131114,
          0.29346486,
          0.07973695,
          0.03205919,
          0.01274147,
          0.0106864
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 0.67735306,
        "predicted_count": 0.93228618,
        "observed_purchase_probability": 0.42868886,
        "predicted_purchase_probability": 0.51087608,
        "latent_alive_probability": null,
        "observed_spend_gbp": 465.33929716,
        "predicted_spend_gbp": 617.64865477,
        "predicted_spend_per_purchase": 662.50972157,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.57131114,
          0.29346486,
          0.07973695,
          0.03205919,
          0.01274147,
          0.0106864
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 0.67735306,
        "predicted_count": 0.69539809,
        "observed_purchase_probability": 0.42868886,
        "predicted_purchase_probability": 0.41530929,
        "latent_alive_probability": 0.9760371,
        "observed_spend_gbp": 465.33929716,
        "predicted_spend_gbp": 408.67573554,
        "predicted_spend_per_purchase": 587.68601868,
        "predicted_count_distribution": [
          0.58451212,
          0.25874661,
          0.09506741,
          0.0345411,
          0.0133395,
          0.01379326
        ],
        "observed_count_distribution": [
          0.57131114,
          0.29346486,
          0.07973695,
          0.03205919,
          0.01274147,
          0.0106864
        ],
        "count_coverage_90": 0.98808056,
        "count_interval_width": 2.16687217,
        "spend_coverage_90": 0.97739416,
        "spend_interval_width": 1400.53216135
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 0.67735306,
        "predicted_count": 0.83297898,
        "observed_purchase_probability": 0.42868886,
        "predicted_purchase_probability": 0.51841794,
        "latent_alive_probability": null,
        "observed_spend_gbp": 465.33929716,
        "predicted_spend_gbp": 494.09280055,
        "predicted_spend_per_purchase": 593.16359153,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.57131114,
          0.29346486,
          0.07973695,
          0.03205919,
          0.01274147,
          0.0106864
        ],
        "count_coverage_90": 0.98355939,
        "count_interval_width": 2.11590629,
        "spend_coverage_90": 0.91204275,
        "spend_interval_width": 988.1856011
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.28384798,
        "predicted_count": 0.51504355,
        "observed_purchase_probability": 0.23752969,
        "predicted_purchase_probability": 0.38508071,
        "latent_alive_probability": null,
        "observed_spend_gbp": 86.41034442,
        "predicted_spend_gbp": 184.38930721,
        "predicted_spend_per_purchase": 358.00721752,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.76247031,
          0.20071259,
          0.02969121,
          0.00475059,
          0.0023753,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.28384798,
        "predicted_count": 0.39913864,
        "observed_purchase_probability": 0.23752969,
        "predicted_purchase_probability": 0.32293978,
        "latent_alive_probability": null,
        "observed_spend_gbp": 86.41034442,
        "predicted_spend_gbp": 162.54475405,
        "predicted_spend_per_purchase": 407.23883742,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.76247031,
          0.20071259,
          0.02969121,
          0.00475059,
          0.0023753,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.28384798,
        "predicted_count": 0.30250583,
        "observed_purchase_probability": 0.23752969,
        "predicted_purchase_probability": 0.24038554,
        "latent_alive_probability": 0.96235385,
        "observed_spend_gbp": 86.41034442,
        "predicted_spend_gbp": 111.40067569,
        "predicted_spend_per_purchase": 368.25959694,
        "predicted_count_distribution": [
          0.75957126,
          0.19110392,
          0.0393943,
          0.00780879,
          0.0016633,
          0.00045843
        ],
        "observed_count_distribution": [
          0.76247031,
          0.20071259,
          0.02969121,
          0.00475059,
          0.0023753,
          0.0
        ],
        "count_coverage_90": 0.98099762,
        "count_interval_width": 1.35985748,
        "spend_coverage_90": 0.97624703,
        "spend_interval_width": 639.963956
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.28384798,
        "predicted_count": 0.39354992,
        "observed_purchase_probability": 0.23752969,
        "predicted_purchase_probability": 0.32973386,
        "latent_alive_probability": null,
        "observed_spend_gbp": 86.41034442,
        "predicted_spend_gbp": 158.63293717,
        "predicted_spend_per_purchase": 403.08211783,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.76247031,
          0.20071259,
          0.02969121,
          0.00475059,
          0.0023753,
          0.0
        ],
        "count_coverage_90": 0.98812352,
        "count_interval_width": 1.70071259,
        "spend_coverage_90": 0.89429929,
        "spend_interval_width": 317.26587434
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 0.89001264,
        "predicted_count": 1.06552887,
        "observed_purchase_probability": 0.53223767,
        "predicted_purchase_probability": 0.56657901,
        "latent_alive_probability": null,
        "observed_spend_gbp": 668.97079646,
        "predicted_spend_gbp": 637.49229477,
        "predicted_spend_per_purchase": 598.28721198,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.46776233,
          0.34386852,
          0.1068268,
          0.04677623,
          0.01833123,
          0.01643489
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 0.89001264,
        "predicted_count": 1.22035256,
        "observed_purchase_probability": 0.53223767,
        "predicted_purchase_probability": 0.61306687,
        "latent_alive_probability": null,
        "observed_spend_gbp": 668.97079646,
        "predicted_spend_gbp": 862.85722245,
        "predicted_spend_per_purchase": 707.05568899,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.46776233,
          0.34386852,
          0.1068268,
          0.04677623,
          0.01833123,
          0.01643489
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 0.89001264,
        "predicted_count": 0.90728908,
        "observed_purchase_probability": 0.53223767,
        "predicted_purchase_probability": 0.50982694,
        "latent_alive_probability": 0.98318352,
        "observed_spend_gbp": 668.97079646,
        "predicted_spend_gbp": 568.74808794,
        "predicted_spend_per_purchase": 626.8653487,
        "predicted_count_distribution": [
          0.48994248,
          0.29543394,
          0.12509197,
          0.04893869,
          0.01962484,
          0.02096808
        ],
        "observed_count_distribution": [
          0.46776233,
          0.34386852,
          0.1068268,
          0.04677623,
          0.01833123,
          0.01643489
        ],
        "count_coverage_90": 0.99178255,
        "count_interval_width": 2.60303413,
        "spend_coverage_90": 0.97850822,
        "spend_interval_width": 1810.27065112
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 0.89001264,
        "predicted_count": 1.06996043,
        "observed_purchase_probability": 0.53223767,
        "predicted_purchase_probability": 0.62051114,
        "latent_alive_probability": null,
        "observed_spend_gbp": 668.97079646,
        "predicted_spend_gbp": 674.64070654,
        "predicted_spend_per_purchase": 630.52865379,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.46776233,
          0.34386852,
          0.1068268,
          0.04677623,
          0.01833123,
          0.01643489
        ],
        "count_coverage_90": 0.98103666,
        "count_interval_width": 2.34070796,
        "spend_coverage_90": 0.9216182,
        "spend_interval_width": 1349.28141309
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.3025,
        "predicted_count": 0.41440476,
        "observed_purchase_probability": 0.2675,
        "predicted_purchase_probability": 0.32894886,
        "latent_alive_probability": null,
        "observed_spend_gbp": 127.64699643,
        "predicted_spend_gbp": 179.95816202,
        "predicted_spend_per_purchase": 434.25698391,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.7325,
          0.23785714,
          0.02535714,
          0.00321429,
          0.00107143,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.3025,
        "predicted_count": 0.40839928,
        "observed_purchase_probability": 0.2675,
        "predicted_purchase_probability": 0.34697496,
        "latent_alive_probability": null,
        "observed_spend_gbp": 127.64699643,
        "predicted_spend_gbp": 202.56487968,
        "predicted_spend_per_purchase": 495.99715315,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.7325,
          0.23785714,
          0.02535714,
          0.00321429,
          0.00107143,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.3025,
        "predicted_count": 0.34196923,
        "observed_purchase_probability": 0.2675,
        "predicted_purchase_probability": 0.26215283,
        "latent_alive_probability": 0.95521677,
        "observed_spend_gbp": 127.64699643,
        "predicted_spend_gbp": 145.97587121,
        "predicted_spend_per_purchase": 426.86843313,
        "predicted_count_distribution": [
          0.73778893,
          0.20039786,
          0.04790911,
          0.01073571,
          0.00243875,
          0.00072964
        ],
        "observed_count_distribution": [
          0.7325,
          0.23785714,
          0.02535714,
          0.00321429,
          0.00107143,
          0.0
        ],
        "count_coverage_90": 0.99035714,
        "count_interval_width": 1.46535714,
        "spend_coverage_90": 0.97571429,
        "spend_interval_width": 749.54063331
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.3025,
        "predicted_count": 0.42173873,
        "observed_purchase_probability": 0.2675,
        "predicted_purchase_probability": 0.35162755,
        "latent_alive_probability": null,
        "observed_spend_gbp": 127.64699643,
        "predicted_spend_gbp": 192.7481121,
        "predicted_spend_per_purchase": 457.03204196,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.7325,
          0.23785714,
          0.02535714,
          0.00321429,
          0.00107143,
          0.0
        ],
        "count_coverage_90": 0.99357143,
        "count_interval_width": 1.71964286,
        "spend_coverage_90": 0.87928571,
        "spend_interval_width": 385.4962242
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.15617716,
        "predicted_count": 0.33333333,
        "observed_purchase_probability": 0.13752914,
        "predicted_purchase_probability": 0.28346869,
        "latent_alive_probability": null,
        "observed_spend_gbp": 42.5074359,
        "predicted_spend_gbp": 163.06138384,
        "predicted_spend_per_purchase": 489.18415152,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.86247086,
          0.12354312,
          0.00932401,
          0.004662,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.15617716,
        "predicted_count": 0.19585064,
        "observed_purchase_probability": 0.13752914,
        "predicted_purchase_probability": 0.17114762,
        "latent_alive_probability": null,
        "observed_spend_gbp": 42.5074359,
        "predicted_spend_gbp": 69.97638687,
        "predicted_spend_per_purchase": 357.29464932,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.86247086,
          0.12354312,
          0.00932401,
          0.004662,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.15617716,
        "predicted_count": 0.16092316,
        "observed_purchase_probability": 0.13752914,
        "predicted_purchase_probability": 0.13506685,
        "latent_alive_probability": 1.0,
        "observed_spend_gbp": 42.5074359,
        "predicted_spend_gbp": 65.39922863,
        "predicted_spend_per_purchase": 406.40034253,
        "predicted_count_distribution": [
          0.86444522,
          0.11404779,
          0.01784382,
          0.00299417,
          0.0005373,
          0.0001317
        ],
        "observed_count_distribution": [
          0.86247086,
          0.12354312,
          0.00932401,
          0.004662,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.98601399,
        "count_interval_width": 1.0,
        "spend_coverage_90": 0.97202797,
        "spend_interval_width": 426.18779041
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.15617716,
        "predicted_count": 0.21746551,
        "observed_purchase_probability": 0.13752914,
        "predicted_purchase_probability": 0.19109298,
        "latent_alive_probability": null,
        "observed_spend_gbp": 42.5074359,
        "predicted_spend_gbp": 86.82118556,
        "predicted_spend_per_purchase": 399.24117416,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.86247086,
          0.12354312,
          0.00932401,
          0.004662,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.98601399,
        "count_interval_width": 1.12587413,
        "spend_coverage_90": 0.89277389,
        "spend_interval_width": 173.64237113
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.20626432,
        "predicted_count": 0.38553603,
        "observed_purchase_probability": 0.18792972,
        "predicted_purchase_probability": 0.31393941,
        "latent_alive_probability": null,
        "observed_spend_gbp": 78.26894576,
        "predicted_spend_gbp": 144.01012732,
        "predicted_spend_per_purchase": 373.53221268,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.81207028,
          0.17341482,
          0.01222307,
          0.00076394,
          0.00152788,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.20626432,
        "predicted_count": 0.33467693,
        "observed_purchase_probability": 0.18792972,
        "predicted_purchase_probability": 0.30132862,
        "latent_alive_probability": null,
        "observed_spend_gbp": 78.26894576,
        "predicted_spend_gbp": 142.17380729,
        "predicted_spend_per_purchase": 424.80910626,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.81207028,
          0.17341482,
          0.01222307,
          0.00076394,
          0.00152788,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.20626432,
        "predicted_count": 0.24886243,
        "observed_purchase_probability": 0.18792972,
        "predicted_purchase_probability": 0.20613246,
        "latent_alive_probability": 0.94172016,
        "observed_spend_gbp": 78.26894576,
        "predicted_spend_gbp": 98.43504484,
        "predicted_spend_per_purchase": 395.53999761,
        "predicted_count_distribution": [
          0.79395378,
          0.17043621,
          0.0297204,
          0.00487853,
          0.00083652,
          0.00017456
        ],
        "observed_count_distribution": [
          0.81207028,
          0.17341482,
          0.01222307,
          0.00076394,
          0.00152788,
          0.0
        ],
        "count_coverage_90": 0.98930481,
        "count_interval_width": 1.21084798,
        "spend_coverage_90": 0.97097021,
        "spend_interval_width": 600.15149033
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.20626432,
        "predicted_count": 0.35061565,
        "observed_purchase_probability": 0.18792972,
        "predicted_purchase_probability": 0.30887672,
        "latent_alive_probability": null,
        "observed_spend_gbp": 78.26894576,
        "predicted_spend_gbp": 150.47888614,
        "predicted_spend_per_purchase": 429.1847355,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.81207028,
          0.17341482,
          0.01222307,
          0.00076394,
          0.00152788,
          0.0
        ],
        "count_coverage_90": 0.99541635,
        "count_interval_width": 1.66157372,
        "spend_coverage_90": 0.89152024,
        "spend_interval_width": 300.95777228
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 0.48022599,
        "predicted_count": 0.48273697,
        "observed_purchase_probability": 0.4180791,
        "predicted_purchase_probability": 0.36582114,
        "latent_alive_probability": null,
        "observed_spend_gbp": 222.90193032,
        "predicted_spend_gbp": 231.09252668,
        "predicted_spend_per_purchase": 478.71312744,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.5819209,
          0.36346516,
          0.0480226,
          0.00564972,
          0.00094162,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 0.48022599,
        "predicted_count": 0.58512802,
        "observed_purchase_probability": 0.4180791,
        "predicted_purchase_probability": 0.47426402,
        "latent_alive_probability": null,
        "observed_spend_gbp": 222.90193032,
        "predicted_spend_gbp": 330.56146834,
        "predicted_spend_per_purchase": 564.93871188,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.5819209,
          0.36346516,
          0.0480226,
          0.00564972,
          0.00094162,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 0.48022599,
        "predicted_count": 0.52986525,
        "observed_purchase_probability": 0.4180791,
        "predicted_purchase_probability": 0.38253942,
        "latent_alive_probability": 0.95376203,
        "observed_spend_gbp": 222.90193032,
        "predicted_spend_gbp": 237.12306649,
        "predicted_spend_per_purchase": 447.51578862,
        "predicted_count_distribution": [
          0.61739783,
          0.27220951,
          0.08247316,
          0.02108239,
          0.00518173,
          0.00165537
        ],
        "observed_count_distribution": [
          0.5819209,
          0.36346516,
          0.0480226,
          0.00564972,
          0.00094162,
          0.0
        ],
        "count_coverage_90": 0.99340866,
        "count_interval_width": 1.96704331,
        "spend_coverage_90": 0.98305085,
        "spend_interval_width": 1064.29464251
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 0.48022599,
        "predicted_count": 0.59192076,
        "observed_purchase_probability": 0.4180791,
        "predicted_purchase_probability": 0.46917008,
        "latent_alive_probability": null,
        "observed_spend_gbp": 222.90193032,
        "predicted_spend_gbp": 287.63800689,
        "predicted_spend_per_purchase": 485.94005645,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.5819209,
          0.36346516,
          0.0480226,
          0.00564972,
          0.00094162,
          0.0
        ],
        "count_coverage_90": 0.99435028,
        "count_interval_width": 2.03107345,
        "spend_coverage_90": 0.85875706,
        "spend_interval_width": 575.27601379
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.09776079,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.09361005,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 43.69979705,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.90638995,
          0.08967777,
          0.00371382,
          0.00021846,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.09776079,
        "predicted_count": 0.14273049,
        "observed_purchase_probability": 0.09361005,
        "predicted_purchase_probability": 0.13283841,
        "latent_alive_probability": null,
        "observed_spend_gbp": 43.69979705,
        "predicted_spend_gbp": 70.31379783,
        "predicted_spend_per_purchase": 492.63334439,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.90638995,
          0.08967777,
          0.00371382,
          0.00021846,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.09776079,
        "predicted_count": 0.11989395,
        "observed_purchase_probability": 0.09361005,
        "predicted_purchase_probability": 0.10420218,
        "latent_alive_probability": 0.8836594,
        "observed_spend_gbp": 43.69979705,
        "predicted_spend_gbp": 47.59610005,
        "predicted_spend_per_purchase": 396.98500177,
        "predicted_count_distribution": [
          0.89576434,
          0.09068165,
          0.01173714,
          0.00157138,
          0.00021131,
          3.419e-05
        ],
        "observed_count_distribution": [
          0.90638995,
          0.08967777,
          0.00371382,
          0.00021846,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.98929547,
        "count_interval_width": 0.81288913,
        "spend_coverage_90": 0.96275259,
        "spend_interval_width": 275.43949026
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.09776079,
        "predicted_count": 0.18749689,
        "observed_purchase_probability": 0.09361005,
        "predicted_purchase_probability": 0.17053043,
        "latent_alive_probability": null,
        "observed_spend_gbp": 43.69979705,
        "predicted_spend_gbp": 83.7596484,
        "predicted_spend_per_purchase": 446.72552503,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.90638995,
          0.08967777,
          0.00371382,
          0.00021846,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.99748771,
        "count_interval_width": 1.16329874,
        "spend_coverage_90": 0.92801748,
        "spend_interval_width": 167.51929679
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.04129001,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.03982409,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 14.11899609,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.96017591,
          0.03835817,
          0.00146592,
          0.0,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.04129001,
        "predicted_count": 0.08996831,
        "observed_purchase_probability": 0.03982409,
        "predicted_purchase_probability": 0.08412296,
        "latent_alive_probability": null,
        "observed_spend_gbp": 14.11899609,
        "predicted_spend_gbp": 34.72722842,
        "predicted_spend_per_purchase": 385.99402125,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.96017591,
          0.03835817,
          0.00146592,
          0.0,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.04129001,
        "predicted_count": 0.06442504,
        "observed_purchase_probability": 0.03982409,
        "predicted_purchase_probability": 0.05921071,
        "latent_alive_probability": 1.0,
        "observed_spend_gbp": 14.11899609,
        "predicted_spend_gbp": 26.27861416,
        "predicted_spend_per_purchase": 407.89438685,
        "predicted_count_distribution": [
          0.94073149,
          0.05459858,
          0.00423772,
          0.00038664,
          3.995e-05,
          5.62e-06
        ],
        "observed_count_distribution": [
          0.96017591,
          0.03835817,
          0.00146592,
          0.0,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.98509651,
        "count_interval_width": 0.55582702,
        "spend_coverage_90": 0.96921573,
        "spend_interval_width": 105.12986056
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.04129001,
        "predicted_count": 0.12560339,
        "observed_purchase_probability": 0.03982409,
        "predicted_purchase_probability": 0.1158553,
        "latent_alive_probability": null,
        "observed_spend_gbp": 14.11899609,
        "predicted_spend_gbp": 51.79665253,
        "predicted_spend_per_purchase": 412.38258603,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.96017591,
          0.03835817,
          0.00146592,
          0.0,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.9987784,
        "count_interval_width": 1.00708527,
        "spend_coverage_90": 0.96359638,
        "spend_interval_width": 103.59330506
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.11700873,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.11394197,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 53.93646874,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.88605803,
          0.11111111,
          0.00259495,
          0.0002359,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.11700873,
        "predicted_count": 0.1652765,
        "observed_purchase_probability": 0.11394197,
        "predicted_purchase_probability": 0.15660998,
        "latent_alive_probability": null,
        "observed_spend_gbp": 53.93646874,
        "predicted_spend_gbp": 78.7566951,
        "predicted_spend_per_purchase": 476.51478059,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.88605803,
          0.11111111,
          0.00259495,
          0.0002359,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.11700873,
        "predicted_count": 0.13942253,
        "observed_purchase_probability": 0.11394197,
        "predicted_purchase_probability": 0.12263509,
        "latent_alive_probability": 0.80467193,
        "observed_spend_gbp": 53.93646874,
        "predicted_spend_gbp": 53.02976415,
        "predicted_spend_per_purchase": 380.35289739,
        "predicted_count_distribution": [
          0.8773489,
          0.10780396,
          0.01314367,
          0.00151109,
          0.0001728,
          1.958e-05
        ],
        "observed_count_distribution": [
          0.88605803,
          0.11111111,
          0.00259495,
          0.0002359,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.99433829,
        "count_interval_width": 0.95895258,
        "spend_coverage_90": 0.95753715,
        "spend_interval_width": 357.37207702
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.11700873,
        "predicted_count": 0.21956611,
        "observed_purchase_probability": 0.11394197,
        "predicted_purchase_probability": 0.20066714,
        "latent_alive_probability": null,
        "observed_spend_gbp": 53.93646874,
        "predicted_spend_gbp": 95.9456246,
        "predicted_spend_per_purchase": 436.97829937,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.88605803,
          0.11111111,
          0.00259495,
          0.0002359,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.99740505,
        "count_interval_width": 1.23519698,
        "spend_coverage_90": 0.91247936,
        "spend_interval_width": 191.89124919
      },
      {
        "model": "recent_rule",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.27946537,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.2563791,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 138.0873633,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.7436209,
          0.2345079,
          0.02065614,
          0.00121507,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.27946537,
        "predicted_count": 0.28900396,
        "observed_purchase_probability": 0.2563791,
        "predicted_purchase_probability": 0.25267398,
        "latent_alive_probability": null,
        "observed_spend_gbp": 138.0873633,
        "predicted_spend_gbp": 203.80880031,
        "predicted_spend_per_purchase": 705.21109909,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.7436209,
          0.2345079,
          0.02065614,
          0.00121507,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.27946537,
        "predicted_count": 0.29517046,
        "observed_purchase_probability": 0.2563791,
        "predicted_purchase_probability": 0.23301501,
        "latent_alive_probability": 0.71190461,
        "observed_spend_gbp": 138.0873633,
        "predicted_spend_gbp": 125.62668038,
        "predicted_spend_per_purchase": 425.6072204,
        "predicted_count_distribution": [
          0.76698238,
          0.18194107,
          0.04178919,
          0.007774,
          0.00126185,
          0.00025152
        ],
        "observed_count_distribution": [
          0.7436209,
          0.2345079,
          0.02065614,
          0.00121507,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.98420413,
        "count_interval_width": 1.33900365,
        "spend_coverage_90": 0.95747266,
        "spend_interval_width": 700.42743566
      },
      {
        "model": "boosting",
        "horizon_days": 30,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.27946537,
        "predicted_count": 0.330132,
        "observed_purchase_probability": 0.2563791,
        "predicted_purchase_probability": 0.28722031,
        "latent_alive_probability": null,
        "observed_spend_gbp": 138.0873633,
        "predicted_spend_gbp": 179.95428872,
        "predicted_spend_per_purchase": 545.09798193,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.7436209,
          0.2345079,
          0.02065614,
          0.00121507,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.99149453,
        "count_interval_width": 1.56986634,
        "spend_coverage_90": 0.83110571,
        "spend_interval_width": 359.90857743
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.46010564,
        "predicted_count": 0.45630618,
        "observed_purchase_probability": 0.29156241,
        "predicted_purchase_probability": 0.22540336,
        "latent_alive_probability": null,
        "observed_spend_gbp": 254.61934202,
        "predicted_spend_gbp": 232.0260139,
        "predicted_spend_per_purchase": 508.48755402,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.70843759,
          0.20197387,
          0.05678343,
          0.01668057,
          0.00834028,
          0.00778426
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.46010564,
        "predicted_count": 0.63916331,
        "observed_purchase_probability": 0.29156241,
        "predicted_purchase_probability": 0.36525734,
        "latent_alive_probability": null,
        "observed_spend_gbp": 254.61934202,
        "predicted_spend_gbp": 394.38855879,
        "predicted_spend_per_purchase": 617.03879489,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.70843759,
          0.20197387,
          0.05678343,
          0.01668057,
          0.00834028,
          0.00778426
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.46010564,
        "predicted_count": 0.51881282,
        "observed_purchase_probability": 0.29156241,
        "predicted_purchase_probability": 0.30097923,
        "latent_alive_probability": 0.91320594,
        "observed_spend_gbp": 254.61934202,
        "predicted_spend_gbp": 254.62540401,
        "predicted_spend_per_purchase": 490.78472009,
        "predicted_count_distribution": [
          0.69906057,
          0.18674541,
          0.06628201,
          0.0256919,
          0.01081273,
          0.01140739
        ],
        "observed_count_distribution": [
          0.70843759,
          0.20197387,
          0.05678343,
          0.01668057,
          0.00834028,
          0.00778426
        ],
        "count_coverage_90": 0.98748957,
        "count_interval_width": 1.85376703,
        "spend_coverage_90": 0.96643036,
        "spend_interval_width": 932.68812286
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.46010564,
        "predicted_count": 0.65129255,
        "observed_purchase_probability": 0.29156241,
        "predicted_purchase_probability": 0.41359055,
        "latent_alive_probability": null,
        "observed_spend_gbp": 254.61934202,
        "predicted_spend_gbp": 332.03905116,
        "predicted_spend_per_purchase": 509.81551915,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.70843759,
          0.20197387,
          0.05678343,
          0.01668057,
          0.00834028,
          0.00778426
        ],
        "count_coverage_90": 0.99082569,
        "count_interval_width": 2.20016681,
        "spend_coverage_90": 0.91812622,
        "spend_interval_width": 664.07810232
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.10924741,
        "predicted_count": 0.06444493,
        "observed_purchase_probability": 0.09446038,
        "predicted_purchase_probability": 0.0470367,
        "latent_alive_probability": null,
        "observed_spend_gbp": 40.47612249,
        "predicted_spend_gbp": 31.55904524,
        "predicted_spend_per_purchase": 489.70559589,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.90553962,
          0.08210108,
          0.01015228,
          0.00198632,
          0.0002207,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.10924741,
        "predicted_count": 0.20388129,
        "observed_purchase_probability": 0.09446038,
        "predicted_purchase_probability": 0.17090424,
        "latent_alive_probability": null,
        "observed_spend_gbp": 40.47612249,
        "predicted_spend_gbp": 80.34286698,
        "predicted_spend_per_purchase": 394.06689685,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.90553962,
          0.08210108,
          0.01015228,
          0.00198632,
          0.0002207,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.10924741,
        "predicted_count": 0.14707254,
        "observed_purchase_probability": 0.09446038,
        "predicted_purchase_probability": 0.12144247,
        "latent_alive_probability": 1.0,
        "observed_spend_gbp": 40.47612249,
        "predicted_spend_gbp": 59.94158212,
        "predicted_spend_per_purchase": 407.56474319,
        "predicted_count_distribution": [
          0.87864666,
          0.10118451,
          0.01603962,
          0.00315714,
          0.00072302,
          0.00024906
        ],
        "observed_count_distribution": [
          0.90553962,
          0.08210108,
          0.01015228,
          0.00198632,
          0.0002207,
          0.0
        ],
        "count_coverage_90": 0.98874421,
        "count_interval_width": 1.06885897,
        "spend_coverage_90": 0.96733613,
        "spend_interval_width": 365.33762019
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.10924741,
        "predicted_count": 0.24880535,
        "observed_purchase_probability": 0.09446038,
        "predicted_purchase_probability": 0.20667613,
        "latent_alive_probability": null,
        "observed_spend_gbp": 40.47612249,
        "predicted_spend_gbp": 105.37509998,
        "predicted_spend_per_purchase": 423.52424536,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.90553962,
          0.08210108,
          0.01015228,
          0.00198632,
          0.0002207,
          0.0
        ],
        "count_coverage_90": 0.99691017,
        "count_interval_width": 1.78680203,
        "spend_coverage_90": 0.93798279,
        "spend_interval_width": 210.75019996
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.30923318,
        "predicted_count": 0.29368805,
        "observed_purchase_probability": 0.25492958,
        "predicted_purchase_probability": 0.18675847,
        "latent_alive_probability": null,
        "observed_spend_gbp": 125.89761362,
        "predicted_spend_gbp": 107.59469588,
        "predicted_spend_per_purchase": 366.35707282,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.74507042,
          0.214241,
          0.03114241,
          0.00657277,
          0.00234742,
          0.00062598
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.30923318,
        "predicted_count": 0.45835475,
        "observed_purchase_probability": 0.25492958,
        "predicted_purchase_probability": 0.34677706,
        "latent_alive_probability": null,
        "observed_spend_gbp": 125.89761362,
        "predicted_spend_gbp": 201.54057701,
        "predicted_spend_per_purchase": 439.70435324,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.74507042,
          0.214241,
          0.03114241,
          0.00657277,
          0.00234742,
          0.00062598
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.30923318,
        "predicted_count": 0.36512007,
        "observed_purchase_probability": 0.25492958,
        "predicted_purchase_probability": 0.26855295,
        "latent_alive_probability": 0.85352394,
        "observed_spend_gbp": 125.89761362,
        "predicted_spend_gbp": 139.47012326,
        "predicted_spend_per_purchase": 381.98426623,
        "predicted_count_distribution": [
          0.73151526,
          0.1976356,
          0.05233545,
          0.01348404,
          0.00356956,
          0.00146009
        ],
        "observed_count_distribution": [
          0.74507042,
          0.214241,
          0.03114241,
          0.00657277,
          0.00234742,
          0.00062598
        ],
        "count_coverage_90": 0.98607199,
        "count_interval_width": 1.60782473,
        "spend_coverage_90": 0.96619718,
        "spend_interval_width": 735.69902275
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.30923318,
        "predicted_count": 0.52769557,
        "observed_purchase_probability": 0.25492958,
        "predicted_purchase_probability": 0.4109801,
        "latent_alive_probability": null,
        "observed_spend_gbp": 125.89761362,
        "predicted_spend_gbp": 227.4453428,
        "predicted_spend_per_purchase": 431.01621031,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.74507042,
          0.214241,
          0.03114241,
          0.00657277,
          0.00234742,
          0.00062598
        ],
        "count_coverage_90": 0.99280125,
        "count_interval_width": 2.07355243,
        "spend_coverage_90": 0.91095462,
        "spend_interval_width": 454.89068561
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 1.19671185,
        "predicted_count": 1.26814729,
        "observed_purchase_probability": 0.61667147,
        "predicted_purchase_probability": 0.5297357,
        "latent_alive_probability": null,
        "observed_spend_gbp": 771.72772743,
        "predicted_spend_gbp": 723.35337391,
        "predicted_spend_per_purchase": 570.40170144,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.38332853,
          0.33602538,
          0.16498414,
          0.05451399,
          0.02999712,
          0.03115085
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 1.19671185,
        "predicted_count": 1.54127741,
        "observed_purchase_probability": 0.61667147,
        "predicted_purchase_probability": 0.653317,
        "latent_alive_probability": null,
        "observed_spend_gbp": 771.72772743,
        "predicted_spend_gbp": 1160.24942788,
        "predicted_spend_per_purchase": 752.78429699,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.38332853,
          0.33602538,
          0.16498414,
          0.05451399,
          0.02999712,
          0.03115085
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 1.19671185,
        "predicted_count": 1.28790767,
        "observed_purchase_probability": 0.61667147,
        "predicted_purchase_probability": 0.59537927,
        "latent_alive_probability": 0.90977476,
        "observed_spend_gbp": 771.72772743,
        "predicted_spend_gbp": 721.29821651,
        "predicted_spend_per_purchase": 560.05429117,
        "predicted_count_distribution": [
          0.4045437,
          0.27849279,
          0.15764825,
          0.07764263,
          0.03734872,
          0.04432391
        ],
        "observed_count_distribution": [
          0.38332853,
          0.33602538,
          0.16498414,
          0.05451399,
          0.02999712,
          0.03115085
        ],
        "count_coverage_90": 0.98846265,
        "count_interval_width": 3.33285261,
        "spend_coverage_90": 0.96567638,
        "spend_interval_width": 2037.22388209
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 1.19671185,
        "predicted_count": 1.40510111,
        "observed_purchase_probability": 0.61667147,
        "predicted_purchase_probability": 0.68881699,
        "latent_alive_probability": null,
        "observed_spend_gbp": 771.72772743,
        "predicted_spend_gbp": 821.04053924,
        "predicted_spend_per_purchase": 584.32844163,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.38332853,
          0.33602538,
          0.16498414,
          0.05451399,
          0.02999712,
          0.03115085
        ],
        "count_coverage_90": 0.97923277,
        "count_interval_width": 2.97375252,
        "spend_coverage_90": 0.90539371,
        "spend_interval_width": 1642.08107848
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 1.33004521,
        "predicted_count": 1.74462255,
        "observed_purchase_probability": 0.6107686,
        "predicted_purchase_probability": 0.71209593,
        "latent_alive_probability": null,
        "observed_spend_gbp": 887.76667078,
        "predicted_spend_gbp": 957.92214577,
        "predicted_spend_per_purchase": 549.07128491,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.3892314,
          0.30250719,
          0.15371969,
          0.07192766,
          0.03904644,
          0.04356761
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 1.33004521,
        "predicted_count": 1.83250677,
        "observed_purchase_probability": 0.6107686,
        "predicted_purchase_probability": 0.69209268,
        "latent_alive_probability": null,
        "observed_spend_gbp": 887.76667078,
        "predicted_spend_gbp": 1220.34456767,
        "predicted_spend_per_purchase": 665.94273262,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.3892314,
          0.30250719,
          0.15371969,
          0.07192766,
          0.03904644,
          0.04356761
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 1.33004521,
        "predicted_count": 1.38491824,
        "observed_purchase_probability": 0.6107686,
        "predicted_purchase_probability": 0.60207763,
        "latent_alive_probability": 0.9760371,
        "observed_spend_gbp": 887.76667078,
        "predicted_spend_gbp": 814.1088157,
        "predicted_spend_per_purchase": 587.83890231,
        "predicted_count_distribution": [
          0.39809905,
          0.27336067,
          0.15215208,
          0.07928607,
          0.04107234,
          0.0560298
        ],
        "observed_count_distribution": [
          0.3892314,
          0.30250719,
          0.15371969,
          0.07192766,
          0.03904644,
          0.04356761
        ],
        "count_coverage_90": 0.98314838,
        "count_interval_width": 3.44019729,
        "spend_coverage_90": 0.9675298,
        "spend_interval_width": 2168.03108988
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 1.33004521,
        "predicted_count": 1.56951442,
        "observed_purchase_probability": 0.6107686,
        "predicted_purchase_probability": 0.70584581,
        "latent_alive_probability": null,
        "observed_spend_gbp": 887.76667078,
        "predicted_spend_gbp": 924.0376526,
        "predicted_spend_per_purchase": 588.7411053,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.3892314,
          0.30250719,
          0.15371969,
          0.07192766,
          0.03904644,
          0.04356761
        ],
        "count_coverage_90": 0.97205097,
        "count_interval_width": 3.07521578,
        "spend_coverage_90": 0.91861899,
        "spend_interval_width": 1848.07530521
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.53444181,
        "predicted_count": 1.03008709,
        "observed_purchase_probability": 0.3847981,
        "predicted_purchase_probability": 0.60437829,
        "latent_alive_probability": null,
        "observed_spend_gbp": 186.92369359,
        "predicted_spend_gbp": 368.77861441,
        "predicted_spend_per_purchase": 358.00721752,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.6152019,
          0.28741093,
          0.06175772,
          0.02137767,
          0.01187648,
          0.0023753
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.53444181,
        "predicted_count": 0.80735051,
        "observed_purchase_probability": 0.3847981,
        "predicted_purchase_probability": 0.51093385,
        "latent_alive_probability": null,
        "observed_spend_gbp": 186.92369359,
        "predicted_spend_gbp": 346.86788284,
        "predicted_spend_per_purchase": 429.63728863,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.6152019,
          0.28741093,
          0.06175772,
          0.02137767,
          0.01187648,
          0.0023753
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.53444181,
        "predicted_count": 0.6013919,
        "observed_purchase_probability": 0.3847981,
        "predicted_purchase_probability": 0.39695578,
        "latent_alive_probability": 0.96235385,
        "observed_spend_gbp": 186.92369359,
        "predicted_spend_gbp": 221.51937411,
        "predicted_spend_per_purchase": 368.34445616,
        "predicted_count_distribution": [
          0.60348397,
          0.26106888,
          0.09038717,
          0.02979513,
          0.00994002,
          0.00532482
        ],
        "observed_count_distribution": [
          0.6152019,
          0.28741093,
          0.06175772,
          0.02137767,
          0.01187648,
          0.0023753
        ],
        "count_coverage_90": 0.98337292,
        "count_interval_width": 2.22921615,
        "spend_coverage_90": 0.97387173,
        "spend_interval_width": 1008.40586546
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.53444181,
        "predicted_count": 0.79051984,
        "observed_purchase_probability": 0.3847981,
        "predicted_purchase_probability": 0.5476473,
        "latent_alive_probability": null,
        "observed_spend_gbp": 186.92369359,
        "predicted_spend_gbp": 319.9357221,
        "predicted_spend_per_purchase": 404.71561494,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.6152019,
          0.28741093,
          0.06175772,
          0.02137767,
          0.01187648,
          0.0023753
        ],
        "count_coverage_90": 0.97980998,
        "count_interval_width": 2.33610451,
        "spend_coverage_90": 0.9216152,
        "spend_interval_width": 639.8714442
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 1.75979772,
        "predicted_count": 2.13105773,
        "observed_purchase_probability": 0.73324905,
        "predicted_purchase_probability": 0.77071026,
        "latent_alive_probability": null,
        "observed_spend_gbp": 1264.86788875,
        "predicted_spend_gbp": 1274.98458955,
        "predicted_spend_per_purchase": 598.28721198,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.26675095,
          0.31099874,
          0.20353982,
          0.09924147,
          0.05372946,
          0.06573957
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 1.75979772,
        "predicted_count": 2.38599117,
        "observed_purchase_probability": 0.73324905,
        "predicted_purchase_probability": 0.79068598,
        "latent_alive_probability": null,
        "observed_spend_gbp": 1264.86788875,
        "predicted_spend_gbp": 1690.96741422,
        "predicted_spend_per_purchase": 708.70648495,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.26675095,
          0.31099874,
          0.20353982,
          0.09924147,
          0.05372946,
          0.06573957
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 1.75979772,
        "predicted_count": 1.80749038,
        "observed_purchase_probability": 0.73324905,
        "predicted_purchase_probability": 0.71310107,
        "latent_alive_probability": 0.98318352,
        "observed_spend_gbp": 1264.86788875,
        "predicted_spend_gbp": 1133.20172271,
        "predicted_spend_per_purchase": 626.94758251,
        "predicted_count_distribution": [
          0.28691625,
          0.28039697,
          0.18557301,
          0.10596207,
          0.05784071,
          0.083311
        ],
        "observed_count_distribution": [
          0.26675095,
          0.31099874,
          0.20353982,
          0.09924147,
          0.05372946,
          0.06573957
        ],
        "count_coverage_90": 0.982933,
        "count_interval_width": 4.09292035,
        "spend_coverage_90": 0.96460177,
        "spend_interval_width": 2792.37031685
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 1.75979772,
        "predicted_count": 1.98947769,
        "observed_purchase_probability": 0.73324905,
        "predicted_purchase_probability": 0.79178226,
        "latent_alive_probability": null,
        "observed_spend_gbp": 1264.86788875,
        "predicted_spend_gbp": 1248.92868131,
        "predicted_spend_per_purchase": 627.76712022,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.26675095,
          0.31099874,
          0.20353982,
          0.09924147,
          0.05372946,
          0.06573957
        ],
        "count_coverage_90": 0.96776233,
        "count_interval_width": 3.47345133,
        "spend_coverage_90": 0.91719343,
        "spend_interval_width": 2497.85736263
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.58428571,
        "predicted_count": 0.82880952,
        "observed_purchase_probability": 0.42892857,
        "predicted_purchase_probability": 0.53949078,
        "latent_alive_probability": null,
        "observed_spend_gbp": 266.035225,
        "predicted_spend_gbp": 359.91632405,
        "predicted_spend_per_purchase": 434.25698391,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.57107143,
          0.31214286,
          0.09035714,
          0.0175,
          0.00678571,
          0.00214286
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.58428571,
        "predicted_count": 0.75605823,
        "observed_purchase_probability": 0.42892857,
        "predicted_purchase_probability": 0.50412438,
        "latent_alive_probability": null,
        "observed_spend_gbp": 266.035225,
        "predicted_spend_gbp": 369.91134709,
        "predicted_spend_per_purchase": 489.26303598,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.57107143,
          0.31214286,
          0.09035714,
          0.0175,
          0.00678571,
          0.00214286
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.58428571,
        "predicted_count": 0.68104336,
        "observed_purchase_probability": 0.42892857,
        "predicted_purchase_probability": 0.42204243,
        "latent_alive_probability": 0.95521677,
        "observed_spend_gbp": 266.035225,
        "predicted_spend_gbp": 290.74596231,
        "predicted_spend_per_purchase": 426.91255515,
        "predicted_count_distribution": [
          0.57794054,
          0.25827464,
          0.10329732,
          0.03836446,
          0.01402429,
          0.00809875
        ],
        "observed_count_distribution": [
          0.57107143,
          0.31214286,
          0.09035714,
          0.0175,
          0.00678571,
          0.00214286
        ],
        "count_coverage_90": 0.98785714,
        "count_interval_width": 2.37678571,
        "spend_coverage_90": 0.97571429,
        "spend_interval_width": 1180.45171902
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.58428571,
        "predicted_count": 0.80977577,
        "observed_purchase_probability": 0.42892857,
        "predicted_purchase_probability": 0.5548879,
        "latent_alive_probability": null,
        "observed_spend_gbp": 266.035225,
        "predicted_spend_gbp": 372.39651843,
        "predicted_spend_per_purchase": 459.87609542,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.57107143,
          0.31214286,
          0.09035714,
          0.0175,
          0.00678571,
          0.00214286
        ],
        "count_coverage_90": 0.98607143,
        "count_interval_width": 2.38464286,
        "spend_coverage_90": 0.90928571,
        "spend_interval_width": 744.79303686
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.3006993,
        "predicted_count": 0.66666667,
        "observed_purchase_probability": 0.24242424,
        "predicted_purchase_probability": 0.48658288,
        "latent_alive_probability": null,
        "observed_spend_gbp": 135.44699301,
        "predicted_spend_gbp": 326.12276768,
        "predicted_spend_per_purchase": 489.18415152,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.75757576,
          0.2004662,
          0.02797203,
          0.01165501,
          0.002331,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.3006993,
        "predicted_count": 0.38115647,
        "observed_purchase_probability": 0.24242424,
        "predicted_purchase_probability": 0.28999522,
        "latent_alive_probability": null,
        "observed_spend_gbp": 135.44699301,
        "predicted_spend_gbp": 160.07177469,
        "predicted_spend_per_purchase": 419.96342221,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.75757576,
          0.2004662,
          0.02797203,
          0.01165501,
          0.002331,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.3006993,
        "predicted_count": 0.31940629,
        "observed_purchase_probability": 0.24242424,
        "predicted_purchase_probability": 0.23214643,
        "latent_alive_probability": 1.0,
        "observed_spend_gbp": 135.44699301,
        "predicted_spend_gbp": 129.81216106,
        "predicted_spend_per_purchase": 406.41704984,
        "predicted_count_distribution": [
          0.76787529,
          0.16988228,
          0.04436597,
          0.01247319,
          0.00379487,
          0.00160839
        ],
        "observed_count_distribution": [
          0.75757576,
          0.2004662,
          0.02797203,
          0.01165501,
          0.002331,
          0.0
        ],
        "count_coverage_90": 0.97902098,
        "count_interval_width": 1.76456876,
        "spend_coverage_90": 0.97668998,
        "spend_interval_width": 749.52821371
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.3006993,
        "predicted_count": 0.42772943,
        "observed_purchase_probability": 0.24242424,
        "predicted_purchase_probability": 0.32564915,
        "latent_alive_probability": null,
        "observed_spend_gbp": 135.44699301,
        "predicted_spend_gbp": 180.66011238,
        "predicted_spend_per_purchase": 422.37007498,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.75757576,
          0.2004662,
          0.02797203,
          0.01165501,
          0.002331,
          0.0
        ],
        "count_coverage_90": 0.98601399,
        "count_interval_width": 2.002331,
        "spend_coverage_90": 0.87645688,
        "spend_interval_width": 361.32022476
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.42016807,
        "predicted_count": 0.77107207,
        "observed_purchase_probability": 0.33995416,
        "predicted_purchase_probability": 0.52291832,
        "latent_alive_probability": null,
        "observed_spend_gbp": 167.05265852,
        "predicted_spend_gbp": 288.02025465,
        "predicted_spend_per_purchase": 373.53221268,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.66004584,
          0.28113063,
          0.04430863,
          0.01145913,
          0.00152788,
          0.00152788
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.42016807,
        "predicted_count": 0.61921794,
        "observed_purchase_probability": 0.33995416,
        "predicted_purchase_probability": 0.45954612,
        "latent_alive_probability": null,
        "observed_spend_gbp": 167.05265852,
        "predicted_spend_gbp": 272.05369536,
        "predicted_spend_per_purchase": 439.35047129,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.66004584,
          0.28113063,
          0.04430863,
          0.01145913,
          0.00152788,
          0.00152788
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.42016807,
        "predicted_count": 0.49537085,
        "observed_purchase_probability": 0.33995416,
        "predicted_purchase_probability": 0.34977224,
        "latent_alive_probability": 0.94172016,
        "observed_spend_gbp": 167.05265852,
        "predicted_spend_gbp": 195.95610073,
        "predicted_spend_per_purchase": 395.5745463,
        "predicted_count_distribution": [
          0.6504068,
          0.24528801,
          0.07479908,
          0.02114706,
          0.00596944,
          0.00238961
        ],
        "observed_count_distribution": [
          0.66004584,
          0.28113063,
          0.04430863,
          0.01145913,
          0.00152788,
          0.00152788
        ],
        "count_coverage_90": 0.98472116,
        "count_interval_width": 1.99541635,
        "spend_coverage_90": 0.97708174,
        "spend_interval_width": 946.53459049
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.42016807,
        "predicted_count": 0.6889343,
        "observed_purchase_probability": 0.33995416,
        "predicted_purchase_probability": 0.51890787,
        "latent_alive_probability": null,
        "observed_spend_gbp": 167.05265852,
        "predicted_spend_gbp": 298.32485388,
        "predicted_spend_per_purchase": 433.02366124,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.66004584,
          0.28113063,
          0.04430863,
          0.01145913,
          0.00152788,
          0.00152788
        ],
        "count_coverage_90": 0.98777693,
        "count_interval_width": 2.16653934,
        "spend_coverage_90": 0.92284186,
        "spend_interval_width": 596.64970775
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 0.90112994,
        "predicted_count": 0.96547395,
        "observed_purchase_probability": 0.61393597,
        "predicted_purchase_probability": 0.58129005,
        "latent_alive_probability": null,
        "observed_spend_gbp": 440.79090395,
        "predicted_spend_gbp": 462.18505336,
        "predicted_spend_per_purchase": 478.71312744,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.38606403,
          0.39548023,
          0.17231638,
          0.02730697,
          0.01506591,
          0.00376648
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 0.90112994,
        "predicted_count": 1.07616821,
        "observed_purchase_probability": 0.61393597,
        "predicted_purchase_probability": 0.64556915,
        "latent_alive_probability": null,
        "observed_spend_gbp": 440.79090395,
        "predicted_spend_gbp": 575.29443812,
        "predicted_spend_per_purchase": 534.57668675,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.38606403,
          0.39548023,
          0.17231638,
          0.02730697,
          0.01506591,
          0.00376648
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 0.90112994,
        "predicted_count": 1.05598463,
        "observed_purchase_probability": 0.61393597,
        "predicted_purchase_probability": 0.58783063,
        "latent_alive_probability": 0.95376203,
        "observed_spend_gbp": 440.79090395,
        "predicted_spend_gbp": 472.59203533,
        "predicted_spend_per_purchase": 447.53685247,
        "predicted_count_distribution": [
          0.41189501,
          0.30998823,
          0.16222928,
          0.0700452,
          0.02808475,
          0.01775753
        ],
        "observed_count_distribution": [
          0.38606403,
          0.39548023,
          0.17231638,
          0.02730697,
          0.01506591,
          0.00376648
        ],
        "count_coverage_90": 0.9952919,
        "count_interval_width": 3.09416196,
        "spend_coverage_90": 0.97363465,
        "spend_interval_width": 1642.84692149
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 0.90112994,
        "predicted_count": 1.113052,
        "observed_purchase_probability": 0.61393597,
        "predicted_purchase_probability": 0.69183827,
        "latent_alive_probability": null,
        "observed_spend_gbp": 440.79090395,
        "predicted_spend_gbp": 541.14861551,
        "predicted_spend_per_purchase": 486.18448736,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.38606403,
          0.39548023,
          0.17231638,
          0.02730697,
          0.01506591,
          0.00376648
        ],
        "count_coverage_90": 0.98399247,
        "count_interval_width": 2.8079096,
        "spend_coverage_90": 0.90583804,
        "spend_interval_width": 1082.29723101
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.19093392,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.16471873,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 82.86489929,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.83528127,
          0.14156199,
          0.02075369,
          0.00174768,
          0.00065538,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.19093392,
        "predicted_count": 0.28627304,
        "observed_purchase_probability": 0.16471873,
        "predicted_purchase_probability": 0.23592713,
        "latent_alive_probability": null,
        "observed_spend_gbp": 82.86489929,
        "predicted_spend_gbp": 182.37165252,
        "predicted_spend_per_purchase": 637.05493488,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.83528127,
          0.14156199,
          0.02075369,
          0.00174768,
          0.00065538,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.19093392,
        "predicted_count": 0.23902254,
        "observed_purchase_probability": 0.16471873,
        "predicted_purchase_probability": 0.18393396,
        "latent_alive_probability": 0.8836594,
        "observed_spend_gbp": 82.86489929,
        "predicted_spend_gbp": 94.89184815,
        "predicted_spend_per_purchase": 396.99958124,
        "predicted_count_distribution": [
          0.81608684,
          0.14185008,
          0.03214058,
          0.00757307,
          0.0017888,
          0.00056062
        ],
        "observed_count_distribution": [
          0.83528127,
          0.14156199,
          0.02075369,
          0.00174768,
          0.00065538,
          0.0
        ],
        "count_coverage_90": 0.98853086,
        "count_interval_width": 1.27220098,
        "spend_coverage_90": 0.96329874,
        "spend_interval_width": 528.61084181
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.19093392,
        "predicted_count": 0.35879809,
        "observed_purchase_probability": 0.16471873,
        "predicted_purchase_probability": 0.29270693,
        "latent_alive_probability": null,
        "observed_spend_gbp": 82.86489929,
        "predicted_spend_gbp": 162.36854262,
        "predicted_spend_per_purchase": 452.53457696,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.83528127,
          0.14156199,
          0.02075369,
          0.00174768,
          0.00065538,
          0.0
        ],
        "count_coverage_90": 0.99726925,
        "count_interval_width": 1.91119607,
        "spend_coverage_90": 0.92069907,
        "spend_interval_width": 324.73708524
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.08893232,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.0786709,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 30.23820938,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.9213291,
          0.06938676,
          0.00830687,
          0.00097728,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.08893232,
        "predicted_count": 0.18475646,
        "observed_purchase_probability": 0.0786709,
        "predicted_purchase_probability": 0.1581161,
        "latent_alive_probability": null,
        "observed_spend_gbp": 30.23820938,
        "predicted_spend_gbp": 71.6925513,
        "predicted_spend_per_purchase": 388.03813844,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.9213291,
          0.06938676,
          0.00830687,
          0.00097728,
          0.0,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.08893232,
        "predicted_count": 0.12843295,
        "observed_purchase_probability": 0.0786709,
        "predicted_purchase_probability": 0.10949738,
        "latent_alive_probability": 1.0,
        "observed_spend_gbp": 30.23820938,
        "predicted_spend_gbp": 52.38787717,
        "predicted_spend_per_purchase": 407.90058958,
        "predicted_count_distribution": [
          0.89059113,
          0.09379648,
          0.0129829,
          0.0021428,
          0.00038908,
          9.761e-05
        ],
        "observed_count_distribution": [
          0.9213291,
          0.06938676,
          0.00830687,
          0.00097728,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.98973858,
        "count_interval_width": 0.99389201,
        "spend_coverage_90": 0.96652822,
        "spend_interval_width": 323.8663796
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.08893232,
        "predicted_count": 0.2292167,
        "observed_purchase_probability": 0.0786709,
        "predicted_purchase_probability": 0.19378006,
        "latent_alive_probability": null,
        "observed_spend_gbp": 30.23820938,
        "predicted_spend_gbp": 96.98481135,
        "predicted_spend_per_purchase": 423.11406476,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.9213291,
          0.06938676,
          0.00830687,
          0.00097728,
          0.0,
          0.0
        ],
        "count_coverage_90": 0.99804544,
        "count_interval_width": 1.76325434,
        "spend_coverage_90": 0.94453946,
        "spend_interval_width": 193.9696227
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.23024298,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.20287804,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 101.06724959,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.79712196,
          0.17905166,
          0.02099552,
          0.00212314,
          0.00070771,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.23024298,
        "predicted_count": 0.33935867,
        "observed_purchase_probability": 0.20287804,
        "predicted_purchase_probability": 0.27934732,
        "latent_alive_probability": null,
        "observed_spend_gbp": 101.06724959,
        "predicted_spend_gbp": 150.89956181,
        "predicted_spend_per_purchase": 444.66098657,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.79712196,
          0.17905166,
          0.02099552,
          0.00212314,
          0.00070771,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.23024298,
        "predicted_count": 0.27796764,
        "observed_purchase_probability": 0.20287804,
        "predicted_purchase_probability": 0.21796762,
        "latent_alive_probability": 0.80467193,
        "observed_spend_gbp": 101.06724959,
        "predicted_spend_gbp": 105.72970955,
        "predicted_spend_per_purchase": 380.36696862,
        "predicted_count_distribution": [
          0.78199257,
          0.17032071,
          0.03784041,
          0.0078778,
          0.0015631,
          0.0004054
        ],
        "observed_count_distribution": [
          0.79712196,
          0.17905166,
          0.02099552,
          0.00212314,
          0.00070771,
          0.0
        ],
        "count_coverage_90": 0.98702524,
        "count_interval_width": 1.36470866,
        "spend_coverage_90": 0.96131163,
        "spend_interval_width": 616.42492043
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.23024298,
        "predicted_count": 0.42569992,
        "observed_purchase_probability": 0.20287804,
        "predicted_purchase_probability": 0.35050564,
        "latent_alive_probability": null,
        "observed_spend_gbp": 101.06724959,
        "predicted_spend_gbp": 187.18627714,
        "predicted_spend_per_purchase": 439.71414744,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.79712196,
          0.17905166,
          0.02099552,
          0.00212314,
          0.00070771,
          0.0
        ],
        "count_coverage_90": 0.99693324,
        "count_interval_width": 1.99268695,
        "spend_coverage_90": 0.90516631,
        "spend_interval_width": 374.37255428
      },
      {
        "model": "recent_rule",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.49574727,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.39611179,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 250.83729162,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.60388821,
          0.30741191,
          0.08140948,
          0.0036452,
          0.0036452,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.49574727,
        "predicted_count": 0.51771579,
        "observed_purchase_probability": 0.39611179,
        "predicted_purchase_probability": 0.39925929,
        "latent_alive_probability": null,
        "observed_spend_gbp": 250.83729162,
        "predicted_spend_gbp": 894.91084312,
        "predicted_spend_per_purchase": 1728.57553807,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.60388821,
          0.30741191,
          0.08140948,
          0.0036452,
          0.0036452,
          0.0
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.49574727,
        "predicted_count": 0.58842095,
        "observed_purchase_probability": 0.39611179,
        "predicted_purchase_probability": 0.37883098,
        "latent_alive_probability": 0.71190461,
        "observed_spend_gbp": 250.83729162,
        "predicted_spend_gbp": 250.4532804,
        "predicted_spend_per_purchase": 425.63624272,
        "predicted_count_distribution": [
          0.62116525,
          0.23419077,
          0.09805893,
          0.03300972,
          0.00991252,
          0.00366282
        ],
        "observed_count_distribution": [
          0.60388821,
          0.30741191,
          0.08140948,
          0.0036452,
          0.0036452,
          0.0
        ],
        "count_coverage_90": 0.99027947,
        "count_interval_width": 2.17982989,
        "spend_coverage_90": 0.95747266,
        "spend_interval_width": 1094.55884244
      },
      {
        "model": "boosting",
        "horizon_days": 60,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.49574727,
        "predicted_count": 0.65865201,
        "observed_purchase_probability": 0.39611179,
        "predicted_purchase_probability": 0.48699481,
        "latent_alive_probability": null,
        "observed_spend_gbp": 250.83729162,
        "predicted_spend_gbp": 359.71147756,
        "predicted_spend_per_purchase": 546.13282011,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.60388821,
          0.30741191,
          0.08140948,
          0.0036452,
          0.0036452,
          0.0
        ],
        "count_coverage_90": 0.99513973,
        "count_interval_width": 2.2272175,
        "spend_coverage_90": 0.88213852,
        "spend_interval_width": 719.42295511
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.73457048,
        "predicted_count": 0.68445927,
        "observed_purchase_probability": 0.36905755,
        "predicted_purchase_probability": 0.27102749,
        "latent_alive_probability": null,
        "observed_spend_gbp": 401.23907583,
        "predicted_spend_gbp": 348.03902085,
        "predicted_spend_per_purchase": 508.48755402,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.63094245,
          0.20948012,
          0.08319433,
          0.03468168,
          0.01848763,
          0.02321379
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.73457048,
        "predicted_count": 0.97606516,
        "observed_purchase_probability": 0.36905755,
        "predicted_purchase_probability": 0.44666157,
        "latent_alive_probability": null,
        "observed_spend_gbp": 401.23907583,
        "predicted_spend_gbp": 595.7239179,
        "predicted_spend_per_purchase": 610.33212103,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.63094245,
          0.20948012,
          0.08319433,
          0.03468168,
          0.01848763,
          0.02321379
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.73457048,
        "predicted_count": 0.77529212,
        "observed_purchase_probability": 0.36905755,
        "predicted_purchase_probability": 0.37944538,
        "latent_alive_probability": 0.91320594,
        "observed_spend_gbp": 401.23907583,
        "predicted_spend_gbp": 380.53979469,
        "predicted_spend_per_purchase": 490.83408317,
        "predicted_count_distribution": [
          0.62058761,
          0.20297199,
          0.08852036,
          0.04127672,
          0.02027036,
          0.02637295
        ],
        "observed_count_distribution": [
          0.63094245,
          0.20948012,
          0.08319433,
          0.03468168,
          0.01848763,
          0.02321379
        ],
        "count_coverage_90": 0.97755074,
        "count_interval_width": 2.41131498,
        "spend_coverage_90": 0.96246872,
        "spend_interval_width": 1237.61555621
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "All purchase histories",
        "observations": 14388,
        "unique_customers": 5155,
        "observed_count": 0.73457048,
        "predicted_count": 0.95685625,
        "observed_purchase_probability": 0.36905755,
        "predicted_purchase_probability": 0.49045015,
        "latent_alive_probability": null,
        "observed_spend_gbp": 401.23907583,
        "predicted_spend_gbp": 492.16861206,
        "predicted_spend_per_purchase": 514.36003483,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.63094245,
          0.20948012,
          0.08319433,
          0.03468168,
          0.01848763,
          0.02321379
        ],
        "count_coverage_90": 0.98422296,
        "count_interval_width": 2.81971087,
        "spend_coverage_90": 0.9175702,
        "spend_interval_width": 984.33722413
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.17987199,
        "predicted_count": 0.0966674,
        "observed_purchase_probability": 0.13948356,
        "predicted_purchase_probability": 0.06110545,
        "latent_alive_probability": null,
        "observed_spend_gbp": 66.54759016,
        "predicted_spend_gbp": 47.33856787,
        "predicted_spend_per_purchase": 489.70559589,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.86051644,
          0.11189583,
          0.01875966,
          0.00573825,
          0.00264842,
          0.0004414
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.17987199,
        "predicted_count": 0.30667592,
        "observed_purchase_probability": 0.13948356,
        "predicted_purchase_probability": 0.2316722,
        "latent_alive_probability": null,
        "observed_spend_gbp": 66.54759016,
        "predicted_spend_gbp": 119.48305118,
        "predicted_spend_per_purchase": 389.60688509,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.86051644,
          0.11189583,
          0.01875966,
          0.00573825,
          0.00264842,
          0.0004414
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.17987199,
        "predicted_count": 0.21973875,
        "observed_purchase_probability": 0.13948356,
        "predicted_purchase_probability": 0.16788237,
        "latent_alive_probability": 1.0,
        "observed_spend_gbp": 66.54759016,
        "predicted_spend_gbp": 89.55972896,
        "predicted_spend_per_purchase": 407.57368004,
        "predicted_count_distribution": [
          0.83219587,
          0.13039815,
          0.02745299,
          0.0069456,
          0.00201766,
          0.00098974
        ],
        "observed_count_distribution": [
          0.86051644,
          0.11189583,
          0.01875966,
          0.00573825,
          0.00264842,
          0.0004414
        ],
        "count_coverage_90": 0.98366806,
        "count_interval_width": 1.27455308,
        "spend_coverage_90": 0.96490841,
        "spend_interval_width": 534.55856429
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "One purchase day",
        "observations": 4531,
        "unique_customers": 1920,
        "observed_count": 0.17987199,
        "predicted_count": 0.36832799,
        "observed_purchase_probability": 0.13948356,
        "predicted_purchase_probability": 0.27211625,
        "latent_alive_probability": null,
        "observed_spend_gbp": 66.54759016,
        "predicted_spend_gbp": 155.71073351,
        "predicted_spend_per_purchase": 422.75020855,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.86051644,
          0.11189583,
          0.01875966,
          0.00573825,
          0.00264842,
          0.0004414
        ],
        "count_coverage_90": 0.99337895,
        "count_interval_width": 2.09114986,
        "spend_coverage_90": 0.9276098,
        "spend_interval_width": 311.42146702
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.48622848,
        "predicted_count": 0.44053208,
        "observed_purchase_probability": 0.3372457,
        "predicted_purchase_probability": 0.23342639,
        "latent_alive_probability": null,
        "observed_spend_gbp": 191.15399077,
        "predicted_spend_gbp": 161.39204382,
        "predicted_spend_per_purchase": 366.35707282,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.6627543,
          0.23959311,
          0.06776213,
          0.01846635,
          0.00657277,
          0.00485133
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.48622848,
        "predicted_count": 0.7075555,
        "observed_purchase_probability": 0.3372457,
        "predicted_purchase_probability": 0.43915961,
        "latent_alive_probability": null,
        "observed_spend_gbp": 191.15399077,
        "predicted_spend_gbp": 310.1351154,
        "predicted_spend_per_purchase": 438.31913663,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.6627543,
          0.23959311,
          0.06776213,
          0.01846635,
          0.00657277,
          0.00485133
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.48622848,
        "predicted_count": 0.54549056,
        "observed_purchase_probability": 0.3372457,
        "predicted_purchase_probability": 0.35471554,
        "latent_alive_probability": 0.85352394,
        "observed_spend_gbp": 191.15399077,
        "predicted_spend_gbp": 208.38737917,
        "predicted_spend_per_purchase": 382.01830412,
        "predicted_count_distribution": [
          0.64524014,
          0.23037919,
          0.08188998,
          0.02763498,
          0.00940399,
          0.00545172
        ],
        "observed_count_distribution": [
          0.6627543,
          0.23959311,
          0.06776213,
          0.01846635,
          0.00657277,
          0.00485133
        ],
        "count_coverage_90": 0.97668232,
        "count_interval_width": 2.13442879,
        "spend_coverage_90": 0.96525822,
        "spend_interval_width": 968.45431226
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "2–5 purchase days",
        "observations": 6390,
        "unique_customers": 2602,
        "observed_count": 0.48622848,
        "predicted_count": 0.74883567,
        "observed_purchase_probability": 0.3372457,
        "predicted_purchase_probability": 0.49815819,
        "latent_alive_probability": null,
        "observed_spend_gbp": 191.15399077,
        "predicted_spend_gbp": 323.44502138,
        "predicted_spend_per_purchase": 431.93057466,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.6627543,
          0.23959311,
          0.06776213,
          0.01846635,
          0.00657277,
          0.00485133
        ],
        "count_coverage_90": 0.98794992,
        "count_interval_width": 2.64882629,
        "spend_coverage_90": 0.91408451,
        "spend_interval_width": 646.89004277
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 1.9172195,
        "predicted_count": 1.90222094,
        "observed_purchase_probability": 0.72771849,
        "predicted_purchase_probability": 0.61467552,
        "latent_alive_probability": null,
        "observed_spend_gbp": 1225.85136746,
        "predicted_spend_gbp": 1085.03006086,
        "predicted_spend_per_purchase": 570.40170144,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.27228151,
          0.28151139,
          0.19584655,
          0.102394,
          0.06114797,
          0.08681858
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 1.9172195,
        "predicted_count": 2.34577365,
        "observed_purchase_probability": 0.72771849,
        "predicted_purchase_probability": 0.74145658,
        "latent_alive_probability": null,
        "observed_spend_gbp": 1225.85136746,
        "predicted_spend_gbp": 1744.48648355,
        "predicted_spend_per_purchase": 743.67212892,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.27228151,
          0.28151139,
          0.19584655,
          0.102394,
          0.06114797,
          0.08681858
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 1.9172195,
        "predicted_count": 1.92488665,
        "observed_purchase_probability": 0.72771849,
        "predicted_purchase_probability": 0.7015151,
        "latent_alive_probability": 0.90977476,
        "observed_spend_gbp": 1225.85136746,
        "predicted_spend_gbp": 1078.11251261,
        "predicted_spend_per_purchase": 560.09142794,
        "predicted_count_distribution": [
          0.29860124,
          0.2473043,
          0.18054932,
          0.11128685,
          0.06415244,
          0.09810586
        ],
        "observed_count_distribution": [
          0.27228151,
          0.28151139,
          0.19584655,
          0.102394,
          0.06114797,
          0.08681858
        ],
        "count_coverage_90": 0.97115662,
        "count_interval_width": 4.40726853,
        "spend_coverage_90": 0.95413903,
        "spend_interval_width": 2652.52515508
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "All inactivity bands",
        "frequency": "6+ purchase days",
        "observations": 3467,
        "unique_customers": 1351,
        "observed_count": 1.9172195,
        "predicted_count": 2.1094011,
        "observed_purchase_probability": 0.72771849,
        "predicted_purchase_probability": 0.76158269,
        "latent_alive_probability": null,
        "observed_spend_gbp": 1225.85136746,
        "predicted_spend_gbp": 1242.85635137,
        "predicted_spend_per_purchase": 589.19868276,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.27228151,
          0.28151139,
          0.19584655,
          0.102394,
          0.06114797,
          0.08681858
        ],
        "count_coverage_90": 0.96538794,
        "count_interval_width": 4.08681858,
        "spend_coverage_90": 0.91087395,
        "spend_interval_width": 2485.71270275
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 2.13810111,
        "predicted_count": 2.61693383,
        "observed_purchase_probability": 0.72297575,
        "predicted_purchase_probability": 0.82074938,
        "latent_alive_probability": null,
        "observed_spend_gbp": 1412.69888615,
        "predicted_spend_gbp": 1436.88321866,
        "predicted_spend_per_purchase": 549.07128491,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.27702425,
          0.26304973,
          0.1730374,
          0.10193177,
          0.06822852,
          0.11672832
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 2.13810111,
        "predicted_count": 2.79192891,
        "observed_purchase_probability": 0.72297575,
        "predicted_purchase_probability": 0.78368785,
        "latent_alive_probability": null,
        "observed_spend_gbp": 1412.69888615,
        "predicted_spend_gbp": 1908.82499586,
        "predicted_spend_per_purchase": 683.69398246,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.27702425,
          0.26304973,
          0.1730374,
          0.10193177,
          0.06822852,
          0.11672832
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 2.13810111,
        "predicted_count": 2.06897704,
        "observed_purchase_probability": 0.72297575,
        "predicted_purchase_probability": 0.70682436,
        "latent_alive_probability": 0.9760371,
        "observed_spend_gbp": 1412.69888615,
        "predicted_spend_gbp": 1216.50813387,
        "predicted_spend_per_purchase": 587.9756558,
        "predicted_count_distribution": [
          0.29279614,
          0.24819379,
          0.16991554,
          0.10694924,
          0.06525956,
          0.11688574
        ],
        "observed_count_distribution": [
          0.27702425,
          0.26304973,
          0.1730374,
          0.10193177,
          0.06822852,
          0.11672832
        ],
        "count_coverage_90": 0.96300863,
        "count_interval_width": 4.53226469,
        "spend_coverage_90": 0.95191122,
        "spend_interval_width": 2817.03059845
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "All purchase histories",
        "observations": 2433,
        "unique_customers": 1602,
        "observed_count": 2.13810111,
        "predicted_count": 2.34565665,
        "observed_purchase_probability": 0.72297575,
        "predicted_purchase_probability": 0.7803926,
        "latent_alive_probability": null,
        "observed_spend_gbp": 1412.69888615,
        "predicted_spend_gbp": 1401.05348874,
        "predicted_spend_per_purchase": 597.29691774,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.27702425,
          0.26304973,
          0.1730374,
          0.10193177,
          0.06822852,
          0.11672832
        ],
        "count_coverage_90": 0.95766543,
        "count_interval_width": 4.2486642,
        "spend_coverage_90": 0.91985203,
        "spend_interval_width": 2802.10697748
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.87767221,
        "predicted_count": 1.54513064,
        "observed_purchase_probability": 0.50593824,
        "predicted_purchase_probability": 0.73734955,
        "latent_alive_probability": null,
        "observed_spend_gbp": 301.03396675,
        "predicted_spend_gbp": 553.16792162,
        "predicted_spend_per_purchase": 358.00721752,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.49406176,
          0.30522565,
          0.1175772,
          0.04275534,
          0.02019002,
          0.02019002
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.87767221,
        "predicted_count": 1.21913955,
        "observed_purchase_probability": 0.50593824,
        "predicted_purchase_probability": 0.61882309,
        "latent_alive_probability": null,
        "observed_spend_gbp": 301.03396675,
        "predicted_spend_gbp": 544.08433762,
        "predicted_spend_per_purchase": 446.28552772,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.49406176,
          0.30522565,
          0.1175772,
          0.04275534,
          0.02019002,
          0.02019002
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.87767221,
        "predicted_count": 0.89704186,
        "observed_purchase_probability": 0.50593824,
        "predicted_purchase_probability": 0.50631619,
        "latent_alive_probability": 0.96235385,
        "observed_spend_gbp": 301.03396675,
        "predicted_spend_gbp": 330.48896273,
        "predicted_spend_per_purchase": 368.42089052,
        "predicted_count_distribution": [
          0.4932399,
          0.28368884,
          0.12855582,
          0.05406948,
          0.02260392,
          0.01784204
        ],
        "observed_count_distribution": [
          0.49406176,
          0.30522565,
          0.1175772,
          0.04275534,
          0.02019002,
          0.02019002
        ],
        "count_coverage_90": 0.97149644,
        "count_interval_width": 2.98337292,
        "spend_coverage_90": 0.96674584,
        "spend_interval_width": 1324.39669358
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "2–5 purchase days",
        "observations": 842,
        "unique_customers": 762,
        "observed_count": 0.87767221,
        "predicted_count": 1.145416,
        "observed_purchase_probability": 0.50593824,
        "predicted_purchase_probability": 0.64928,
        "latent_alive_probability": null,
        "observed_spend_gbp": 301.03396675,
        "predicted_spend_gbp": 466.87955569,
        "predicted_spend_per_purchase": 407.60697938,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.49406176,
          0.30522565,
          0.1175772,
          0.04275534,
          0.02019002,
          0.02019002
        ],
        "count_coverage_90": 0.97387173,
        "count_interval_width": 3.19952494,
        "spend_coverage_90": 0.9216152,
        "spend_interval_width": 933.75911138
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 2.81984829,
        "predicted_count": 3.1965866,
        "observed_purchase_probability": 0.84134008,
        "predicted_purchase_probability": 0.86621101,
        "latent_alive_probability": null,
        "observed_spend_gbp": 2011.44135904,
        "predicted_spend_gbp": 1912.47688432,
        "predicted_spend_per_purchase": 598.28721198,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.15865992,
          0.24083439,
          0.20353982,
          0.13400759,
          0.09418458,
          0.1687737
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 2.81984829,
        "predicted_count": 3.64087033,
        "observed_purchase_probability": 0.84134008,
        "predicted_purchase_probability": 0.87372025,
        "latent_alive_probability": null,
        "observed_spend_gbp": 2011.44135904,
        "predicted_spend_gbp": 2644.32212167,
        "predicted_spend_per_purchase": 726.28846437,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.15865992,
          0.24083439,
          0.20353982,
          0.13400759,
          0.09418458,
          0.1687737
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 2.81984829,
        "predicted_count": 2.70103637,
        "observed_purchase_probability": 0.84134008,
        "predicted_purchase_probability": 0.81553405,
        "latent_alive_probability": 0.98318352,
        "observed_spend_gbp": 2011.44135904,
        "predicted_spend_gbp": 1693.60984101,
        "predicted_spend_per_purchase": 627.02222629,
        "predicted_count_distribution": [
          0.18413053,
          0.22949463,
          0.19244437,
          0.13548925,
          0.08823894,
          0.17020228
        ],
        "observed_count_distribution": [
          0.15865992,
          0.24083439,
          0.20353982,
          0.13400759,
          0.09418458,
          0.1687737
        ],
        "count_coverage_90": 0.95828066,
        "count_interval_width": 5.3653603,
        "spend_coverage_90": 0.9437421,
        "spend_interval_width": 3620.52990133
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "0–30 days",
        "frequency": "6+ purchase days",
        "observations": 1582,
        "unique_customers": 920,
        "observed_count": 2.81984829,
        "predicted_count": 2.99202153,
        "observed_purchase_probability": 0.84134008,
        "predicted_purchase_probability": 0.85172707,
        "latent_alive_probability": null,
        "observed_spend_gbp": 2011.44135904,
        "predicted_spend_gbp": 1903.07636565,
        "predicted_spend_per_purchase": 636.05035862,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.15865992,
          0.24083439,
          0.20353982,
          0.13400759,
          0.09418458,
          0.1687737
        ],
        "count_coverage_90": 0.94879899,
        "count_interval_width": 4.81352718,
        "spend_coverage_90": 0.91908976,
        "spend_interval_width": 3806.15273131
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.9225,
        "predicted_count": 1.24321429,
        "observed_purchase_probability": 0.52571429,
        "predicted_purchase_probability": 0.67952151,
        "latent_alive_probability": null,
        "observed_spend_gbp": 418.622775,
        "predicted_spend_gbp": 539.87448607,
        "predicted_spend_per_purchase": 434.25698391,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.47428571,
          0.28678571,
          0.145,
          0.05535714,
          0.02464286,
          0.01392857
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.9225,
        "predicted_count": 1.15031968,
        "observed_purchase_probability": 0.52571429,
        "predicted_purchase_probability": 0.60088917,
        "latent_alive_probability": null,
        "observed_spend_gbp": 418.622775,
        "predicted_spend_gbp": 574.06833749,
        "predicted_spend_per_purchase": 499.0511322,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.47428571,
          0.28678571,
          0.145,
          0.05535714,
          0.02464286,
          0.01392857
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.9225,
        "predicted_count": 1.01743891,
        "observed_purchase_probability": 0.52571429,
        "predicted_purchase_probability": 0.52794849,
        "latent_alive_probability": 0.95521677,
        "observed_spend_gbp": 418.622775,
        "predicted_spend_gbp": 434.3980213,
        "predicted_spend_per_purchase": 426.95243721,
        "predicted_count_distribution": [
          0.47234857,
          0.26696089,
          0.1378275,
          0.06612554,
          0.03068375,
          0.02605375
        ],
        "observed_count_distribution": [
          0.47428571,
          0.28678571,
          0.145,
          0.05535714,
          0.02464286,
          0.01392857
        ],
        "count_coverage_90": 0.97785714,
        "count_interval_width": 3.11857143,
        "spend_coverage_90": 0.97071429,
        "spend_interval_width": 1547.88170057
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "All purchase histories",
        "observations": 2800,
        "unique_customers": 2214,
        "observed_count": 0.9225,
        "predicted_count": 1.18146539,
        "observed_purchase_probability": 0.52571429,
        "predicted_purchase_probability": 0.6434295,
        "latent_alive_probability": null,
        "observed_spend_gbp": 418.622775,
        "predicted_spend_gbp": 543.51484929,
        "predicted_spend_per_purchase": 460.03450928,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.47428571,
          0.28678571,
          0.145,
          0.05535714,
          0.02464286,
          0.01392857
        ],
        "count_coverage_90": 0.98214286,
        "count_interval_width": 3.24392857,
        "spend_coverage_90": 0.9175,
        "spend_interval_width": 1087.02969858
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.47785548,
        "predicted_count": 1.0,
        "observed_purchase_probability": 0.31468531,
        "predicted_purchase_probability": 0.63212056,
        "latent_alive_probability": null,
        "observed_spend_gbp": 190.71678322,
        "predicted_spend_gbp": 489.18415152,
        "predicted_spend_per_purchase": 489.18415152,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.68531469,
          0.20745921,
          0.07226107,
          0.01864802,
          0.01398601,
          0.002331
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.47785548,
        "predicted_count": 0.58217245,
        "observed_purchase_probability": 0.31468531,
        "predicted_purchase_probability": 0.38451082,
        "latent_alive_probability": null,
        "observed_spend_gbp": 190.71678322,
        "predicted_spend_gbp": 233.56361571,
        "predicted_spend_per_purchase": 401.1931804,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.68531469,
          0.20745921,
          0.07226107,
          0.01864802,
          0.01398601,
          0.002331
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.47785548,
        "predicted_count": 0.47575754,
        "observed_purchase_probability": 0.31468531,
        "predicted_purchase_probability": 0.30595194,
        "latent_alive_probability": 1.0,
        "observed_spend_gbp": 190.71678322,
        "predicted_spend_gbp": 193.36309187,
        "predicted_spend_per_purchase": 406.43200969,
        "predicted_count_distribution": [
          0.69443357,
          0.19936597,
          0.06724942,
          0.02393823,
          0.00912121,
          0.00589161
        ],
        "observed_count_distribution": [
          0.68531469,
          0.20745921,
          0.07226107,
          0.01864802,
          0.01398601,
          0.002331
        ],
        "count_coverage_90": 0.96736597,
        "count_interval_width": 2.18881119,
        "spend_coverage_90": 0.97202797,
        "spend_interval_width": 1016.12714291
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "One purchase day",
        "observations": 429,
        "unique_customers": 429,
        "observed_count": 0.47785548,
        "predicted_count": 0.63668922,
        "observed_purchase_probability": 0.31468531,
        "predicted_purchase_probability": 0.41903272,
        "latent_alive_probability": null,
        "observed_spend_gbp": 190.71678322,
        "predicted_spend_gbp": 269.5991139,
        "predicted_spend_per_purchase": 423.43910549,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.68531469,
          0.20745921,
          0.07226107,
          0.01864802,
          0.01398601,
          0.002331
        ],
        "count_coverage_90": 0.97668998,
        "count_interval_width": 2.46386946,
        "spend_coverage_90": 0.8997669,
        "spend_interval_width": 539.19822779
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.64171123,
        "predicted_count": 1.1566081,
        "observed_purchase_probability": 0.42093201,
        "predicted_purchase_probability": 0.66519964,
        "latent_alive_probability": null,
        "observed_spend_gbp": 250.46893812,
        "predicted_spend_gbp": 432.03038197,
        "predicted_spend_per_purchase": 373.53221268,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.57906799,
          0.27731092,
          0.09625668,
          0.03055768,
          0.01069519,
          0.00611154
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.64171123,
        "predicted_count": 0.92784762,
        "observed_purchase_probability": 0.42093201,
        "predicted_purchase_probability": 0.55772,
        "latent_alive_probability": null,
        "observed_spend_gbp": 250.46893812,
        "predicted_spend_gbp": 414.28377734,
        "predicted_spend_per_purchase": 446.49980189,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.57906799,
          0.27731092,
          0.09625668,
          0.03055768,
          0.01069519,
          0.00611154
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.64171123,
        "predicted_count": 0.7397237,
        "observed_purchase_probability": 0.42093201,
        "predicted_purchase_probability": 0.45458686,
        "latent_alive_probability": 0.94172016,
        "observed_spend_gbp": 250.46893812,
        "predicted_spend_gbp": 292.63888934,
        "predicted_spend_per_purchase": 395.60566844,
        "predicted_count_distribution": [
          0.54519786,
          0.27551261,
          0.11259855,
          0.04219786,
          0.01542895,
          0.00906417
        ],
        "observed_count_distribution": [
          0.57906799,
          0.27731092,
          0.09625668,
          0.03055768,
          0.01069519,
          0.00611154
        ],
        "count_coverage_90": 0.97326203,
        "count_interval_width": 2.60809778,
        "spend_coverage_90": 0.97173415,
        "spend_interval_width": 1234.58918417
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "2–5 purchase days",
        "observations": 1309,
        "unique_customers": 1136,
        "observed_count": 0.64171123,
        "predicted_count": 0.97114634,
        "observed_purchase_probability": 0.42093201,
        "predicted_purchase_probability": 0.61287935,
        "latent_alive_probability": null,
        "observed_spend_gbp": 250.46893812,
        "predicted_spend_gbp": 421.31032327,
        "predicted_spend_per_purchase": 433.82784471,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.57906799,
          0.27731092,
          0.09625668,
          0.03055768,
          0.01069519,
          0.00611154
        ],
        "count_coverage_90": 0.9854851,
        "count_interval_width": 3.01222307,
        "spend_coverage_90": 0.92513369,
        "spend_interval_width": 842.62064653
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 1.44821092,
        "predicted_count": 1.44821092,
        "observed_purchase_probability": 0.74011299,
        "predicted_purchase_probability": 0.71632221,
        "latent_alive_probability": null,
        "observed_spend_gbp": 717.94955744,
        "predicted_spend_gbp": 693.27758004,
        "predicted_spend_per_purchase": 478.71312744,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.25988701,
          0.33050847,
          0.23446328,
          0.1007533,
          0.04613936,
          0.02824859
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 1.44821092,
        "predicted_count": 1.6540401,
        "observed_purchase_probability": 0.74011299,
        "predicted_purchase_probability": 0.74150571,
        "latent_alive_probability": null,
        "observed_spend_gbp": 717.94955744,
        "predicted_spend_gbp": 908.56411421,
        "predicted_spend_per_purchase": 549.29993186,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.25988701,
          0.33050847,
          0.23446328,
          0.1007533,
          0.04613936,
          0.02824859
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 1.44821092,
        "predicted_count": 1.57855992,
        "observed_purchase_probability": 0.74011299,
        "predicted_purchase_probability": 0.70804915,
        "latent_alive_probability": 0.95376203,
        "observed_spend_gbp": 717.94955744,
        "predicted_spend_gbp": 706.49471476,
        "predicted_spend_per_purchase": 447.5564765,
        "predicted_count_distribution": [
          0.29284369,
          0.28372552,
          0.19743456,
          0.11266008,
          0.0581968,
          0.05513936
        ],
        "observed_count_distribution": [
          0.25988701,
          0.33050847,
          0.23446328,
          0.1007533,
          0.04613936,
          0.02824859
        ],
        "count_coverage_90": 0.98775895,
        "count_interval_width": 4.12335217,
        "spend_coverage_90": 0.96892655,
        "spend_interval_width": 2148.84460942
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "31–90 days",
        "frequency": "6+ purchase days",
        "observations": 1062,
        "unique_customers": 785,
        "observed_count": 1.44821092,
        "predicted_count": 1.66076539,
        "observed_purchase_probability": 0.74011299,
        "predicted_purchase_probability": 0.77173117,
        "latent_alive_probability": null,
        "observed_spend_gbp": 717.94955744,
        "predicted_spend_gbp": 804.79128531,
        "predicted_spend_per_purchase": 484.59059191,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.25988701,
          0.33050847,
          0.23446328,
          0.1007533,
          0.04613936,
          0.02824859
        ],
        "count_coverage_90": 0.98022599,
        "count_interval_width": 3.84463277,
        "spend_coverage_90": 0.91525424,
        "spend_interval_width": 1609.58257061
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.30409612,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.22708902,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 127.1204438,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.77291098,
          0.17160022,
          0.04041507,
          0.01048607,
          0.00338613,
          0.00120153
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.30409612,
        "predicted_count": 0.44019305,
        "observed_purchase_probability": 0.22708902,
        "predicted_purchase_probability": 0.30992511,
        "latent_alive_probability": null,
        "observed_spend_gbp": 127.1204438,
        "predicted_spend_gbp": 253.38210495,
        "predicted_spend_per_purchase": 575.61587215,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.77291098,
          0.17160022,
          0.04041507,
          0.01048607,
          0.00338613,
          0.00120153
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.30409612,
        "predicted_count": 0.35742795,
        "observed_purchase_probability": 0.22708902,
        "predicted_purchase_probability": 0.24702356,
        "latent_alive_probability": 0.8836594,
        "observed_spend_gbp": 127.1204438,
        "predicted_spend_gbp": 141.90363918,
        "predicted_spend_per_purchase": 397.01327136,
        "predicted_count_distribution": [
          0.75303829,
          0.1713834,
          0.05180879,
          0.01622398,
          0.00512933,
          0.00241622
        ],
        "observed_count_distribution": [
          0.77291098,
          0.17160022,
          0.04041507,
          0.01048607,
          0.00338613,
          0.00120153
        ],
        "count_coverage_90": 0.98132168,
        "count_interval_width": 1.63134899,
        "spend_coverage_90": 0.96275259,
        "spend_interval_width": 722.98289625
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "All purchase histories",
        "observations": 9155,
        "unique_customers": 4084,
        "observed_count": 0.30409612,
        "predicted_count": 0.51907831,
        "observed_purchase_probability": 0.22708902,
        "predicted_purchase_probability": 0.36660829,
        "latent_alive_probability": null,
        "observed_spend_gbp": 127.1204438,
        "predicted_spend_gbp": 234.92269517,
        "predicted_spend_per_purchase": 452.57659495,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.77291098,
          0.17160022,
          0.04041507,
          0.01048607,
          0.00338613,
          0.00120153
        ],
        "count_coverage_90": 0.99191699,
        "count_interval_width": 2.310213,
        "spend_coverage_90": 0.91698525,
        "spend_interval_width": 469.84539034
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.1485463,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.12093819,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 53.30663841,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.87906181,
          0.10163694,
          0.01319326,
          0.00439775,
          0.00146592,
          0.00024432
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.1485463,
        "predicted_count": 0.27691326,
        "observed_purchase_probability": 0.12093819,
        "predicted_purchase_probability": 0.21532214,
        "latent_alive_probability": null,
        "observed_spend_gbp": 53.30663841,
        "predicted_spend_gbp": 107.12052469,
        "predicted_spend_per_purchase": 386.83783725,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.87906181,
          0.10163694,
          0.01319326,
          0.00439775,
          0.00146592,
          0.00024432
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.1485463,
        "predicted_count": 0.1920508,
        "observed_purchase_probability": 0.12093819,
        "predicted_purchase_probability": 0.15299562,
        "latent_alive_probability": 1.0,
        "observed_spend_gbp": 53.30663841,
        "predicted_spend_gbp": 78.33876152,
        "predicted_spend_per_purchase": 407.90646034,
        "predicted_count_distribution": [
          0.84705522,
          0.12298485,
          0.02316785,
          0.00509748,
          0.0012409,
          0.0004537
        ],
        "observed_count_distribution": [
          0.87906181,
          0.10163694,
          0.01319326,
          0.00439775,
          0.00146592,
          0.00024432
        ],
        "count_coverage_90": 0.98534083,
        "count_interval_width": 1.17493281,
        "spend_coverage_90": 0.96408502,
        "spend_interval_width": 482.56808804
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "One purchase day",
        "observations": 4093,
        "unique_customers": 1702,
        "observed_count": 0.1485463,
        "predicted_count": 0.3387711,
        "observed_purchase_probability": 0.12093819,
        "predicted_purchase_probability": 0.25619948,
        "latent_alive_probability": null,
        "observed_spend_gbp": 53.30663841,
        "predicted_spend_gbp": 142.89850279,
        "predicted_spend_per_purchase": 421.81431998,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.87906181,
          0.10163694,
          0.01319326,
          0.00439775,
          0.00146592,
          0.00024432
        ],
        "count_coverage_90": 0.99511361,
        "count_interval_width": 2.04984119,
        "spend_coverage_90": 0.93061324,
        "spend_interval_width": 285.79700558
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.36046237,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.27789573,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 151.01192758,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.72210427,
          0.21490918,
          0.04906818,
          0.009908,
          0.00259495,
          0.00141543
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.36046237,
        "predicted_count": 0.53791262,
        "observed_purchase_probability": 0.27789573,
        "predicted_purchase_probability": 0.36686138,
        "latent_alive_probability": null,
        "observed_spend_gbp": 151.01192758,
        "predicted_spend_gbp": 231.50434314,
        "predicted_spend_per_purchase": 430.37536878,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.72210427,
          0.21490918,
          0.04906818,
          0.009908,
          0.00259495,
          0.00141543
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.36046237,
        "predicted_count": 0.41568226,
        "observed_purchase_probability": 0.27789573,
        "predicted_purchase_probability": 0.29376265,
        "latent_alive_probability": 0.80467193,
        "observed_spend_gbp": 151.01192758,
        "predicted_spend_gbp": 158.11732486,
        "predicted_spend_per_purchase": 380.38025444,
        "predicted_count_distribution": [
          0.70632519,
          0.20585303,
          0.06313789,
          0.01788724,
          0.00492156,
          0.00187509
        ],
        "observed_count_distribution": [
          0.72210427,
          0.21490918,
          0.04906818,
          0.009908,
          0.00259495,
          0.00141543
        ],
        "count_coverage_90": 0.97876858,
        "count_interval_width": 1.81953291,
        "spend_coverage_90": 0.96296296,
        "spend_interval_width": 815.57060563
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "2–5 purchase days",
        "observations": 4239,
        "unique_customers": 2019,
        "observed_count": 0.36046237,
        "predicted_count": 0.60141286,
        "observed_purchase_probability": 0.27789573,
        "predicted_purchase_probability": 0.4327148,
        "latent_alive_probability": null,
        "observed_spend_gbp": 151.01192758,
        "predicted_spend_gbp": 264.73363708,
        "predicted_spend_per_purchase": 440.18619447,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.72210427,
          0.21490918,
          0.04906818,
          0.009908,
          0.00259495,
          0.00141543
        ],
        "count_coverage_90": 0.99150743,
        "count_interval_width": 2.4272234,
        "spend_coverage_90": 0.90917669,
        "spend_interval_width": 529.46727417
      },
      {
        "model": "recent_rule",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.7873633,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.49331713,
        "predicted_purchase_probability": 0.0,
        "latent_alive_probability": null,
        "observed_spend_gbp": 371.15921142,
        "predicted_spend_gbp": 0.0,
        "predicted_spend_per_purchase": null,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.50668287,
          0.29647631,
          0.13122722,
          0.04374241,
          0.01701094,
          0.00486027
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "rfm_rule",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.7873633,
        "predicted_count": 0.74890619,
        "observed_purchase_probability": 0.49331713,
        "predicted_purchase_probability": 0.48715123,
        "latent_alive_probability": null,
        "observed_spend_gbp": 371.15921142,
        "predicted_spend_gbp": 1093.4653131,
        "predicted_spend_per_purchase": 1460.08316233,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.50668287,
          0.29647631,
          0.13122722,
          0.04374241,
          0.01701094,
          0.00486027
        ],
        "count_coverage_90": null,
        "count_interval_width": null,
        "spend_coverage_90": null,
        "spend_interval_width": null
      },
      {
        "model": "bgnbd",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.7873633,
        "predicted_count": 0.87984428,
        "observed_purchase_probability": 0.49331713,
        "predicted_purchase_probability": 0.47391224,
        "latent_alive_probability": 0.71190461,
        "observed_spend_gbp": 371.15921142,
        "predicted_spend_gbp": 374.51752813,
        "predicted_spend_per_purchase": 425.66342523,
        "predicted_count_distribution": [
          0.52607047,
          0.2345407,
          0.1358955,
          0.0629921,
          0.02553767,
          0.01496355
        ],
        "observed_count_distribution": [
          0.50668287,
          0.29647631,
          0.13122722,
          0.04374241,
          0.01701094,
          0.00486027
        ],
        "count_coverage_90": 0.9744836,
        "count_interval_width": 2.93195626,
        "spend_coverage_90": 0.95504253,
        "spend_interval_width": 1441.74171758
      },
      {
        "model": "boosting",
        "horizon_days": 90,
        "inactivity": "Over 90 days",
        "frequency": "6+ purchase days",
        "observations": 823,
        "unique_customers": 526,
        "observed_count": 0.7873633,
        "predicted_count": 0.99171655,
        "observed_purchase_probability": 0.49331713,
        "predicted_purchase_probability": 0.57520833,
        "latent_alive_probability": null,
        "observed_spend_gbp": 371.15921142,
        "predicted_spend_gbp": 539.03744198,
        "predicted_spend_per_purchase": 543.53982784,
        "predicted_count_distribution": null,
        "observed_count_distribution": [
          0.50668287,
          0.29647631,
          0.13122722,
          0.04374241,
          0.01701094,
          0.00486027
        ],
        "count_coverage_90": 0.9781288,
        "count_interval_width": 3.00243013,
        "spend_coverage_90": 0.88942892,
        "spend_interval_width": 1078.07488396
      }
    ],
    "calibration": [
      {
        "model": "recent_rule",
        "bin": 1,
        "observations": 1439,
        "observed_count": 0.30507297,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.23280056,
        "predicted_purchase_probability": 0.0,
        "observed_spend_gbp": 137.71093885,
        "predicted_spend_gbp": 0.0
      },
      {
        "model": "recent_rule",
        "bin": 2,
        "observations": 1439,
        "observed_count": 0.27032662,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.21056289,
        "predicted_purchase_probability": 0.0,
        "observed_spend_gbp": 102.75489924,
        "predicted_spend_gbp": 0.0
      },
      {
        "model": "recent_rule",
        "bin": 3,
        "observations": 1439,
        "observed_count": 0.23766505,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.18137596,
        "predicted_purchase_probability": 0.0,
        "observed_spend_gbp": 105.10755386,
        "predicted_spend_gbp": 0.0
      },
      {
        "model": "recent_rule",
        "bin": 4,
        "observations": 1439,
        "observed_count": 0.20847811,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.16678249,
        "predicted_purchase_probability": 0.0,
        "observed_spend_gbp": 80.37596942,
        "predicted_spend_gbp": 0.0
      },
      {
        "model": "recent_rule",
        "bin": 5,
        "observations": 1439,
        "observed_count": 0.36900625,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.26337735,
        "predicted_purchase_probability": 0.0,
        "observed_spend_gbp": 171.08569215,
        "predicted_spend_gbp": 0.0
      },
      {
        "model": "recent_rule",
        "bin": 6,
        "observations": 1439,
        "observed_count": 0.41209173,
        "predicted_count": 0.0,
        "observed_purchase_probability": 0.29256428,
        "predicted_purchase_probability": 0.0,
        "observed_spend_gbp": 161.75485129,
        "predicted_spend_gbp": 0.0
      },
      {
        "model": "recent_rule",
        "bin": 7,
        "observations": 1439,
        "observed_count": 0.54829743,
        "predicted_count": 0.63794302,
        "observed_purchase_probability": 0.38359972,
        "predicted_purchase_probability": 0.4032569,
        "observed_spend_gbp": 220.5909312,
        "predicted_spend_gbp": 311.64501042
      },
      {
        "model": "recent_rule",
        "bin": 8,
        "observations": 1439,
        "observed_count": 0.72411397,
        "predicted_count": 1.0,
        "observed_purchase_probability": 0.46212648,
        "predicted_purchase_probability": 0.63212056,
        "observed_spend_gbp": 319.22930507,
        "predicted_spend_gbp": 424.22877693
      },
      {
        "model": "recent_rule",
        "bin": 9,
        "observations": 1438,
        "observed_count": 1.14812239,
        "predicted_count": 1.45897079,
        "observed_purchase_probability": 0.63560501,
        "predicted_purchase_probability": 0.73885154,
        "observed_spend_gbp": 514.07680807,
        "predicted_spend_gbp": 636.95445202
      },
      {
        "model": "recent_rule",
        "bin": 10,
        "observations": 1438,
        "observed_count": 3.12447844,
        "predicted_count": 3.75034771,
        "observed_purchase_probability": 0.86230876,
        "predicted_purchase_probability": 0.93683366,
        "observed_spend_gbp": 2201.03294854,
        "predicted_spend_gbp": 2108.98647427
      },
      {
        "model": "rfm_rule",
        "bin": 1,
        "observations": 1439,
        "observed_count": 0.19596942,
        "predicted_count": 0.21604435,
        "observed_purchase_probability": 0.16122307,
        "predicted_purchase_probability": 0.16958201,
        "observed_spend_gbp": 79.98809659,
        "predicted_spend_gbp": 80.44599967
      },
      {
        "model": "rfm_rule",
        "bin": 2,
        "observations": 1439,
        "observed_count": 0.09728978,
        "predicted_count": 0.27522119,
        "observed_purchase_probability": 0.07922168,
        "predicted_purchase_probability": 0.21435546,
        "observed_spend_gbp": 31.3623419,
        "predicted_spend_gbp": 105.39779064
      },
      {
        "model": "rfm_rule",
        "bin": 3,
        "observations": 1439,
        "observed_count": 0.19735928,
        "predicted_count": 0.36070689,
        "observed_purchase_probability": 0.15357887,
        "predicted_purchase_probability": 0.27540669,
        "observed_spend_gbp": 79.06256428,
        "predicted_spend_gbp": 146.62230089
      },
      {
        "model": "rfm_rule",
        "bin": 4,
        "observations": 1439,
        "observed_count": 0.43154969,
        "predicted_count": 0.42098464,
        "observed_purchase_probability": 0.32175122,
        "predicted_purchase_probability": 0.30557778,
        "observed_spend_gbp": 169.04140445,
        "predicted_spend_gbp": 181.72429266
      },
      {
        "model": "rfm_rule",
        "bin": 5,
        "observations": 1439,
        "observed_count": 0.32036136,
        "predicted_count": 0.50735884,
        "observed_purchase_probability": 0.24252953,
        "predicted_purchase_probability": 0.35262286,
        "observed_spend_gbp": 124.10585129,
        "predicted_spend_gbp": 216.37958572
      },
      {
        "model": "rfm_rule",
        "bin": 6,
        "observations": 1439,
        "observed_count": 0.51633079,
        "predicted_count": 0.6871148,
        "observed_purchase_probability": 0.35093815,
        "predicted_purchase_probability": 0.44717478,
        "observed_spend_gbp": 246.83691452,
        "predicted_spend_gbp": 343.16090741
      },
      {
        "model": "rfm_rule",
        "bin": 7,
        "observations": 1439,
        "observed_count": 0.60528145,
        "predicted_count": 0.79655789,
        "observed_purchase_probability": 0.40444753,
        "predicted_purchase_probability": 0.49869812,
        "observed_spend_gbp": 248.12486518,
        "predicted_spend_gbp": 735.88090945
      },
      {
        "model": "rfm_rule",
        "bin": 8,
        "observations": 1439,
        "observed_count": 0.6838082,
        "predicted_count": 1.06480105,
        "observed_purchase_probability": 0.42738013,
        "predicted_purchase_probability": 0.59156864,
        "observed_spend_gbp": 245.35908965,
        "predicted_spend_gbp": 474.84275797
      },
      {
        "model": "rfm_rule",
        "bin": 9,
        "observations": 1438,
        "observed_count": 1.5340751,
        "predicted_count": 1.75877114,
        "observed_purchase_probability": 0.71210014,
        "predicted_purchase_probability": 0.73670838,
        "observed_spend_gbp": 788.37079972,
        "predicted_spend_gbp": 999.89241503
      },
      {
        "model": "rfm_rule",
        "bin": 10,
        "observations": 1438,
        "observed_count": 2.76564673,
        "predicted_count": 3.67551065,
        "observed_purchase_probability": 0.8379694,
        "predicted_purchase_probability": 0.87542046,
        "observed_spend_gbp": 2001.51993741,
        "predicted_spend_gbp": 2674.6177667
      },
      {
        "model": "bgnbd",
        "bin": 1,
        "observations": 1439,
        "observed_count": 0.10006949,
        "predicted_count": 0.10650467,
        "observed_purchase_probability": 0.08269632,
        "predicted_purchase_probability": 0.09245534,
        "observed_spend_gbp": 34.87380125,
        "predicted_spend_gbp": 42.86551707
      },
      {
        "model": "bgnbd",
        "bin": 2,
        "observations": 1439,
        "observed_count": 0.17929117,
        "predicted_count": 0.16135739,
        "observed_purchase_probability": 0.15079917,
        "predicted_purchase_probability": 0.13480566,
        "observed_spend_gbp": 73.06207853,
        "predicted_spend_gbp": 65.36444843
      },
      {
        "model": "bgnbd",
        "bin": 3,
        "observations": 1439,
        "observed_count": 0.19249479,
        "predicted_count": 0.22116309,
        "observed_purchase_probability": 0.15774844,
        "predicted_purchase_probability": 0.1764737,
        "observed_spend_gbp": 69.59057679,
        "predicted_spend_gbp": 86.37318786
      },
      {
        "model": "bgnbd",
        "bin": 4,
        "observations": 1439,
        "observed_count": 0.2647672,
        "predicted_count": 0.29831004,
        "observed_purchase_probability": 0.20500347,
        "predicted_purchase_probability": 0.22767112,
        "observed_spend_gbp": 105.60252259,
        "predicted_spend_gbp": 114.73152506
      },
      {
        "model": "bgnbd",
        "bin": 5,
        "observations": 1439,
        "observed_count": 0.31063238,
        "predicted_count": 0.3844179,
        "observed_purchase_probability": 0.23558026,
        "predicted_purchase_probability": 0.27911327,
        "observed_spend_gbp": 107.8071091,
        "predicted_spend_gbp": 151.14041054
      },
      {
        "model": "bgnbd",
        "bin": 6,
        "observations": 1439,
        "observed_count": 0.4704656,
        "predicted_count": 0.49921236,
        "observed_purchase_probability": 0.34051425,
        "predicted_purchase_probability": 0.34854123,
        "observed_spend_gbp": 192.15346143,
        "predicted_spend_gbp": 193.30104173
      },
      {
        "model": "bgnbd",
        "bin": 7,
        "observations": 1439,
        "observed_count": 0.57400973,
        "predicted_count": 0.66732562,
        "observed_purchase_probability": 0.40583739,
        "predicted_purchase_probability": 0.43733142,
        "observed_spend_gbp": 258.8175747,
        "predicted_spend_gbp": 271.97622318
      },
      {
        "model": "bgnbd",
        "bin": 8,
        "observations": 1439,
        "observed_count": 0.83113273,
        "predicted_count": 0.90882819,
        "observed_purchase_probability": 0.54343294,
        "predicted_purchase_probability": 0.54442613,
        "observed_spend_gbp": 360.4885476,
        "predicted_spend_gbp": 371.23865347
      },
      {
        "model": "bgnbd",
        "bin": 9,
        "observations": 1438,
        "observed_count": 1.16272601,
        "predicted_count": 1.33464329,
        "observed_purchase_probability": 0.67454798,
        "predicted_purchase_probability": 0.67918394,
        "observed_spend_gbp": 485.07212865,
        "predicted_spend_gbp": 540.91062886
      },
      {
        "model": "bgnbd",
        "bin": 10,
        "observations": 1438,
        "observed_count": 3.26216968,
        "predicted_count": 3.17321371,
        "observed_purchase_probability": 0.89499305,
        "predicted_purchase_probability": 0.87500468,
        "observed_spend_gbp": 2326.31900556,
        "predicted_spend_gbp": 1968.71142012
      },
      {
        "model": "boosting",
        "bin": 1,
        "observations": 1439,
        "observed_count": 0.08895066,
        "predicted_count": 0.15123603,
        "observed_purchase_probability": 0.07505212,
        "predicted_purchase_probability": 0.1198197,
        "observed_spend_gbp": 25.65054204,
        "predicted_spend_gbp": 52.39940364
      },
      {
        "model": "boosting",
        "bin": 2,
        "observations": 1439,
        "observed_count": 0.15705351,
        "predicted_count": 0.3050591,
        "observed_purchase_probability": 0.13481584,
        "predicted_purchase_probability": 0.23666053,
        "observed_spend_gbp": 53.07918694,
        "predicted_spend_gbp": 104.67155925
      },
      {
        "model": "boosting",
        "bin": 3,
        "observations": 1439,
        "observed_count": 0.21125782,
        "predicted_count": 0.40810399,
        "observed_purchase_probability": 0.17512161,
        "predicted_purchase_probability": 0.30942248,
        "observed_spend_gbp": 69.62637318,
        "predicted_spend_gbp": 163.65324065
      },
      {
        "model": "boosting",
        "bin": 4,
        "observations": 1439,
        "observed_count": 0.3161918,
        "predicted_count": 0.49103987,
        "observed_purchase_probability": 0.23835997,
        "predicted_purchase_probability": 0.36701408,
        "observed_spend_gbp": 137.43236275,
        "predicted_spend_gbp": 182.66922483
      },
      {
        "model": "boosting",
        "bin": 5,
        "observations": 1439,
        "observed_count": 0.34398888,
        "predicted_count": 0.58865264,
        "observed_purchase_probability": 0.25503822,
        "predicted_purchase_probability": 0.42346948,
        "observed_spend_gbp": 123.86045865,
        "predicted_spend_gbp": 244.76397816
      },
      {
        "model": "boosting",
        "bin": 6,
        "observations": 1439,
        "observed_count": 0.40792217,
        "predicted_count": 0.73382918,
        "observed_purchase_probability": 0.29742877,
        "predicted_purchase_probability": 0.51828487,
        "observed_spend_gbp": 138.33268937,
        "predicted_spend_gbp": 329.30216788
      },
      {
        "model": "boosting",
        "bin": 7,
        "observations": 1439,
        "observed_count": 0.57748436,
        "predicted_count": 0.8979895,
        "observed_purchase_probability": 0.40722724,
        "predicted_purchase_probability": 0.60701335,
        "observed_spend_gbp": 239.49884017,
        "predicted_spend_gbp": 415.51736312
      },
      {
        "model": "boosting",
        "bin": 8,
        "observations": 1439,
        "observed_count": 0.8457262,
        "predicted_count": 1.11465375,
        "observed_purchase_probability": 0.54204309,
        "predicted_purchase_probability": 0.67794096,
        "observed_spend_gbp": 361.2247394,
        "predicted_spend_gbp": 525.55438397
      },
      {
        "model": "boosting",
        "bin": 9,
        "observations": 1438,
        "observed_count": 1.17107093,
        "predicted_count": 1.47944343,
        "observed_purchase_probability": 0.67037552,
        "predicted_purchase_probability": 0.75785923,
        "observed_spend_gbp": 556.5832274,
        "predicted_spend_gbp": 715.81198225
      },
      {
        "model": "boosting",
        "bin": 10,
        "observations": 1438,
        "observed_count": 3.22809458,
        "predicted_count": 3.40061637,
        "observed_purchase_probability": 0.89568846,
        "predicted_purchase_probability": 0.88747855,
        "observed_spend_gbp": 2308.53572323,
        "predicted_spend_gbp": 2188.67718239
      }
    ],
    "net_spend_sensitivity": [
      {
        "model": "recent_rule",
        "target": "signed net spend; same gross-spend forecast, no net-target refit",
        "observed_net_spend_gbp": 5550737.623,
        "predicted_gross_spend_gbp": 5007585.432,
        "predicted_gross_to_observed_net_ratio": 0.90214775,
        "net_spend_mae_gbp": 313.6466495
      },
      {
        "model": "rfm_rule",
        "target": "signed net spend; same gross-spend forecast, no net-target refit",
        "observed_net_spend_gbp": 5550737.623,
        "predicted_gross_spend_gbp": 8571275.73073643,
        "predicted_gross_to_observed_net_ratio": 1.54416878,
        "net_spend_mae_gbp": 597.24832611
      },
      {
        "model": "bgnbd",
        "target": "signed net spend; same gross-spend forecast, no net-target refit",
        "observed_net_spend_gbp": 5550737.623,
        "predicted_gross_spend_gbp": 5475206.56600074,
        "predicted_gross_to_observed_net_ratio": 0.98639261,
        "net_spend_mae_gbp": 315.59246368
      },
      {
        "model": "boosting",
        "target": "signed net spend; same gross-spend forecast, no net-target refit",
        "observed_net_spend_gbp": 5550737.623,
        "predicted_gross_spend_gbp": 7081321.99037796,
        "predicted_gross_to_observed_net_ratio": 1.27574432,
        "net_spend_mae_gbp": 366.86444097
      }
    ],
    "gross_spend_tail": {
      "largest_customer_window_gbp": 117634.53,
      "top_one_percent_share": 0.37247879
    },
    "duplicate_accounting_sensitivity": {
      "definition": "Multiset union of source sheets, retaining maximum within-sheet row multiplicity; same selected model complexity, no retuning",
      "source_purchase_days": 33107,
      "source_positive_spend_gbp": 17431551.178,
      "metrics": [
        {
          "model": "recent_rule",
          "name": "count_poisson_deviance",
          "estimate": 7.41900583,
          "lower": 7.09806486,
          "upper": 7.73224743,
          "confidence": 0.95,
          "unit": "Poisson deviance",
          "split": "final_90_days"
        },
        {
          "model": "recent_rule",
          "name": "count_mae",
          "estimate": 0.58361134,
          "lower": 0.56545699,
          "upper": 0.60239665,
          "confidence": 0.95,
          "unit": "purchase days per customer-cutoff",
          "split": "final_90_days"
        },
        {
          "model": "recent_rule",
          "name": "purchase_brier",
          "estimate": 0.22584651,
          "lower": 0.21905097,
          "upper": 0.23344623,
          "confidence": 0.95,
          "unit": "proportion",
          "split": "final_90_days"
        },
        {
          "model": "recent_rule",
          "name": "purchase_log_loss",
          "estimate": 2.89428694,
          "lower": 2.7972511,
          "upper": 3.00055626,
          "confidence": 0.95,
          "unit": "natural-log units",
          "split": "final_90_days"
        },
        {
          "model": "recent_rule",
          "name": "count_ratio",
          "estimate": 0.93178163,
          "lower": 0.91535141,
          "upper": 0.94860281,
          "confidence": 0.95,
          "unit": "ratio",
          "split": "final_90_days"
        },
        {
          "model": "recent_rule",
          "name": "spend_mae",
          "estimate": 316.75478475,
          "lower": 287.8115125,
          "upper": 353.64532995,
          "confidence": 0.95,
          "unit": "GBP per customer-cutoff",
          "split": "final_90_days"
        },
        {
          "model": "recent_rule",
          "name": "spend_ratio",
          "estimate": 0.86708116,
          "lower": 0.82105751,
          "upper": 0.91913715,
          "confidence": 0.95,
          "unit": "ratio",
          "split": "final_90_days"
        },
        {
          "model": "rfm_rule",
          "name": "count_poisson_deviance",
          "estimate": 1.32796439,
          "lower": 1.26632446,
          "upper": 1.39908656,
          "confidence": 0.95,
          "unit": "Poisson deviance",
          "split": "final_90_days"
        },
        {
          "model": "rfm_rule",
          "name": "count_mae",
          "estimate": 0.83071333,
          "lower": 0.80246246,
          "upper": 0.85968699,
          "confidence": 0.95,
          "unit": "purchase days per customer-cutoff",
          "split": "final_90_days"
        },
        {
          "model": "rfm_rule",
          "name": "purchase_brier",
          "estimate": 0.1870613,
          "lower": 0.18343902,
          "upper": 0.1907865,
          "confidence": 0.95,
          "unit": "proportion",
          "split": "final_90_days"
        },
        {
          "model": "rfm_rule",
          "name": "purchase_log_loss",
          "estimate": 0.55787087,
          "lower": 0.54984124,
          "upper": 0.56655571,
          "confidence": 0.95,
          "unit": "natural-log units",
          "split": "final_90_days"
        },
        {
          "model": "rfm_rule",
          "name": "count_ratio",
          "estimate": 1.32875631,
          "lower": 1.2712863,
          "upper": 1.38504325,
          "confidence": 0.95,
          "unit": "ratio",
          "split": "final_90_days"
        },
        {
          "model": "rfm_rule",
          "name": "spend_mae",
          "estimate": 606.61597033,
          "lower": 558.1736298,
          "upper": 668.38055219,
          "confidence": 0.95,
          "unit": "GBP per customer-cutoff",
          "split": "final_90_days"
        },
        {
          "model": "rfm_rule",
          "name": "spend_ratio",
          "estimate": 1.48467059,
          "lower": 1.26683152,
          "upper": 1.71116454,
          "confidence": 0.95,
          "unit": "ratio",
          "split": "final_90_days"
        },
        {
          "model": "bgnbd",
          "name": "count_poisson_deviance",
          "estimate": 0.98976761,
          "lower": 0.96306794,
          "upper": 1.01778355,
          "confidence": 0.95,
          "unit": "Poisson deviance",
          "split": "final_90_days"
        },
        {
          "model": "bgnbd",
          "name": "count_mae",
          "estimate": 0.62056301,
          "lower": 0.60390396,
          "upper": 0.63752009,
          "confidence": 0.95,
          "unit": "purchase days per customer-cutoff",
          "split": "final_90_days"
        },
        {
          "model": "bgnbd",
          "name": "purchase_brier",
          "estimate": 0.16954832,
          "lower": 0.16558379,
          "upper": 0.17375028,
          "confidence": 0.95,
          "unit": "proportion",
          "split": "final_90_days"
        },
        {
          "model": "bgnbd",
          "name": "purchase_log_loss",
          "estimate": 0.51407273,
          "lower": 0.50446903,
          "upper": 0.52406178,
          "confidence": 0.95,
          "unit": "natural-log units",
          "split": "final_90_days"
        },
        {
          "model": "bgnbd",
          "name": "count_ratio",
          "estimate": 1.05543599,
          "lower": 1.02878964,
          "upper": 1.08205078,
          "confidence": 0.95,
          "unit": "ratio",
          "split": "final_90_days"
        },
        {
          "model": "bgnbd",
          "name": "spend_mae",
          "estimate": 323.07402497,
          "lower": 295.68151073,
          "upper": 359.74904436,
          "confidence": 0.95,
          "unit": "GBP per customer-cutoff",
          "split": "final_90_days"
        },
        {
          "model": "bgnbd",
          "name": "spend_ratio",
          "estimate": 0.94912093,
          "lower": 0.88530113,
          "upper": 1.00962992,
          "confidence": 0.95,
          "unit": "ratio",
          "split": "final_90_days"
        },
        {
          "model": "bgnbd",
          "name": "count_coverage_90",
          "estimate": 0.97810676,
          "lower": 0.97541722,
          "upper": 0.98076138,
          "confidence": 0.95,
          "unit": "proportion",
          "split": "final_90_days"
        },
        {
          "model": "bgnbd",
          "name": "count_interval_width",
          "estimate": 2.41402558,
          "lower": 2.36699811,
          "upper": 2.46057149,
          "confidence": 0.95,
          "unit": "purchase days per customer-cutoff",
          "split": "final_90_days"
        },
        {
          "model": "bgnbd",
          "name": "spend_coverage_90",
          "estimate": 0.9618432,
          "lower": 0.95868968,
          "upper": 0.96508864,
          "confidence": 0.95,
          "unit": "proportion",
          "split": "final_90_days"
        },
        {
          "model": "bgnbd",
          "name": "spend_interval_width",
          "estimate": 1243.95161948,
          "lower": 1176.65792117,
          "upper": 1327.14978974,
          "confidence": 0.95,
          "unit": "GBP per customer-cutoff",
          "split": "final_90_days"
        },
        {
          "model": "boosting",
          "name": "count_poisson_deviance",
          "estimate": 1.0841732,
          "lower": 1.06313136,
          "upper": 1.10589202,
          "confidence": 0.95,
          "unit": "Poisson deviance",
          "split": "final_90_days"
        },
        {
          "model": "boosting",
          "name": "count_mae",
          "estimate": 0.70441383,
          "lower": 0.69009066,
          "upper": 0.7194698,
          "confidence": 0.95,
          "unit": "purchase days per customer-cutoff",
          "split": "final_90_days"
        },
        {
          "model": "boosting",
          "name": "purchase_brier",
          "estimate": 0.19353601,
          "lower": 0.18998472,
          "upper": 0.19692429,
          "confidence": 0.95,
          "unit": "proportion",
          "split": "final_90_days"
        },
        {
          "model": "boosting",
          "name": "purchase_log_loss",
          "estimate": 0.56625566,
          "lower": 0.55788437,
          "upper": 0.57434771,
          "confidence": 0.95,
          "unit": "natural-log units",
          "split": "final_90_days"
        },
        {
          "model": "boosting",
          "name": "count_ratio",
          "estimate": 1.31338709,
          "lower": 1.28096342,
          "upper": 1.34776852,
          "confidence": 0.95,
          "unit": "ratio",
          "split": "final_90_days"
        },
        {
          "model": "boosting",
          "name": "spend_mae",
          "estimate": 372.41821052,
          "lower": 345.87445437,
          "upper": 409.65217921,
          "confidence": 0.95,
          "unit": "GBP per customer-cutoff",
          "split": "final_90_days"
        },
        {
          "model": "boosting",
          "name": "spend_ratio",
          "estimate": 1.22843521,
          "lower": 1.12859786,
          "upper": 1.32974309,
          "confidence": 0.95,
          "unit": "ratio",
          "split": "final_90_days"
        },
        {
          "model": "boosting",
          "name": "count_coverage_90",
          "estimate": 0.98401446,
          "lower": 0.98189682,
          "upper": 0.98617105,
          "confidence": 0.95,
          "unit": "proportion",
          "split": "final_90_days"
        },
        {
          "model": "boosting",
          "name": "count_interval_width",
          "estimate": 2.82290798,
          "lower": 2.79570119,
          "upper": 2.85102838,
          "confidence": 0.95,
          "unit": "purchase days per customer-cutoff",
          "split": "final_90_days"
        },
        {
          "model": "boosting",
          "name": "spend_coverage_90",
          "estimate": 0.91708368,
          "lower": 0.91248769,
          "upper": 0.92135001,
          "confidence": 0.95,
          "unit": "proportion",
          "split": "final_90_days"
        },
        {
          "model": "boosting",
          "name": "spend_interval_width",
          "estimate": 988.38815626,
          "lower": 912.89001751,
          "upper": 1083.76140064,
          "confidence": 0.95,
          "unit": "GBP per customer-cutoff",
          "split": "final_90_days"
        }
      ],
      "primary_difference": {
        "comparison": "boosting minus bgnbd",
        "metric": "count_poisson_deviance",
        "estimate": 0.0944056,
        "lower": 0.08013072,
        "upper": 0.10893141,
        "draws": 1000,
        "unique_customers": 5155
      },
      "fit_information": [
        {
          "cutoff": "2011-03-01",
          "history_customers": 4410,
          "supervised_training_rows": 26709,
          "latest_label_end": "2011-03-01 00:00:00",
          "bgnbd_parameters": {
            "r": 0.73454693,
            "alpha_weeks": 9.8580733,
            "a": 0.12728998,
            "b": 5.69151321
          },
          "bgnbd_fit": {
            "objective": 10.53580109,
            "converged_starts": 3,
            "attempted_starts": 3,
            "iterations": 19,
            "boundary_parameters": []
          },
          "gamma_gamma_parameters": {
            "p": 2.21914857,
            "q": 3.53060535,
            "gamma_in_hundreds_gbp": 4.76687248
          },
          "gamma_gamma_fit": {
            "objective": 2.21765922,
            "converged_starts": 3,
            "attempted_starts": 3,
            "iterations": 16,
            "boundary_parameters": []
          },
          "repeat_spend_customers": 2968,
          "frequency_spend_pearson": 0.16094276,
          "frequency_spend_spearman": 0.2261502,
          "quadrature_max_absolute_difference": 0.0
        },
        {
          "cutoff": "2011-06-01",
          "history_customers": 4823,
          "supervised_training_rows": 39939,
          "latest_label_end": "2011-05-30 00:00:00",
          "bgnbd_parameters": {
            "r": 0.68029114,
            "alpha_weeks": 9.41299329,
            "a": 0.15664669,
            "b": 3.30220752
          },
          "bgnbd_fit": {
            "objective": 11.89039665,
            "converged_starts": 3,
            "attempted_starts": 3,
            "iterations": 22,
            "boundary_parameters": []
          },
          "gamma_gamma_parameters": {
            "p": 2.36519206,
            "q": 3.51136743,
            "gamma_in_hundreds_gbp": 4.33102238
          },
          "gamma_gamma_fit": {
            "objective": 2.18101578,
            "converged_starts": 3,
            "attempted_starts": 3,
            "iterations": 12,
            "boundary_parameters": []
          },
          "repeat_spend_customers": 3306,
          "frequency_spend_pearson": 0.13002361,
          "frequency_spend_spearman": 0.25249221,
          "quadrature_max_absolute_difference": 0.0
        },
        {
          "cutoff": "2011-09-01",
          "history_customers": 5155,
          "supervised_training_rows": 54408,
          "latest_label_end": "2011-08-30 00:00:00",
          "bgnbd_parameters": {
            "r": 0.63806446,
            "alpha_weeks": 9.00620327,
            "a": 0.18122777,
            "b": 2.93641081
          },
          "bgnbd_fit": {
            "objective": 13.25991405,
            "converged_starts": 3,
            "attempted_starts": 3,
            "iterations": 17,
            "boundary_parameters": []
          },
          "gamma_gamma_parameters": {
            "p": 2.23839042,
            "q": 3.5205913,
            "gamma_in_hundreds_gbp": 4.50093535
          },
          "gamma_gamma_fit": {
            "objective": 2.15575484,
            "converged_starts": 3,
            "attempted_starts": 3,
            "iterations": 12,
            "boundary_parameters": []
          },
          "repeat_spend_customers": 3583,
          "frequency_spend_pearson": 0.13571805,
          "frequency_spend_spearman": 0.27639387,
          "quadrature_max_absolute_difference": 0.0
        }
      ]
    },
    "scenario_ranges": {
      "contact_cost_gbp": [
        0,
        5
      ],
      "contribution_margin": [
        0.1,
        0.5
      ],
      "default_contact_cost_gbp": 1,
      "default_contribution_margin": 0.3
    }
  },
  "software": {
    "python": "3.11.16",
    "numpy": "2.3.5",
    "pandas": "2.3.3",
    "scipy": "1.17.1",
    "sklearn": "1.7.2",
    "seed": 30929
  }
}
