{"algorithm":"XGBoost (1 model per platform)","best_platform":{"loco_median_auc":1,"name":"twitter"},"honest_caveats":["Per-platform models trained only on countries that ever observed a platform-specific block. Countries with zero history score the base rate.","LOCO CV uses the top 8 countries per platform by positive count; thin-data platforms have wider AUC variance.","Targets are derived from elevated/critical/warning signal_levels on platform-matching domains, not from direct block confirmations.","Per-platform forecasts inherit strong autocorrelation: once a country actively blocks a platform, the next-week probability stays high. The model is essentially predicting 'will the current block state persist?', which it does ~85% of the time on active pairs.","Countries with zero historical evidence on a platform score the feature-vector floor (≈base rate); treat these as low-information."],"horizon_days":7,"model_id":"per-platform-forecast-v1","overall_mean_loco_auc":1,"overall_median_loco_auc":1,"passed_promote_floor":true,"per_platform":{"discord":{"n_positives":0,"n_rows":0,"note":"insufficient data","trained":false},"facebook":{"feature_importance_top5":[{"feature":"crit_rate_7d","gain":0.44694610923094413},{"feature":"block_rate_7d","gain":0.1334686993398087},{"feature":"is_weekend","gain":0.08584470374833633},{"feature":"crit_rate_14d","gain":0.07696856699333571},{"feature":"dow","gain":0.04074056373616333}],"in_sample_ap":0.9999349566667066,"in_sample_auc":0.9997326100338566,"loco_folds":8,"loco_mean_auc":0.9978448275862069,"loco_median_auc":1,"n_countries":25,"n_positives":1444,"n_rows":1804,"temporal_auc":0.969742310889443,"temporal_n_test":476,"trained":true},"instagram":{"feature_importance_top5":[{"feature":"crit_rate_7d","gain":0.5482473059977826},{"feature":"block_rate_7d","gain":0.10496062442112232},{"feature":"crit_rate_14d","gain":0.08487416444306325},{"feature":"is_weekend","gain":0.05726831073688956},{"feature":"dow","gain":0.030440861532879327}],"in_sample_ap":0.9999486682417972,"in_sample_auc":0.9998349118209006,"loco_folds":8,"loco_mean_auc":0.9967532467532467,"loco_median_auc":1,"n_countries":26,"n_positives":1501,"n_rows":1955,"temporal_auc":0.9815963855421687,"temporal_n_test":495,"trained":true},"linkedin":{"n_positives":0,"n_rows":0,"note":"insufficient data","trained":false},"reddit":{"feature_importance_top5":[{"feature":"crit_rate_7d","gain":0.3133579579205753},{"feature":"is_weekend","gain":0.1599242085726686},{"feature":"block_rate_7d","gain":0.15091178022512558},{"feature":"country_block_rate_14d","gain":0.059005401830470296},{"feature":"dow","gain":0.04797200199953811}],"in_sample_ap":0.9999999999999999,"in_sample_auc":1,"loco_folds":8,"loco_mean_auc":0.9951298701298701,"loco_median_auc":1,"n_countries":20,"n_positives":1195,"n_rows":1375,"temporal_auc":0.9919881305637982,"temporal_n_test":347,"trained":true},"signal":{"feature_importance_top5":[{"feature":"crit_rate_7d","gain":0.5507771596530614},{"feature":"crit_rate_14d","gain":0.092470122894668},{"feature":"block_rate_7d","gain":0.08192825828622788},{"feature":"is_weekend","gain":0.06854568650697807},{"feature":"dow","gain":0.03604428670147798}],"in_sample_ap":0.9999456969384928,"in_sample_auc":0.9998325650474282,"loco_folds":8,"loco_mean_auc":0.9990625,"loco_median_auc":1,"n_countries":27,"n_positives":1490,"n_rows":1969,"temporal_auc":0.9900249376558603,"temporal_n_test":506,"trained":true},"telegram":{"feature_importance_top5":[{"feature":"crit_rate_7d","gain":0.5050570796178628},{"feature":"is_weekend","gain":0.12566010924679996},{"feature":"block_rate_7d","gain":0.08537327681337013},{"feature":"crit_rate_14d","gain":0.08085743073933421},{"feature":"dow","gain":0.03709523374153446}],"in_sample_ap":0.9999980656143609,"in_sample_auc":0.9999959512858716,"loco_folds":8,"loco_mean_auc":0.9962623374687328,"loco_median_auc":1,"n_countries":26,"n_positives":1436,"n_rows":1952,"temporal_auc":0.9906534750759335,"temporal_n_test":502,"trained":true},"tiktok":{"feature_importance_top5":[{"feature":"block_rate_7d","gain":0.352963112124835},{"feature":"country_block_rate_7d","gain":0.20070707941564633},{"feature":"n_obs_7d","gain":0.11121251332820706},{"feature":"dow","gain":0.06524940179033771},{"feature":"crit_rate_7d","gain":0.05687039412253629}],"in_sample_ap":0.9999706447678428,"in_sample_auc":0.9997524371190282,"loco_folds":8,"loco_mean_auc":0.9954973236223237,"loco_median_auc":1,"n_countries":25,"n_positives":1567,"n_rows":1741,"temporal_auc":0.983183856502242,"temporal_n_test":452,"trained":true},"twitter":{"feature_importance_top5":[{"feature":"crit_rate_7d","gain":0.5566702850877476},{"feature":"crit_rate_14d","gain":0.15492769520307437},{"feature":"block_rate_7d","gain":0.05910772844130387},{"feature":"is_weekend","gain":0.047434966873652305},{"feature":"country_block_rate_7d","gain":0.029721782067642845}],"in_sample_ap":0.9990904791238324,"in_sample_auc":0.9989414792402879,"loco_folds":8,"loco_mean_auc":0.9934417245158933,"loco_median_auc":1,"n_countries":70,"n_positives":1688,"n_rows":3292,"temporal_auc":0.9902921238240112,"temporal_n_test":1420,"trained":true},"whatsapp":{"feature_importance_top5":[{"feature":"crit_rate_7d","gain":0.4599558801063806},{"feature":"block_rate_7d","gain":0.09504630011851918},{"feature":"crit_rate_14d","gain":0.09276195806039855},{"feature":"is_weekend","gain":0.07282495195957918},{"feature":"n_obs_7d","gain":0.05374226688764359}],"in_sample_ap":0.9999838164851994,"in_sample_auc":0.9999470899470898,"loco_folds":8,"loco_mean_auc":0.9926186399217221,"loco_median_auc":1,"n_countries":25,"n_positives":1330,"n_rows":1735,"temporal_auc":0.9846989528795813,"temporal_n_test":482,"trained":true},"wikipedia":{"n_positives":0,"n_rows":0,"note":"insufficient data","trained":false},"youtube":{"feature_importance_top5":[{"feature":"crit_rate_7d","gain":0.47383422179105544},{"feature":"is_weekend","gain":0.1236093439829554},{"feature":"block_rate_7d","gain":0.1002996313441168},{"feature":"crit_rate_14d","gain":0.08622091828483738},{"feature":"dow","gain":0.05989310853246265}],"in_sample_ap":0.9999955458796517,"in_sample_auc":0.9999873324719414,"loco_folds":8,"loco_mean_auc":0.9970309295967191,"loco_median_auc":1,"n_countries":24,"n_positives":1338,"n_rows":1810,"temporal_auc":0.9855586060062751,"temporal_n_test":465,"trained":true}},"platforms_skipped":["discord","wikipedia","linkedin"],"platforms_trained":["twitter","whatsapp","telegram","youtube","signal","facebook","instagram","tiktok","reddit"],"promote_floor":0.65,"trained_at":"2026-05-21T12:16:46.088648Z","worst_platform":{"loco_median_auc":1,"name":"twitter"},"_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."}}