{"generated_at":"2026-10-13T06:10:09.509118+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.7328376982733965,"loco_auc_median":0.7601202602559255,"method":"strict temporal rolling-origin CV, 9 folds, on independent OONI ground truth \u2014 see honest-forecast-backtest.py","rolling_origin_climatology":{"auc":0.7531209268075356,"brier":null,"f1":0.33052164788299654,"pr_auc":0.21828064065464892,"precision":0.21684083273396978,"recall":0.7185754559952044},"rolling_origin_model":{"auc":0.8132239643070918,"brier":0.1641717918705867,"f1":0.3457344890465322,"pr_auc":0.2896722813063523,"precision":0.3029286789771379,"recall":0.4183734313279362},"rolling_origin_persistence":{"auc":0.5948817166179267,"brier":null,"f1":0.27699812798632895,"pr_auc":0.162776392124919,"precision":0.27838393613538553,"recall":0.27574865008314225}},"horizon_days":7,"label_definition":{"baseline_window":28,"event_floor":0.08,"event_std_floor":0.01,"event_vol_min":50,"event_z":2.0,"horizon_days":7,"min_vol":30},"loaded":true,"method":"independent OONI aggregation-API ground truth, country-relative z-score event label, strict temporal rolling-origin CV \u2014 see scripts/honest-forecast-backtest.py","model_version":"honest_forecast_v1","n_countries":58,"recommended_threshold":0.675,"schema":"voidly-honest-forecast-info/v1"}
