{"complement_to":"legacy /v1/forecast/<cc>/7day \u2014 this is the leakage-free, independently-validated rebuild","country":"IR","covered":true,"forecast":{"anomaly_rate":0.1635,"as_of_date":"2026-11-12","calibrated_probability":0.1586,"flag":false,"is_event_today":false,"measurement_count":20125,"probability":0.5868,"risk_band":"watch"},"generated_at":"2026-11-13T06:10:11.991882+00:00","honest_caveats":["Performance estimate is the rolling-origin backtest (AUC ~0.82, PR-AUC ~0.29) \u2014 NOT train-set metrics. The deployed model is retrained on all data, so its train-set scores are meaningless.","Uses only OONI measurement signals (anomaly/confirmed rates, volumes, trajectories). No political-event / election / protest features yet \u2014 that is the next obvious lift.","Cross-country transfer (LOCO) is weaker for persistently-censored countries (SA/AE/EG/KZ AUC ~0.6) \u2014 the model needs some history of a country to forecast it well.","PR-AUC ~0.29 at a 10% base rate is a useful early-warning signal (precision ~0.31, recall ~0.42 at the F1-optimal threshold) \u2014 not a precise oracle."],"honest_validation":{"loco_auc_mean":0.7330446418420576,"loco_auc_median":0.7347222467220698,"method":"strict temporal rolling-origin CV, 9 folds, on independent OONI ground truth \u2014 see honest-forecast-backtest.py","rolling_origin_climatology":{"auc":0.7516795819379278,"brier":null,"f1":0.33969260001976403,"pr_auc":0.22900424857444576,"precision":0.22546849123688115,"recall":0.7150647403044522},"rolling_origin_model":{"auc":0.8187851395442959,"brier":0.16166112400939792,"f1":0.3686006334073919,"pr_auc":0.31936864602304654,"precision":0.326740620386233,"recall":0.43723009853155437},"rolling_origin_persistence":{"auc":0.6001891429784982,"brier":null,"f1":0.29083876368648026,"pr_auc":0.17847988034353157,"precision":0.29192732637349383,"recall":0.2898983566274145}},"horizon_days":7,"loaded":true,"model_version":"honest_forecast_v1","recommended_threshold":0.625,"schema":"voidly-honest-forecast/v1"}
