{"app_env":"production","is_beta_product":true,"pipeline_freshness":"2026-10-16T17:20:48.957364+00:00","source_freshness":{"beaches":"2026-10-16T16:43:20+00:00","observations":"2026-10-16T16:43:20+00:00","advisories":"2026-10-16T16:43:20+00:00"},"model_registry":{"production_model":"xgb-undersample-ensemble-curated-v0","temporal_validation_winner":"xgb-undersample-ensemble-curated-v0","candidate_models":["logistic-curated-v0","logistic-coastal-cells-curated-v0","logistic-hierarchical-curated-v0","hist-gbm-curated-v0","hist-gbm-positive-persistence-guard-curated-v0","xgb-undersample-ensemble-curated-v0","stacked-ensemble-curated-v0"],"research_models":[],"spatial_backtest_models":["persistence-curated-v0","xgb-undersample-ensemble-curated-v0"],"spatial_backtest_strategy":"shortlist","production_metrics":{"aucpr":0.7693543579034701,"brier":0.05235128381807931,"log_loss":0.19267510172214466,"calibration_slope":0.9219946271906699,"precision_at_80_recall":0.49426563078061414,"sensitivity_at_spec_0.87":{"sensitivity":0.8094667465548232,"specificity":0.8719141021305377,"threshold":0.11373806322691428}},"validation_metrics":{"aucpr":0.8292555912828324,"brier":0.087098141669932,"log_loss":0.292612133004913,"calibration_slope":0.9946164308925027,"precision_at_80_recall":0.6497214484679665},"temporal_validation_metrics":{"aucpr":0.8292555912828324,"brier":0.087098141669932,"log_loss":0.292612133004913,"calibration_slope":0.9946164308925027,"precision_at_80_recall":0.6497214484679665},"spatial_metrics":{"spatial_beach_persistence":{"aucpr":0.79084593572745,"brier":0.16655780535597647,"log_loss":2.3010819518470704,"calibration_slope":0.1746440710054527,"precision_at_80_recall":0.8412525315469699,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.6286083091540796,"aucpr_ci_high":0.8889724145998459},"spatial_county_persistence":{"aucpr":0.4806914433790328,"brier":0.13620631250276152,"log_loss":1.8817606122354176,"calibration_slope":0.16155443360603647,"precision_at_80_recall":0.18986111315669324,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.11696551414529442,"aucpr_ci_high":0.6709685972710586},"spatial_beach_xgb_undersample_ensemble":{"aucpr":0.9485847990438182,"brier":0.09832724269373477,"log_loss":0.31751557422873106,"calibration_slope":0.9194053023494578,"precision_at_80_recall":0.9214349775784754,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.8663467270038818,"aucpr_ci_high":0.9802460195895684,"sensitivity_at_spec_0.87":{"sensitivity":0.8487774489954836,"specificity":0.874549510897546,"threshold":0.4420289993286133}},"spatial_county_xgb_undersample_ensemble":{"aucpr":0.6954422189348058,"brier":0.10090894090473398,"log_loss":0.3220617347423704,"calibration_slope":1.2344244975623593,"precision_at_80_recall":0.5432648051549555,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.38802091599882554,"aucpr_ci_high":0.807299997283951,"sensitivity_at_spec_0.87":{"sensitivity":0.795593825149329,"specificity":0.8706868341635458,"threshold":0.12318840622901917}},"spatial_beach_hist_gbm":{"aucpr":0.9474222708239038,"brier":0.09974620297075146,"log_loss":0.3218603084219074,"calibration_slope":0.9566906734499612,"precision_at_80_recall":0.9170670937889304,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.863783789518015,"aucpr_ci_high":0.979660325313294},"spatial_county_hist_gbm":{"aucpr":0.673977993290852,"brier":0.10700449572392982,"log_loss":0.34398784089402207,"calibration_slope":1.1682037821601385,"precision_at_80_recall":0.5429231900809078,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.36089279461814067,"aucpr_ci_high":0.7847897492804616},"spatial_beach_hist_gbm_positive_persistence_guard":{"aucpr":0.8289365103405427,"brier":0.14198696778541184,"log_loss":1.340239573747042,"calibration_slope":0.28521081003344817,"precision_at_80_recall":0.8425584255842559,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.6960655486216395,"aucpr_ci_high":0.9074826614091356},"spatial_county_hist_gbm_positive_persistence_guard":{"aucpr":0.5883267407659192,"brier":0.12445726729639832,"log_loss":1.1614202344552453,"calibration_slope":0.24454718619760965,"precision_at_80_recall":0.5501827233727027,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.22837157512236822,"aucpr_ci_high":0.7413177059855944},"spatial_beach_hist_gbm_persistence_blend":{"aucpr":0.9444454307194845,"brier":0.11321225845617684,"log_loss":0.36162580161219793,"calibration_slope":0.6803414387580299,"precision_at_80_recall":0.9039239838113672,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.8551759277773672,"aucpr_ci_high":0.9785975460890474},"spatial_county_hist_gbm_persistence_blend":{"aucpr":0.7027619588331119,"brier":0.09565064734868461,"log_loss":0.32922404097307906,"calibration_slope":0.7495070614533114,"precision_at_80_recall":0.5501827233727027,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.29229458264486935,"aucpr_ci_high":0.8368717355193978},"spatial_beach_xgb_undersample_offset":{"aucpr":0.9070349146479315,"brier":0.19535320081755192,"log_loss":0.5858979391133792,"calibration_slope":1.3987727250915782,"precision_at_80_recall":0.8418998048145738,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.8062384438029342,"aucpr_ci_high":0.9575180471547812},"spatial_county_xgb_undersample_offset":{"aucpr":0.5356426784888297,"brier":0.12526395057242118,"log_loss":0.394764183763793,"calibration_slope":1.3257158592281952,"precision_at_80_recall":0.4533771796979793,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.2998436417460735,"aucpr_ci_high":0.7092869456792223}},"deployment_stage":"candidate_ready","public_release_eligible":true,"promotion_blockers":[],"promotion_policy":{"production_models":["logistic","logistic_coastal_cells","logistic_hierarchical","hist_gbm","hist_gbm_positive_persistence_guard","xgb_undersample_ensemble","stacked_ensemble"],"neural_model_status":"research_only","spatial_backtests_present":true,"spatial_backtest_strategy":"shortlist","fallback_order":["coastal_cell","county","region","global"]},"metrics":{"hist_gbm_valid":{"aucpr":0.8258815894766799,"brier":0.13534923856305364,"log_loss":0.41983507652276386,"calibration_slope":1.064507329424847,"precision_at_80_recall":0.6374228923920493},"hist_gbm_valid_calibrated":{"aucpr":0.8234479290069582,"brier":0.08914047289613987,"log_loss":0.29872659972136756,"calibration_slope":0.9744860075434094,"precision_at_80_recall":0.6476323119777159},"hist_gbm":{"aucpr":0.7614501617576944,"brier":0.05342663296525004,"log_loss":0.1980361407991072,"calibration_slope":0.906719261819995,"precision_at_80_recall":0.4870579657309515},"hist_gbm_test_active_only":{"aucpr":0.762279813413311,"brier":0.05338109747023965,"log_loss":0.1980489384453237,"calibration_slope":0.9061827079430881,"precision_at_80_recall":0.48755490483162517,"n_samples":13432.0,"n_total_test":13497.0},"xgb_undersample_ensemble_valid":{"aucpr":0.8337411106409095,"brier":0.10253757685539723,"log_loss":0.3320665330353017,"calibration_slope":1.0613989990259989,"precision_at_80_recall":0.6453851492019431},"xgb_undersample_ensemble_valid_calibrated":{"aucpr":0.8292555912828324,"brier":0.087098141669932,"log_loss":0.292612133004913,"calibration_slope":0.9946164308925027,"precision_at_80_recall":0.6497214484679665},"xgb_undersample_offset_valid":{"aucpr":0.8334271442986437,"brier":0.09703259166171053,"log_loss":0.3173011384160458,"calibration_slope":0.9972469310650741,"precision_at_80_recall":0.6591070163004961},"xgb_undersample_offset_valid_calibrated":{"aucpr":0.8371638462137893,"brier":0.08535726587659866,"log_loss":0.286198014832228,"calibration_slope":1.0648144143927802,"precision_at_80_recall":0.6453851492019431},"xgb_undersample_ensemble":{"aucpr":0.7693543579034701,"brier":0.05235128381807931,"log_loss":0.19267510172214466,"calibration_slope":0.9219946271906699,"precision_at_80_recall":0.49426563078061414,"sensitivity_at_spec_0.87":{"sensitivity":0.8094667465548232,"specificity":0.8719141021305377,"threshold":0.11373806322691428}},"hist_gbm_regressor_valid":{"rmse":0.6083256816959491},"spatial_beach_persistence":{"aucpr":0.79084593572745,"brier":0.16655780535597647,"log_loss":2.3010819518470704,"calibration_slope":0.1746440710054527,"precision_at_80_recall":0.8412525315469699,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.6286083091540796,"aucpr_ci_high":0.8889724145998459},"spatial_county_persistence":{"aucpr":0.4806914433790328,"brier":0.13620631250276152,"log_loss":1.8817606122354176,"calibration_slope":0.16155443360603647,"precision_at_80_recall":0.18986111315669324,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.11696551414529442,"aucpr_ci_high":0.6709685972710586},"spatial_beach_xgb_undersample_ensemble":{"aucpr":0.9485847990438182,"brier":0.09832724269373477,"log_loss":0.31751557422873106,"calibration_slope":0.9194053023494578,"precision_at_80_recall":0.9214349775784754,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.8663467270038818,"aucpr_ci_high":0.9802460195895684,"sensitivity_at_spec_0.87":{"sensitivity":0.8487774489954836,"specificity":0.874549510897546,"threshold":0.4420289993286133}},"spatial_county_xgb_undersample_ensemble":{"aucpr":0.6954422189348058,"brier":0.10090894090473398,"log_loss":0.3220617347423704,"calibration_slope":1.2344244975623593,"precision_at_80_recall":0.5432648051549555,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.38802091599882554,"aucpr_ci_high":0.807299997283951,"sensitivity_at_spec_0.87":{"sensitivity":0.795593825149329,"specificity":0.8706868341635458,"threshold":0.12318840622901917}},"spatial_beach_hist_gbm":{"aucpr":0.9474222708239038,"brier":0.09974620297075146,"log_loss":0.3218603084219074,"calibration_slope":0.9566906734499612,"precision_at_80_recall":0.9170670937889304,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.863783789518015,"aucpr_ci_high":0.979660325313294},"spatial_county_hist_gbm":{"aucpr":0.673977993290852,"brier":0.10700449572392982,"log_loss":0.34398784089402207,"calibration_slope":1.1682037821601385,"precision_at_80_recall":0.5429231900809078,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.36089279461814067,"aucpr_ci_high":0.7847897492804616},"spatial_beach_hist_gbm_positive_persistence_guard":{"aucpr":0.8289365103405427,"brier":0.14198696778541184,"log_loss":1.340239573747042,"calibration_slope":0.28521081003344817,"precision_at_80_recall":0.8425584255842559,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.6960655486216395,"aucpr_ci_high":0.9074826614091356},"spatial_county_hist_gbm_positive_persistence_guard":{"aucpr":0.5883267407659192,"brier":0.12445726729639832,"log_loss":1.1614202344552453,"calibration_slope":0.24454718619760965,"precision_at_80_recall":0.5501827233727027,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.22837157512236822,"aucpr_ci_high":0.7413177059855944},"spatial_beach_hist_gbm_persistence_blend":{"aucpr":0.9444454307194845,"brier":0.11321225845617684,"log_loss":0.36162580161219793,"calibration_slope":0.6803414387580299,"precision_at_80_recall":0.9039239838113672,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.8551759277773672,"aucpr_ci_high":0.9785975460890474},"spatial_county_hist_gbm_persistence_blend":{"aucpr":0.7027619588331119,"brier":0.09565064734868461,"log_loss":0.32922404097307906,"calibration_slope":0.7495070614533114,"precision_at_80_recall":0.5501827233727027,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.29229458264486935,"aucpr_ci_high":0.8368717355193978},"spatial_beach_xgb_undersample_offset":{"aucpr":0.9070349146479315,"brier":0.19535320081755192,"log_loss":0.5858979391133792,"calibration_slope":1.3987727250915782,"precision_at_80_recall":0.8418998048145738,"folds":15.0,"eligible_groups":15.0,"heldout_rows":12248.0,"positive_rate":0.5242488384246826,"aucpr_ci_low":0.8062384438029342,"aucpr_ci_high":0.9575180471547812},"spatial_county_xgb_undersample_offset":{"aucpr":0.5356426784888297,"brier":0.12526395057242118,"log_loss":0.394764183763793,"calibration_slope":1.3257158592281952,"precision_at_80_recall":0.4533771796979793,"folds":6.0,"eligible_groups":6.0,"heldout_rows":67897.0,"positive_rate":0.18986111879348755,"aucpr_ci_low":0.2998436417460735,"aucpr_ci_high":0.7092869456792223},"two_tier_diagnostics":{"temporal":{"within_beach_auroc":0.6118386531680866,"n_beaches":202.0,"n_rows":7004.0,"by_lag":{"lag_0_3d":{"within_beach_auroc":0.7582061035299994,"n_beaches":31.0,"n_rows":2507.0},"lag_4_7d":{"within_beach_auroc":0.4957522484258088,"n_beaches":159.0,"n_rows":3125.0},"lag_8_14d":{"within_beach_auroc":null,"n_beaches":0.0,"n_rows":0.0}}},"spatial_beach_by_model":{"persistence":{"within_beach_auroc":0.6977715622483417,"n_beaches":15.0,"n_rows":12248.0},"xgb_undersample_ensemble":{"within_beach_auroc":0.8606165640613356,"n_beaches":15.0,"n_rows":12248.0},"hist_gbm":{"within_beach_auroc":0.8550859546283087,"n_beaches":15.0,"n_rows":12248.0},"hist_gbm_positive_persistence_guard":{"within_beach_auroc":0.7582406397569011,"n_beaches":15.0,"n_rows":12248.0},"hist_gbm_persistence_blend":{"within_beach_auroc":0.850583289607835,"n_beaches":15.0,"n_rows":12248.0},"xgb_undersample_offset":{"within_beach_auroc":0.8599663392829199,"n_beaches":15.0,"n_rows":12248.0}},"spatial_beach":{"within_beach_auroc":0.8606165640613356,"n_beaches":15.0,"n_rows":12248.0},"spatial_beach_stale_by_model":{"xgb_undersample_ensemble":{"within_beach_auroc":0.7078437122452123,"n_beaches":15.0,"n_rows":12248.0},"hist_gbm":{"within_beach_auroc":0.6682655855507978,"n_beaches":15.0,"n_rows":12248.0},"xgb_undersample_offset":{"within_beach_auroc":0.8338985765640365,"n_beaches":15.0,"n_rows":12248.0}},"spatial_beach_stale":{"within_beach_auroc":0.7078437122452123,"n_beaches":15.0,"n_rows":12248.0},"temporal_ca_by_model":{"actual_exceedance_rate":0.12365710735321045,"xgb_undersample_ensemble":{"fresh":{"within_beach_auroc":0.6111600643608689,"aucpr":0.7697370205195231,"brier":0.05245591162463568,"mean_pred":0.12498668967909546,"n_beaches":212.0,"n_rows":7171.0},"stale":{"within_beach_auroc":0.5881486605816627,"aucpr":0.5141533807362427,"brier":0.10526876008346449,"mean_pred":0.02120739691587505,"n_beaches":212.0,"n_rows":7171.0}},"xgb_undersample_offset":{"fresh":{"within_beach_auroc":0.6395435296588136,"aucpr":0.7671981740195754,"brier":0.052668482406962445,"mean_pred":0.1321514105078753,"n_beaches":212.0,"n_rows":7171.0},"stale":{"within_beach_auroc":0.6207784009112424,"aucpr":0.7423516853001387,"brier":0.05466306205604492,"mean_pred":0.13193406792597479,"n_beaches":212.0,"n_rows":7171.0}}},"serving_router":{"fresh_beaches":143,"blended_beaches":39,"stale_beaches":344,"fresh_cutoff_days":3,"blend_end_days":5,"handoff_mean_abs_delta":0.04651550500027164,"handoff_p90_abs_delta":0.10829043029967599}}}},"active_advisories_count":67,"forecast_audit":{"generated_at":"2026-10-16T17:21:27.648821+00:00","agreement_rate":1.0,"acute_agreement_rate":1.0,"acute_advised_beaches":30,"chronic_agreement_rate":null,"stale_agreement_rate":1.0,"false_negatives":0,"false_negatives_by_pool":{"acute":0,"closure":0,"chronic":0,"stale":0,"unknown_duration":0},"false_positives":23,"active_advisories":40,"risk_threshold":0.2},"repository_mode":"static","serving_snapshot":{"generated_at":"2026-10-16T22:56:28.123987+00:00"},"scraper_gate":{"generated_at":"2026-10-16T16:45:17.081510+00:00","passed":true,"hard_failed":false,"total_scraped":100,"unresolved_total":4,"unresolved_unexpected":0,"unresolved_expected":4,"unresolved_ratio":0.0,"absolute_floor":5,"hard_floor":15,"ratio_threshold":0.1,"blockers":[],"unexpected_names":[],"expected_names":[{"county":"East Bay Parks District","name":"Lake Temescal"},{"county":"East Bay Parks District","name":"Martinez Shoreline"},{"county":"East Bay Parks District","name":"Shinn Pond at Alameda Creek Trails"},{"county":"East Bay Parks District","name":"Big Break Regional Shoreline"}],"county_regressions":[]},"served_metrics":{"definition":"Served p_exceed from forecast_history.parquet (final issue per beach-day) scored against observations.parquet worst-sample-per-day; same_day = outcome on the forecast day, forward = first outcome in D+1..D+3 (provably unseen by the forecast).","history_rows":102390,"final_forecast_rows":64869,"history_span_days":177,"verifiable_fraction":0.5258,"window_90d":{"same_day":{"n_pairs":6505,"n_positive":784,"base_rate":0.1205,"brier":0.0733,"brier_flat_base_rate":0.106,"aucpr":0.5477,"auroc":0.874,"sensitivity_at_spec_0_87":0.7054,"within_beach_auroc":0.4976,"band_operating":{"n_pairs":6505,"exceedances":784,"sensitivity":0.7628,"specificity":0.8446,"exceedances_shown_low":186,"false_alarms":889}},"forward_1_3d":{"n_pairs":16281,"n_positive":1318,"base_rate":0.081,"brier":0.0606,"brier_flat_base_rate":0.0744,"aucpr":0.3937,"auroc":0.8223,"sensitivity_at_spec_0_87":0.607,"within_beach_auroc":0.5018},"calibration_bins":[{"p_range":[0.0,0.05],"n":10832,"predicted_mean":0.0284,"actual_rate":0.0193},{"p_range":[0.05,0.1],"n":5812,"predicted_mean":0.0652,"actual_rate":0.0511},{"p_range":[0.1,0.2],"n":1443,"predicted_mean":0.1392,"actual_rate":0.1095},{"p_range":[0.2,0.3],"n":765,"predicted_mean":0.2491,"actual_rate":0.1895},{"p_range":[0.3,0.7],"n":2144,"predicted_mean":0.3689,"actual_rate":0.2635},{"p_range":[0.7,1.0],"n":275,"predicted_mean":0.8917,"actual_rate":0.7418}]},"window_30d":{"same_day":{"n_pairs":1754,"n_positive":212,"base_rate":0.1209,"brier":0.0848,"brier_flat_base_rate":0.1063,"aucpr":0.521,"auroc":0.8187,"sensitivity_at_spec_0_87":0.5566,"within_beach_auroc":0.5374,"band_operating":{"n_pairs":1754,"exceedances":212,"sensitivity":0.6934,"specificity":0.7866,"exceedances_shown_low":65,"false_alarms":329}},"forward_1_3d":{"n_pairs":4288,"n_positive":400,"base_rate":0.0933,"brier":0.07,"brier_flat_base_rate":0.0846,"aucpr":0.4373,"auroc":0.7976,"sensitivity_at_spec_0_87":0.5225,"within_beach_auroc":0.5633},"calibration_bins":[{"p_range":[0.0,0.05],"n":2898,"predicted_mean":0.0251,"actual_rate":0.0252},{"p_range":[0.05,0.1],"n":1049,"predicted_mean":0.0687,"actual_rate":0.081},{"p_range":[0.1,0.2],"n":579,"predicted_mean":0.1382,"actual_rate":0.1071},{"p_range":[0.2,0.3],"n":254,"predicted_mean":0.2349,"actual_rate":0.1142},{"p_range":[0.3,0.7],"n":638,"predicted_mean":0.3571,"actual_rate":0.1991},{"p_range":[0.7,1.0],"n":157,"predicted_mean":0.9199,"actual_rate":0.7707}]},"generated_at":"2026-10-16T17:20:48.957208+00:00"},"serving_calibration":{"active":true,"fitted_at":"2026-10-16T17:20:44.262717+00:00","window_days":120,"n_pairs":24542,"n_positive":1710,"n_pin_era_excluded":460,"y_max":1.0,"top_step_capped_from":null,"min_top_step_support":10,"ceiling_warning":null,"brier_before":0.0515,"brier_after":0.0508,"brier_flat_base_rate":0.0648},"release_gate":{"enforced":true,"public_release_eligible":true,"forecast_published":true,"blockers":[]},"serving_method":{"name":"logit-lookup-offset-v2","method_requested":"logit","fallback_reason":null,"lookup":{"name":"lookup-365d-v1","window_days":365,"prior_strength":5},"window_days":365,"prior_strength":5,"forecast_date":"2026-10-16","rows":526,"posted":40,"persistence_floored":7,"applied_at":"2026-10-16T17:21:10.456720+00:00","logit":{"features":["R","RF","W","S","ddpcr","R_ddpcr"],"coefficients":{"intercept":-0.23178850737361809,"R":0.3187544507377559,"RF":0.5118529963786801,"W":0.721245072317681,"S":0.33872681557710616,"ddpcr":0.10285614306057711,"R_ddpcr":0.6530453251356467},"train_rows":114512,"rain_coverage":1.0,"mean_p_exceed_raw":0.07342457237771065,"mean_p_exceed_lookup":0.10451020098182541,"band_changes_vs_lookup":45},"live":{"versions":["logit-lookup-offset-v1","logit-lookup-offset-v2"],"served_days":19,"first_served":"2026-09-28","forward_1_3d":{"n_pairs":2222,"n_positive":222,"base_rate":0.0999,"brier":0.0597,"brier_flat_base_rate":0.0899,"aucpr":0.6156,"auroc":0.8505,"sensitivity_at_spec_0_87":0.6847,"within_beach_auroc":0.5723,"reportable":false,"head_to_head":{"served":{"n_pairs":933,"n_positive":83,"base_rate":0.089,"brier":0.0662,"brier_flat_base_rate":0.081,"aucpr":0.487,"auroc":0.8274,"sensitivity_at_spec_0_87":0.6024,"within_beach_auroc":0.3429},"n_pairs":933,"reportable":false,"p_exceed_lookup":{"n_pairs":933,"n_positive":83,"base_rate":0.089,"brier":0.0689,"brier_flat_base_rate":0.081,"aucpr":0.4681,"auroc":0.8199,"sensitivity_at_spec_0_87":0.5783,"within_beach_auroc":0.3952,"ci":{"within_beach_auroc":[-0.1294,0.2452],"auroc":[-0.0307,0.0144],"brier":[-0.0015,0.0064]}},"p_exceed_ml":{"n_pairs":933,"n_positive":83,"base_rate":0.089,"brier":0.0665,"brier_flat_base_rate":0.081,"aucpr":0.3891,"auroc":0.8076,"sensitivity_at_spec_0_87":0.3373,"within_beach_auroc":0.3667,"ci":{"within_beach_auroc":[-0.1541,0.1741],"auroc":[-0.045,0.0048],"brier":[-0.0046,0.0049]}},"p_exceed_persistence":{"n_pairs":933,"n_positive":83,"base_rate":0.089,"brier":0.1059,"brier_flat_base_rate":0.081,"aucpr":0.2772,"auroc":0.7272,"sensitivity_at_spec_0_87":0.4458,"within_beach_auroc":0.3762,"ci":{"within_beach_auroc":[-0.1201,0.1931],"auroc":[-0.1574,-0.0481],"brier":[0.0275,0.0533]}}}},"same_day":{"n_pairs":1185,"n_positive":156,"base_rate":0.1316,"brier":0.0799,"brier_flat_base_rate":0.1143,"aucpr":0.5893,"auroc":0.8187,"sensitivity_at_spec_0_87":0.6218,"within_beach_auroc":0.4666,"reportable":false,"head_to_head":{"served":{"n_pairs":491,"n_positive":86,"base_rate":0.1752,"brier":0.1136,"brier_flat_base_rate":0.1445,"aucpr":0.5589,"auroc":0.7725,"sensitivity_at_spec_0_87":0.4884,"within_beach_auroc":0.491},"n_pairs":491,"reportable":false,"p_exceed_lookup":{"n_pairs":491,"n_positive":86,"base_rate":0.1752,"brier":0.1158,"brier_flat_base_rate":0.1445,"aucpr":0.5513,"auroc":0.7576,"sensitivity_at_spec_0_87":0.5581,"within_beach_auroc":0.5495,"ci":{"within_beach_auroc":[-0.0829,0.1705],"auroc":[-0.0447,0.0084],"brier":[-0.004,0.01]}},"p_exceed_ml":{"n_pairs":491,"n_positive":86,"base_rate":0.1752,"brier":0.1078,"brier_flat_base_rate":0.1445,"aucpr":0.562,"auroc":0.7877,"sensitivity_at_spec_0_87":0.4419,"within_beach_auroc":0.5901,"ci":{"within_beach_auroc":[-0.0131,0.2125],"auroc":[-0.0132,0.0502],"brier":[-0.0148,0.0023]}},"p_exceed_persistence":{"n_pairs":491,"n_positive":86,"base_rate":0.1752,"brier":0.1743,"brier_flat_base_rate":0.1445,"aucpr":0.3283,"auroc":0.6628,"sensitivity_at_spec_0_87":0.4302,"within_beach_auroc":0.3694,"ci":{"within_beach_auroc":[-0.2168,-0.0271],"auroc":[-0.1883,-0.0491],"brier":[0.0404,0.0788]}}}}},"backtest":{"source":"scripts/compare_logit_challenger.py (walk-forward, monthly refit)","window":["2025-09-01","2026-09-29"],"outcome":"first lab result 1-3 days after each forecast","n":76889,"base_rate":0.12113566309875275,"logit":{"auroc":0.8530885214823062,"aucpr":0.5918041224606081,"brier":0.07290076712756688,"within_beach_auroc":0.6462044069226887},"lookup":{"auroc":0.827782332691525,"aucpr":0.5421500056491343,"brier":0.07726811315404512,"within_beach_auroc":0.4495537698816332},"same_rows":{"window":["2026-04-23","2026-09-29"],"n":22741,"base_rate":0.0839892704806297,"logit":{"auroc":0.8543610371272576,"aucpr":0.5562785515429141,"brier":0.05313023148766246,"within_beach_auroc":0.5123633955182691},"lookup":{"auroc":0.8526290106795626,"aucpr":0.5287903274013901,"brier":0.056912230136913676,"within_beach_auroc":0.3823131692239762},"ml":{"auroc":0.7899056128841404,"aucpr":0.3068448324649036,"brier":0.07064170208983957,"within_beach_auroc":0.5130809140081687}}}},"lab_freshness":{"as_of":"2026-10-16","stale_count":0,"counties":[{"county":"East Bay Parks District","eligible":true,"newest":"2026-10-05","age_days":11,"cadence_days":7.0,"stale":false,"reason":"fresh: age 11d <= max(14, 3 * 7.0d) = 21d"},{"county":"Humboldt","eligible":true,"newest":"2026-10-13","age_days":3,"cadence_days":5.0,"stale":false,"reason":"fresh: age 3d <= max(14, 3 * 5.0d) = 15d"},{"county":"Los Angeles","eligible":true,"newest":"2026-10-14","age_days":2,"cadence_days":1.0,"stale":false,"reason":"fresh: age 2d <= max(14, 3 * 1.0d) = 14d"},{"county":"Marin","eligible":true,"newest":"2026-10-13","age_days":3,"cadence_days":1.5,"stale":false,"reason":"fresh: age 3d <= max(14, 3 * 1.5d) = 14d"},{"county":"Mendocino","eligible":true,"newest":"2026-10-13","age_days":3,"cadence_days":7.0,"stale":false,"reason":"fresh: age 3d <= max(14, 3 * 7.0d) = 21d"},{"county":"Monterey","eligible":true,"newest":"2026-10-14","age_days":2,"cadence_days":5.0,"stale":false,"reason":"fresh: age 2d <= max(14, 3 * 5.0d) = 15d"},{"county":"Orange","eligible":true,"newest":"2026-10-08","age_days":8,"cadence_days":1.0,"stale":false,"reason":"fresh: age 8d <= max(14, 3 * 1.0d) = 14d"},{"county":"San Diego","eligible":true,"newest":"2026-10-15","age_days":1,"cadence_days":1.0,"stale":false,"reason":"fresh: age 1d <= max(14, 3 * 1.0d) = 14d"},{"county":"San Francisco","eligible":true,"newest":"2026-10-14","age_days":2,"cadence_days":4.5,"stale":false,"reason":"fresh: age 2d <= max(14, 3 * 4.5d) = 14d"},{"county":"San Luis Obispo","eligible":true,"newest":"2026-10-05","age_days":11,"cadence_days":6.0,"stale":false,"reason":"fresh: age 11d <= max(14, 3 * 6.0d) = 18d"},{"county":"San Mateo","eligible":true,"newest":"2026-10-05","age_days":11,"cadence_days":7.0,"stale":false,"reason":"fresh: age 11d <= max(14, 3 * 7.0d) = 21d"},{"county":"Santa Barbara","eligible":true,"newest":"2026-10-12","age_days":4,"cadence_days":5.0,"stale":false,"reason":"fresh: age 4d <= max(14, 3 * 5.0d) = 15d"},{"county":"Santa Cruz","eligible":true,"newest":"2026-10-13","age_days":3,"cadence_days":5.0,"stale":false,"reason":"fresh: age 3d <= max(14, 3 * 5.0d) = 15d"},{"county":"Sonoma","eligible":true,"newest":"2026-10-07","age_days":9,"cadence_days":6.5,"stale":false,"reason":"fresh: age 9d <= max(14, 3 * 6.5d) = 20d"},{"county":"Ventura","eligible":true,"newest":"2026-10-14","age_days":2,"cadence_days":1.0,"stale":false,"reason":"fresh: age 2d <= max(14, 3 * 1.0d) = 14d"}]}}