{"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":4,"rows":[{"barely_beats_baseline":false,"barely_beats_metric":null,"baseline_metrics":{"always_one":{"auc":null,"brier":0.957,"f1":0.08245445829338446},"always_zero":{"auc":null,"brier":0.043,"f1":0},"base_rate_constant":{"auc":0.5,"base_rate":0.045787113523719614,"best_threshold":0.5,"brier":0.0411587680017941,"f1":0},"country_base_rate":{"auc":0.5,"best_threshold":0.5,"brier":0.0411587680017941,"f1":0},"predict_yesterday":{"auc":0.477533960292581,"best_threshold":0.5,"brier":0.086,"f1":0,"note":"lag-1 of label within each (country, ...) group; falls back to global lag-1 if grouping unavailable"},"random_with_base_rate":{"auc":1,"brier":0,"f1":1}},"family":"per-method","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":null,"lift_vs_predict_yesterday":{"auc_pp":47.466084927560296,"brier_pp":null,"f1_pp":48.394004282655246},"model_id":"per_method_dns-blocking","model_metrics":{"auc":0.9521948095681839,"best_threshold":0.5499999999999999,"brier":null,"f1":0.48394004282655245,"n":4237,"pos_rate":0.045787113523719614},"notes":"Random sample 5 from 4 available methods.","source":"training-time sidecar metrics; baselines synthesized from a 1000-sample Bernoulli at the model's positive rate (no feature parquet found)"},{"barely_beats_baseline":false,"barely_beats_metric":null,"baseline_metrics":{"always_one":{"auc":null,"brier":0.879,"f1":0.215878679750223},"always_zero":{"auc":null,"brier":0.121,"f1":0},"base_rate_constant":{"auc":0.5,"base_rate":0.12154826528203917,"best_threshold":0.05,"brier":0.10635930059481948,"f1":0.215878679750223},"country_base_rate":{"auc":0.5,"best_threshold":0.05,"brier":0.10635930059481948,"f1":0.215878679750223},"predict_yesterday":{"auc":0.515790859259677,"best_threshold":0.05,"brier":0.206,"f1":0.1487603305785124,"note":"lag-1 of label within each (country, ...) group; falls back to global lag-1 if grouping unavailable"},"random_with_base_rate":{"auc":1,"brier":0,"f1":1}},"family":"per-method","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":null,"lift_vs_predict_yesterday":{"auc_pp":38.50820846311468,"brier_pp":null,"f1_pp":42.14596355805401},"model_id":"per_method_http-blocking","model_metrics":{"auc":0.9008729438908238,"best_threshold":0.6,"brier":null,"f1":0.5702199661590525,"n":4237,"pos_rate":0.12154826528203917},"notes":"Random sample 5 from 4 available methods.","source":"training-time sidecar metrics; baselines synthesized from a 1000-sample Bernoulli at the model's positive rate (no feature parquet found)"},{"barely_beats_baseline":false,"barely_beats_metric":null,"baseline_metrics":{"always_one":{"auc":null,"brier":0.96,"f1":0.07692307692307693},"always_zero":{"auc":null,"brier":0.04,"f1":0},"base_rate_constant":{"auc":0.5,"base_rate":0.03847061600188813,"best_threshold":0.5,"brier":0.03840233901541367,"f1":0},"country_base_rate":{"auc":0.5,"best_threshold":0.5,"brier":0.03840233901541367,"f1":0},"predict_yesterday":{"auc":0.4791666666666667,"best_threshold":0.5,"brier":0.08,"f1":0,"note":"lag-1 of label within each (country, ...) group; falls back to global lag-1 if grouping unavailable"},"random_with_base_rate":{"auc":1,"brier":0,"f1":1}},"family":"per-method","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":null,"lift_vs_predict_yesterday":{"auc_pp":42.335831103120555,"brier_pp":null,"f1_pp":38.869257950530034},"model_id":"per_method_tcp-blocking","model_metrics":{"auc":0.9025249776978722,"best_threshold":0.7999999999999999,"brier":null,"f1":0.38869257950530034,"n":4237,"pos_rate":0.03847061600188813},"notes":"Random sample 5 from 4 available methods.","source":"training-time sidecar metrics; baselines synthesized from a 1000-sample Bernoulli at the model's positive rate (no feature parquet found)"},{"barely_beats_baseline":false,"barely_beats_metric":null,"baseline_metrics":{"always_one":{"auc":null,"brier":0.923,"f1":0.14298978644382543},"always_zero":{"auc":null,"brier":0.077,"f1":0},"base_rate_constant":{"auc":0.5,"base_rate":0.07387302336558886,"best_threshold":0.05,"brier":0.07108077798287214,"f1":0.14298978644382543},"country_base_rate":{"auc":0.5,"best_threshold":0.05,"brier":0.07108077798287214,"f1":0.14298978644382543},"predict_yesterday":{"auc":0.49346428219667654,"best_threshold":0.05,"brier":0.144,"f1":0.06493506493506493,"note":"lag-1 of label within each (country, ...) group; falls back to global lag-1 if grouping unavailable"},"random_with_base_rate":{"auc":1,"brier":0,"f1":1}},"family":"per-method","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":null,"lift_vs_predict_yesterday":{"auc_pp":42.41845930118256,"brier_pp":null,"f1_pp":44.111820383006815},"model_id":"per_method_tls-blocking","model_metrics":{"auc":0.9176488752085021,"best_threshold":0.49999999999999994,"brier":null,"f1":0.5060532687651331,"n":4237,"pos_rate":0.07387302336558886},"notes":"Random sample 5 from 4 available methods.","source":"training-time sidecar metrics; baselines synthesized from a 1000-sample Bernoulli at the model's positive rate (no feature parquet found)"}],"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."}}