{
  "seed": 20260911,
  "repetitions": 200,
  "estimator": "DiD equal-geo stratified change contrast",
  "estimand": "constant additive assignment effect",
  "dgp": "8 dates; 4 baseline/4 test; geo intercepts; common time trend; AR(1) errors rho=.6; complete fixed-count randomisation; optional unequal strata and heterogeneous variances",
  "limitations": "No missingness, spillover, non-adherence, treatment heterogeneity, CRT or bootstrap coverage study",
  "environment": {
    "python": "3.12.11",
    "numpy": "2.3.5",
    "pandas": "2.3.3",
    "scipy": "1.15.3",
    "statsmodels": "0.14.5"
  },
  "source_hashes": {
    "src/geostep/__init__.py": "22cf17be1d94bd7bd40b7011a9efa39ba683b47686fa50b4494b29827d6fe40b",
    "src/geostep/_version.py": "0d0536f0c3a9f52f898c7ed902562d93efe7de6c49a7b3bf74558c588bf72bbb",
    "src/geostep/analyzer.py": "1b7789ce4d3c858f39c7407c4447a6e1236a9d9eb2a50b1636edbbaebd60cb33",
    "src/geostep/base.py": "28755148e16d64806060f786f98dc1fd30d56668a92bd6e312e6f046451d7cf8",
    "src/geostep/constants.py": "4091a7bd83291d489d7caa2ccc8d66033022a02de25eef6bd8d9683f8ec34a43",
    "src/geostep/data_handler.py": "8c3a3efd96af33f04147635ef756ada71f9b3d02c7123a8c522b2c3cb1c22f9c",
    "src/geostep/designer.py": "7bc4010ce76287960ae2b8f08970b4adda04298a377c13c65f13f150d160d43f",
    "src/geostep/diagnostics.py": "7a6e54382ab13e031c06856ecc1cdc8d4d4628d32ae0aa58bdf8327dbd9aaeb7",
    "src/geostep/exceptions.py": "1c4d2acf39bfaf22a7b012af78d833ecac39fbf2dc9bd7aff68578131298a44c",
    "src/geostep/factory.py": "05a3e6007188024620ee6dc48468f309d7762692bd6154b20f5f7ebe591871d3",
    "src/geostep/inference.py": "6bdaa7f14fceba2f0a308ebd466bf6b0c70e81150e759dc5d0a558a896cbb609",
    "src/geostep/logger.py": "7643397bf8eec654bcecc3d76a1530bde205dda9f9de31afe2daf3c41454e2ad",
    "src/geostep/migration.py": "a6bd567827b25dd7be9bb115885018673a135666cc8608e92a9455b92ef50af8",
    "src/geostep/monitoring.py": "ee0c9e08db0ed36bc34197a8a82f521829df0fbd70f24a2af03678264919a60e",
    "src/geostep/performance.py": "4e06210a6db3b17ff4e430a4eef460591603b818799587329b24d2a25d761fc9",
    "src/geostep/pipeline.py": "614a237f7d9b059441f6460e81cc4ec81db2495282b66bb84666e6d4b897254e",
    "src/geostep/power.py": "438338a1084bf87447a54ce6913a71f921bd806ca552715404a2cf371a2bf5d0",
    "src/geostep/reports.py": "fb6eb9c207f6082f0aa13062d61f014708cd26f7f29918f7fb117a148dfe577b",
    "src/geostep/schemas.py": "4128000a2c693ac0b1571f2ab4abbb72c91ab4e22e01b5c8cff1e6040e9657d9",
    "src/geostep/validation.py": "b95ce26850656fa97276128fc9eea01a510f257dbbff4c3eda00063116632209",
    "src/geostep/visualizer.py": "cb97a4c2f820e7a087aad561cf36fa1771087e7e49f14309d9beda8ae6ab852c"
  },
  "results": [
    {
      "scenario": "normal_12",
      "n_geos": 12,
      "additive_effect": 0.0,
      "n_valid": 200,
      "n_failed": 0,
      "failure_reasons": {},
      "bias": 0.020493343376306504,
      "bias_mcse": 0.28372078964682385,
      "rmse": 4.002426737144401,
      "mean_interval_width": 18.47076358744278,
      "coverage": 0.965,
      "coverage_mc_interval": [
        0.9295293884777092,
        0.9829444579914328
      ],
      "rejection_rate": 0.035,
      "rejection_mc_interval": [
        0.01705554200856719,
        0.07047061152229073
      ]
    },
    {
      "scenario": "normal_12",
      "n_geos": 12,
      "additive_effect": 5.0,
      "n_valid": 200,
      "n_failed": 0,
      "failure_reasons": {},
      "bias": -0.10563231444355495,
      "bias_mcse": 0.30819677405603535,
      "rmse": 4.348933575260208,
      "mean_interval_width": 19.138257337554645,
      "coverage": 0.93,
      "coverage_mc_interval": [
        0.8859451911438936,
        0.9578478281716571
      ],
      "rejection_rate": 0.155,
      "rejection_mc_interval": [
        0.11139636927689311,
        0.2116069059234208
      ]
    },
    {
      "scenario": "normal_40",
      "n_geos": 40,
      "additive_effect": 0.0,
      "n_valid": 200,
      "n_failed": 0,
      "failure_reasons": {},
      "bias": -0.06771868281670206,
      "bias_mcse": 0.15779202905896472,
      "rmse": 2.2269603459596934,
      "mean_interval_width": 9.271039970355183,
      "coverage": 0.96,
      "coverage_mc_interval": [
        0.923067931799067,
        0.9795943679338476
      ],
      "rejection_rate": 0.04,
      "rejection_mc_interval": [
        0.020405632066152306,
        0.07693206820093296
      ]
    },
    {
      "scenario": "normal_40",
      "n_geos": 40,
      "additive_effect": 5.0,
      "n_valid": 200,
      "n_failed": 0,
      "failure_reasons": {},
      "bias": 0.19456160413369233,
      "bias_mcse": 0.16347024947238042,
      "rmse": 2.3142247487772165,
      "mean_interval_width": 9.358887331171942,
      "coverage": 0.965,
      "coverage_mc_interval": [
        0.9295293884777092,
        0.9829444579914328
      ],
      "rejection_rate": 0.59,
      "rejection_mc_interval": [
        0.5207645903369208,
        0.6558432509151711
      ]
    },
    {
      "scenario": "heteroskedastic_40",
      "n_geos": 40,
      "additive_effect": 0.0,
      "n_valid": 200,
      "n_failed": 0,
      "failure_reasons": {},
      "bias": 0.4836161882482672,
      "bias_mcse": 0.19220746161698646,
      "rmse": 2.754211787332921,
      "mean_interval_width": 10.885671419816582,
      "coverage": 0.94,
      "coverage_mc_interval": [
        0.8980683070423372,
        0.9653478057456681
      ],
      "rejection_rate": 0.06,
      "rejection_mc_interval": [
        0.03465219425433186,
        0.10193169295766272
      ]
    },
    {
      "scenario": "heteroskedastic_40",
      "n_geos": 40,
      "additive_effect": 5.0,
      "n_valid": 200,
      "n_failed": 0,
      "failure_reasons": {},
      "bias": -0.23782619846268646,
      "bias_mcse": 0.1743202072645275,
      "rmse": 2.4705628302401115,
      "mean_interval_width": 10.774825318770143,
      "coverage": 0.96,
      "coverage_mc_interval": [
        0.923067931799067,
        0.9795943679338476
      ],
      "rejection_rate": 0.4,
      "rejection_mc_interval": [
        0.33460578566807336,
        0.46916327960737997
      ]
    },
    {
      "scenario": "unequal_strata_40",
      "n_geos": 40,
      "additive_effect": 0.0,
      "n_valid": 200,
      "n_failed": 0,
      "failure_reasons": {},
      "bias": -0.013599283142810137,
      "bias_mcse": 0.2027170432004582,
      "rmse": 2.8597081427455757,
      "mean_interval_width": 11.1960285261734,
      "coverage": 0.945,
      "coverage_mc_interval": [
        0.9042130012276914,
        0.9690146582965411
      ],
      "rejection_rate": 0.055,
      "rejection_mc_interval": [
        0.030985341703458846,
        0.09578699877230842
      ]
    },
    {
      "scenario": "unequal_strata_40",
      "n_geos": 40,
      "additive_effect": 5.0,
      "n_valid": 200,
      "n_failed": 0,
      "failure_reasons": {},
      "bias": 0.18852578377675133,
      "bias_mcse": 0.1789049861754419,
      "rmse": 2.5307970666881245,
      "mean_interval_width": 10.762460638365862,
      "coverage": 0.985,
      "coverage_mc_interval": [
        0.9568342712073097,
        0.9948857622067417
      ],
      "rejection_rate": 0.49,
      "rejection_mc_interval": [
        0.42156278331213176,
        0.5588141232154136
      ]
    }
  ]
}
