{"baselines_definition":{"always_one":"predict_proba=1; recall=1, precision=base_rate","always_zero":"predict_proba=0; trivial F1=0 baseline","base_rate_constant":"predict_proba=train_pos_rate; well-calibrated, no resolution","country_base_rate":"predict_proba=country's historical positive rate; no temporal signal","predict_yesterday":"predict_proba=y[t-1] per (country, ...) group; tough on autocorrelated targets","random_with_base_rate":"Bernoulli sample with p=base_rate; sanity floor"},"generated_at":"2026-05-21T20:06:13+00:00","honest_caveats":["Lift is computed against the predict_yesterday baseline (lag-1 of the label within each country group). This is the toughest trivial baseline on autocorrelated targets like 'will country X be in shutdown next week'.","Some models report training-time sidecar metrics (random or stratified CV) and we compute baselines on a separate last-60d temporal holdout. Lift numbers in those rows are approximate, NOT a clean apples-to-apples test. Look at the `source` field per row to see which are live re-eval.","AUC of None on always_zero / always_one is by design (degenerate constants); those rows still have F1 + Brier.","barely_beats_baseline=true is a yellow flag, not red. Some models (e.g. classifier_v3.3) have legitimate value beyond F1 lift (per-country thresholds, conformal intervals, SHAP attributions).","Per-platform/domain/method are a random sample of 5 each, seeded 20260521 for reproducibility. Re-running will pick the same items."],"n_models":23,"n_rows_filtered":3,"rows":[{"barely_beats_baseline":false,"barely_beats_metric":null,"baseline_metrics":{"always_one":{"auc":null,"brier":0.7087301587301588,"f1":0.45113706207744314},"always_zero":{"auc":null,"brier":0.2912698412698413,"f1":0},"base_rate_constant":{"auc":0.5,"base_rate":0.012774111134766872,"best_threshold":0.5,"brier":0.28399159253995093,"f1":0},"country_base_rate":{"auc":0.7287546799051662,"best_threshold":0.5,"brier":0.2818553770656089,"f1":0},"predict_yesterday":{"auc":0.7154983812944152,"best_threshold":0.05,"brier":0.23492063492063492,"f1":0.5967302452316077,"note":"lag-1 of label within each (country, ...) group; falls back to global lag-1 if grouping unavailable"},"random_with_base_rate":{"auc":0.5056174118408084,"brier":0.2912698412698413,"f1":0.03674540682414698}},"family":"trajectory","honest_caveats":["Metrics pulled from the model's TRAINING-TIME sidecar, not from a held-out 30-day window. They may overstate live performance because the original train/test split is the model author's, not this script's."],"horizon":"1d","lift_vs_predict_yesterday":{"auc_pp":5.400161870558473,"brier_pp":null,"f1_pp":null},"model_id":"trajectory_d1","model_metrics":{"auc":0.7695,"best_threshold":null,"brier":null,"f1":null,"in_sample_auc":0.9655,"n":15351,"pos_rate":0.0099},"notes":"Trajectory v1 per-horizon GradientBoosting. LOCO AUC reported (no F1 in sidecar).","source":"training-time LOCO sidecar (trajectory_metrics.json) + baselines on last-60d temporal split of forecast_training_data_multi"},{"barely_beats_baseline":true,"barely_beats_metric":"auc","baseline_metrics":{"always_one":{"auc":null,"brier":0.38015873015873014,"f1":0.7653111219990201},"always_zero":{"auc":null,"brier":0.6198412698412699,"f1":0},"base_rate_constant":{"auc":0.5,"base_rate":0.05734156553828685,"best_threshold":0.05,"brier":0.5520439873837751,"f1":0.7653111219990201},"country_base_rate":{"auc":0.7255018056717606,"best_threshold":0.05,"brier":0.5439987025643375,"f1":0.7478460654796094},"predict_yesterday":{"auc":0.9376902905380661,"best_threshold":0.05,"brier":0.05873015873015873,"f1":0.9526248399487837,"note":"lag-1 of label within each (country, ...) group; falls back to global lag-1 if grouping unavailable"},"random_with_base_rate":{"auc":0.4956428645893199,"brier":0.6087301587301587,"f1":0.1091753774680604}},"family":"trajectory","honest_caveats":["Model AUC beats predict_yesterday by less than 5.0pp (lift=-21.19pp). Honest reading: the model is mostly memorizing the prior.","Metrics pulled from the model's TRAINING-TIME sidecar, not from a held-out 30-day window. They may overstate live performance because the original train/test split is the model author's, not this script's."],"horizon":"7d","lift_vs_predict_yesterday":{"auc_pp":-21.189029053806607,"brier_pp":null,"f1_pp":null},"model_id":"trajectory_d7","model_metrics":{"auc":0.7258,"best_threshold":null,"brier":null,"f1":null,"in_sample_auc":0.9396,"n":15351,"pos_rate":0.05205},"notes":"Trajectory v1 per-horizon GradientBoosting. LOCO AUC reported (no F1 in sidecar).","source":"training-time LOCO sidecar (trajectory_metrics.json) + baselines on last-60d temporal split of forecast_training_data_multi"},{"barely_beats_baseline":true,"barely_beats_metric":"auc","baseline_metrics":{"always_one":{"auc":null,"brier":0.2507936507936508,"f1":0.8566243194192378},"always_zero":{"auc":null,"brier":0.7492063492063492,"f1":0},"base_rate_constant":{"auc":0.5,"base_rate":0.17706337378468526,"best_threshold":0.05,"brier":0.5152437798395979,"f1":0.8566243194192378},"country_base_rate":{"auc":0.6573897768719159,"best_threshold":0.05,"brier":0.5017825691447151,"f1":0.8805970149253731},"predict_yesterday":{"auc":0.9577612100407636,"best_threshold":0.05,"brier":0.031746031746031744,"f1":0.9788135593220338,"note":"lag-1 of label within each (country, ...) group; falls back to global lag-1 if grouping unavailable"},"random_with_base_rate":{"auc":0.4945558892941429,"brier":0.6674603174603174,"f1":0.2756244616709733}},"family":"trajectory","honest_caveats":["Model AUC beats predict_yesterday by less than 5.0pp (lift=-22.78pp). Honest reading: the model is mostly memorizing the prior.","Metrics pulled from the model's TRAINING-TIME sidecar, not from a held-out 30-day window. They may overstate live performance because the original train/test split is the model author's, not this script's."],"horizon":"30d","lift_vs_predict_yesterday":{"auc_pp":-22.776121004076366,"brier_pp":null,"f1_pp":null},"model_id":"trajectory_d30","model_metrics":{"auc":0.73,"best_threshold":null,"brier":null,"f1":null,"in_sample_auc":0.9047,"n":15351,"pos_rate":0.15751},"notes":"Trajectory v1 per-horizon GradientBoosting. LOCO AUC reported (no F1 in sidecar).","source":"training-time LOCO sidecar (trajectory_metrics.json) + baselines on last-60d temporal split of forecast_training_data_multi"}],"schema":"voidly-baseline-benchmark/v1","summary":{"barely_beats_threshold_pp_f1":5,"best_model_by_lift":{"family":"per-domain","lift_metric":"auc","lift_pp":50.74168797953964,"model_id":"per_domain_pornhub.com"},"n_models_barely_beating_baseline":7,"n_models_evaluated":23,"toughest_baseline":"predict_yesterday","worst_model_by_lift":{"family":"trajectory","lift_metric":"auc","lift_pp":-22.776121004076366,"model_id":"trajectory_d30"}},"_voidly_pay":{"claim_did":"https://voidly.ai/pay/claim","for_builders":"https://voidly.ai/pay/for-builders","marketplace":"https://api.voidly.ai/v1/pay/marketplace","live_demo":"https://huggingface.co/spaces/emperor-mew/voidly-pay","universal_proxy":{"url":"https://api.voidly.ai/v1/pay/proxy","example":"https://api.voidly.ai/v1/pay/proxy?u=<https-url>&to=did:voidly:<your-did>&price=0.01","page":"https://voidly.ai/pay/proxy","note":"Paywall any public HTTPS URL with one query param. No SDK install required."},"install":{"typescript":"npm install @voidly/pay","python":"pip install voidly-pay","langchain":"pip install voidly-pay-langchain","vercel_ai":"npm install @voidly/pay-vercel-ai","mcp":"npx @voidly/pay-mcp","cli":"npm install -g @voidly/pay-cli"},"note":"Voidly Pay is the open agent-to-agent payment rail. Claim a DID + 10 starter credits in 60s, or paywall any URL via the universal proxy with one query param."}}