ForesightFlow
← Datasets
polymarket-hazard-rates-v1/v1.0 · CC-BY-4.0

Polymarket Per-Category Exponential Hazard Rates

Per-category maximum-likelihood exponential hazard fits for the time-to-event distribution on Polymarket deadline-resolved contracts. Headline: military_geopolitics λ=0.241 events/day, 95% CI [0.143, 0.365], half-life 2.9 days (KS p=0.425, n=18, adequate). Baseline survival function for the deadline-ILS framework.

Per-category exponential hazard fits for the distribution of lead times τ = T_event − T_open on Polymarket deadline-resolved contracts. Each record publishes the MLE point estimate λ̂, its 95% confidence interval, the half-life, a Kolmogorov–Smirnov goodness-of-fit p-value, and the market IDs used in the fit.

Researchers building on the ILS-dl framework can use these fits directly as the survival baseline S(τ) = exp(−λτ) without re-fitting from scratch.

Published fits

Categorynλ̂ (events/day)95% CIHalf-life (days)KS pVerdict
military_geopolitics180.241[0.143, 0.365]2.90.425adequate
corporate_disclosure50.156[0.051, 0.319]4.50.616adequate (preliminary, n=5)
regulatory_decision160.023rejected — bimodal; sub-category fits in v2
esports0skipped — no Tier-3 records

The military_geopolitics fit (n=18, λ=0.241) supersedes the preliminary estimate (n=9, λ=0.306, half-life 2.3d) in arXiv:2605.02286. The preliminary value lies inside the new 95% CI; both estimates are statistically consistent.

Estimator

Maximum-likelihood estimator: λ̂ = 1 / τ̄. The 95% CI uses the chi-square quantile relation:

CI_95% = [ χ²(0.025, 2n) / (2n·τ̄),  χ²(0.975, 2n) / (2n·τ̄) ]

Files

FileDescription
data/hazard_rates_v1.jsonPer-category fit records
data/hazard_rates_v1.csvSame data, CSV
data/sample_market_ids.jsonlMarket IDs used per fit (for reproducibility)
figures/hazard_fits.svgEmpirical CDF vs fitted exponential

Quick start

import json, math

with open("data/hazard_rates_v1.json") as f:
    fits = json.load(f)

mg = next(f for f in fits if f["category"] == "military_geopolitics")
lam = mg["lambda_hat"]

def S(tau_days):
    return math.exp(-lam * tau_days)

print(f"P(event by 1 day): {1 - S(1):.3f}")
print(f"Half-life: {mg['half_life_days']:.1f} days")

Citation

@misc{nechepurenko2026hazard-rates-dataset,
  title     = {Polymarket Per-Category Exponential Hazard Rates},
  author    = {Nechepurenko, Maksym},
  year      = {2026},
  publisher = {ForesightFlow / Devnull FZCO},
  url       = {https://github.com/ForesightFlow/datasets/tree/main/polymarket-hazard-rates},
  note      = {Version 1.0, CC-BY-4.0. Accompanies: ForesightFlow: An Information Leakage Score Framework for Prediction Markets (arXiv:2605.00493) and Empirical Evaluation of Deadline-Resolved Information Leakage (arXiv:2605.02286)}
}