{"endpoints":["/v1/anomaly/seasonal/{cc}","/v1/anomaly/seasonal/leaderboard","/v1/anomaly/seasonal/info"],"generated_at":"2026-05-22T20:32:23.386539Z","metrics":{"algorithm":"STL (Cleveland 1990) period=7 robust=True","endpoints":["/v1/anomaly/seasonal/{cc}","/v1/anomaly/seasonal/leaderboard","/v1/anomaly/seasonal/info"],"honest_caveats":["STL is descriptive, not causal — high zscore != censorship.","Sensitive to data sparsity; <60d countries are skipped.","period=7 assumes weekly seasonality; flat-pattern countries get small seasonal component.","ORTHOGONAL to DBSCAN — same country can flag in one but not the other."],"inspiration":"Cleveland et al. STL paper + Prophet","min_days_for_fit":60,"n_anomalous_today":5,"n_countries_fit":42,"n_countries_skipped":169,"orthogonal_to":"/v1/anomaly/dbscan/{cc} (per-country DBSCAN)","schema":"voidly-stl-seasonal-anomaly/v1","skipped_examples":[["TT","insufficient_days"],["SI","insufficient_days"],["CM","insufficient_days"],["JM","insufficient_days"],["PY","insufficient_days"],["SL","insufficient_days"],["LU","insufficient_days"],["FR","insufficient_days"],["MK","insufficient_days"],["KG","insufficient_days"],["MW","insufficient_days"],["AO","insufficient_days"],["TJ","insufficient_days"],["PH","insufficient_days"],["CD","insufficient_days"],["SB","insufficient_days"],["BI","insufficient_days"],["HK","insufficient_days"],["NE","insufficient_days"],["TZ","insufficient_days"]],"stl_period":7,"today_leaderboard_top10":[{"abs_z":4.3606,"country":"MY","date":"2026-05-21","is_anomaly":true,"n":1,"observed":1,"residual":0.932912,"seasonal":-0.181921,"trend":0.249009,"zscore":4.3606},{"abs_z":4.3107,"country":"BY","date":"2026-05-21","is_anomaly":true,"n":4,"observed":1,"residual":0.786524,"seasonal":-0.03507,"trend":0.248546,"zscore":4.3107},{"abs_z":3.305,"country":"EG","date":"2026-05-21","is_anomaly":true,"n":6,"observed":0,"residual":-0.511332,"seasonal":0.072951,"trend":0.438381,"zscore":-3.305},{"abs_z":3.0867,"country":"SG","date":"2026-05-22","is_anomaly":true,"n":5,"observed":0.6,"residual":0.620385,"seasonal":-0.382746,"trend":0.362362,"zscore":3.0867},{"abs_z":2.1778,"country":"ID","date":"2026-05-21","is_anomaly":true,"n":9,"observed":1,"residual":0.572796,"seasonal":0.086151,"trend":0.341053,"zscore":2.1778},{"abs_z":1.989,"country":"US","date":"2026-05-22","is_anomaly":false,"n":17,"observed":0.764706,"residual":0.788785,"seasonal":-0.008154,"trend":-0.015925,"zscore":1.989},{"abs_z":0.9086,"country":"UA","date":"2026-05-21","is_anomaly":false,"n":1,"observed":1,"residual":0.27321,"seasonal":0.481024,"trend":0.245766,"zscore":0.9086},{"abs_z":0.6818,"country":"MM","date":"2026-05-21","is_anomaly":false,"n":7,"observed":1,"residual":0.093661,"seasonal":0.166542,"trend":0.739797,"zscore":0.6818},{"abs_z":0.5814,"country":"IN","date":"2026-05-22","is_anomaly":false,"n":3,"observed":0.666667,"residual":0.089957,"seasonal":0.009586,"trend":0.567124,"zscore":0.5814},{"abs_z":0.5127,"country":"BD","date":"2026-05-21","is_anomaly":false,"n":2,"observed":1,"residual":0.107148,"seasonal":0.417896,"trend":0.474956,"zscore":0.5127}],"trained_at":"2026-05-22T04:45:02.932759Z","version":"v1","window_days":90,"zscore_threshold":2},"schema":"voidly-stl-seasonal-info/v1","_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."}}