{
  "schema": "did-replication-v2",
  "config": {
    "outcomes": [
      "y"
    ],
    "treatments": [
      "d"
    ],
    "unit": "unit",
    "time": "time",
    "cluster": "cluster",
    "covariates": [],
    "baseline_by_time": [],
    "weight": null,
    "period_step": 1,
    "period_values": null,
    "display_window": [
      -10,
      10
    ],
    "seed": 20261008,
    "panelview_max_units": 100,
    "test_mode": "classical",
    "test_horizon": null,
    "post_horizon": null,
    "post_weighting": "observations",
    "sample_query": null,
    "reversal_policy": "drop_post_untreated",
    "labels": {
      "y": "",
      "d": ""
    },
    "allow_repeated_cells": true,
    "time_fe": null,
    "unit_fe": null,
    "frequency_weights": false,
    "source_sd": null,
    "latest_cohort_control": true,
    "slug": "s01-p009",
    "study_id": 1,
    "study": "Curriculum and Ideology",
    "citation": "Cantoni et al. (2017), JPE. https://doi.org/10.1086/690951",
    "description": "CI-F4-I-DYNAMIC",
    "source_specification_id": "CI-F4-I-DYNAMIC",
    "specification_id": "S01-P009",
    "data": "repl-archives/twfe-microdata-replication-private/outputs/published_clustering_2026_10_08/curriculum/prepared_rows/CI-F4-I-DYNAMIC.csv",
    "output_dir": "analyses/full-archive/results/S01-P009"
  },
  "source": {
    "file": "CI-F4-I-DYNAMIC.csv",
    "bytes": 201131,
    "sha256": "e6fe25bb63d9d4ddec0242b7489a570bc72972c4af978404eb084604f93b6c43"
  },
  "versions": {
    "pyfixest": "0.60.0",
    "polars": "2.0.0",
    "duckreg": "0.4.1",
    "numpy": "2.5.3",
    "pandas": "3.0.6"
  },
  "specifications": {
    "y__d": {
      "sample": {
        "outcome": "y",
        "treatment": "d",
        "source_rows": 1708,
        "source_sd": 1.003793584090186,
        "rows": 1070,
        "units": 19,
        "clusters": 19,
        "treated_units": 13,
        "never_treated_units": 6,
        "treated_cohorts": 3,
        "latest_cohort_control_index": null,
        "unique_unit_period_cells": 76,
        "unsupported_prediction_rows_removed": 0,
        "initially_treated_units_removed": 10,
        "post_adoption_untreated_rows_removed": 0,
        "units_without_minus_one_removed": 0,
        "additional_rows_removed": 0
      },
      "estimates": [
        {
          "method": "Static TWFE",
          "estimate": -0.10383844587036897,
          "se": 0.14398166080331445,
          "pvalue": 0.4800546136184386,
          "lower": -0.4063326904425615,
          "upper": 0.19865579870182357
        },
        {
          "method": "Dynamic TWFE",
          "estimate": -0.17242296820887307,
          "se": 0.21202799486971516,
          "pvalue": 0.4267248251395126,
          "lower": -0.6178772557787714,
          "upper": 0.2730313193610253
        },
        {
          "method": "BJS / did2s",
          "estimate": -0.23622466603612602,
          "se": 0.17896207784656717,
          "pvalue": 0.20338629609699704,
          "lower": -0.6122100397513115,
          "upper": 0.1397607076790594
        },
        {
          "method": "Sun\u2013Abraham",
          "estimate": -0.19720465361266512,
          "se": 0.23831296860540183,
          "pvalue": 0.418788264491447,
          "lower": -0.6978816218310244,
          "upper": 0.3034723146056941
        }
      ],
      "event_studies": {
        "Dynamic TWFE": [
          {
            "event_time": -3,
            "estimate": -0.38165667980857426,
            "se": 0.2630032245001727,
            "pvalue": 0.16394402055554766,
            "lower": -0.934205950815449,
            "upper": 0.17089259119830041
          },
          {
            "event_time": -2,
            "estimate": -0.15892379019484998,
            "se": 0.23602860889068691,
            "pvalue": 0.5092947660360098,
            "lower": -0.654801496740726,
            "upper": 0.336953916351026
          },
          {
            "event_time": 0,
            "estimate": -0.10215103508199845,
            "se": 0.1701025151182666,
            "pvalue": 0.5556421015432657,
            "lower": -0.4595231581943992,
            "upper": 0.2552210880304023
          },
          {
            "event_time": 1,
            "estimate": -0.1849549148334917,
            "se": 0.2449549361835264,
            "pvalue": 0.45998112047421946,
            "lower": -0.6995861391272993,
            "upper": 0.3296763094603159
          },
          {
            "event_time": 2,
            "estimate": -0.3258836026821228,
            "se": 0.3311854579066368,
            "pvalue": 0.3381622733553842,
            "lower": -1.0216784306054967,
            "upper": 0.3699112252412511
          }
        ],
        "BJS / did2s": [
          {
            "event_time": -3,
            "estimate": -0.09445138636162041,
            "se": 0.10275335481109518,
            "pvalue": 0.3701429910351686,
            "lower": -0.31032817419295783,
            "upper": 0.12142540146971699
          },
          {
            "event_time": -2,
            "estimate": 0.02419257349826795,
            "se": 0.07914485459779526,
            "pvalue": 0.7633593130362347,
            "lower": -0.1420845958979124,
            "upper": 0.1904697428944483
          },
          {
            "event_time": -1,
            "estimate": 0.00768630696851099,
            "se": 0.04179691524630858,
            "pvalue": 0.8561504349231068,
            "lower": -0.0801257534865454,
            "upper": 0.09549836742356736
          },
          {
            "event_time": 0,
            "estimate": -0.1143718884607149,
            "se": 0.15401270679073972,
            "pvalue": 0.4672973248630285,
            "lower": -0.4379405786345606,
            "upper": 0.20919680171313082
          },
          {
            "event_time": 1,
            "estimate": -0.2891097328457044,
            "se": 0.21290788592397653,
            "pvalue": 0.1912718743302818,
            "lower": -0.7364126029245114,
            "upper": 0.15819313723310258
          },
          {
            "event_time": 2,
            "estimate": -0.44258866685462245,
            "se": 0.23605724340962106,
            "pvalue": 0.07712410659081494,
            "lower": -0.9385265322924389,
            "upper": 0.05334919858319398
          }
        ],
        "Sun\u2013Abraham": [
          {
            "event_time": -3,
            "estimate": -0.31327974559026706,
            "se": 0.37616771472729665,
            "pvalue": 0.41586059308262024,
            "lower": -1.103578788287948,
            "upper": 0.47701929710741386
          },
          {
            "event_time": -2,
            "estimate": 0.0030416262637916747,
            "se": 0.2973476223919159,
            "pvalue": 0.9919509491706519,
            "lower": -0.6216625472326541,
            "upper": 0.6277457997602375
          },
          {
            "event_time": 0,
            "estimate": -0.12013577323972735,
            "se": 0.17232345647551292,
            "pvalue": 0.49461374278306386,
            "lower": -0.48217392099964973,
            "upper": 0.24190237452019503
          },
          {
            "event_time": 1,
            "estimate": -0.15952707793377946,
            "se": 0.3348946209644672,
            "pvalue": 0.6395560231995686,
            "lower": -0.8631145682761971,
            "upper": 0.5440604124086381
          },
          {
            "event_time": 2,
            "estimate": -0.4641108883306288,
            "se": 0.336022480723986,
            "pvalue": 0.18412794497660323,
            "lower": -1.1700679241001204,
            "upper": 0.24184614743886285
          }
        ]
      },
      "target": {
        "event_times": [
          0.0,
          1.0,
          2.0
        ],
        "weights": [
          0.4640151515151515,
          0.3522727272727273,
          0.18371212121212122
        ],
        "weighting": "observations"
      },
      "checks": {
        "did2s_vs_direct_imputation_max_post_difference": 1.1102230246251565e-16,
        "package_aggregate_vs_estimable_cell_weights": 0.0,
        "saturated_vs_deviations_relative_rss_difference": 1.0754784509392937e-15
      },
      "inference": {
        "standard_errors": "Cluster-robust; did2s uses two-stage covariance",
        "confidence_intervals": "Pointwise t, clusters minus one degrees of freedom"
      },
      "f_test": {
        "F": 1.3423079023878395,
        "df_num": 1,
        "df_den": 1039,
        "pvalue": 0.24689359680752646,
        "log10_pvalue": -0.6074901733617837,
        "inference": "Homoskedastic nested-model F",
        "observations": 1070,
        "design_columns": 9,
        "restricted_design_columns": 8,
        "fixed_effect_rank": 22,
        "covariance_rank": 1,
        "rss_unrestricted": 1057.081502863448,
        "rss_restricted": 1058.447170673613,
        "test_horizon": null,
        "reference_cohort": 2,
        "pyfixest": "0.27.0",
        "formulaic": "1.0.2",
        "design_head": {
          "index": [
            0,
            1,
            2,
            3,
            4
          ],
          "columns": [
            "C(rel_time, contr.treatment(base=-1.0))[T.-3.0]",
            "C(rel_time, contr.treatment(base=-1.0))[T.-2.0]",
            "C(rel_time, contr.treatment(base=-1.0))[T.0.0]",
            "C(rel_time, contr.treatment(base=-1.0))[T.1.0]",
            "C(rel_time, contr.treatment(base=-1.0))[T.2.0]",
            "C(rel_time, contr.treatment(base=-1.0))[T.-2.0]:cohort_dummy_3"
          ],
          "data": [
            [
              -0.14075015362041632,
              -0.17190601811798523,
              -0.011602642513742161,
              -0.10008494322419587,
              -0.15379566258784194,
              -0.22086379394483133
            ],
            [
              -0.14075015362041632,
              -0.17190601811798523,
              -0.011602642513742161,
              -0.10008494322419587,
              -0.15379566258784194,
              -0.22086379394483133
            ],
            [
              -0.14075015362041632,
              -0.17190601811798523,
              -0.011602642513742161,
              -0.10008494322419587,
              -0.15379566258784194,
              -0.22086379394483133
            ],
            [
              -0.14075015362041632,
              -0.17190601811798523,
              -0.011602642513742161,
              -0.10008494322419587,
              -0.15379566258784194,
              -0.22086379394483133
            ],
            [
              -0.14075015362041632,
              -0.17190601811798523,
              -0.011602642513742161,
              -0.10008494322419587,
              -0.15379566258784194,
              -0.22086379394483133
            ]
          ]
        },
        "formula": "y~i(rel_time,ref=-1.0)+i(rel_time,cohort_dummy_3,ref=-1.0)+i(rel_time,cohort_dummy_4,ref=-1.0)|unit_fe+time_fe",
        "restriction_names": [
          "C(rel_time, contr.treatment(base=-1.0))[T.1.0]:cohort_dummy_3"
        ],
        "deviations": [
          {
            "event_time": -2.0,
            "cohort": 3,
            "estimate": 0.5779260707240541
          },
          {
            "event_time": 0.0,
            "cohort": 3,
            "estimate": 0.6275217487113791
          },
          {
            "event_time": 1.0,
            "cohort": 3,
            "estimate": 0.44364784746454433
          },
          {
            "event_time": 0.0,
            "cohort": 4,
            "estimate": 0.2812643464971576
          }
        ]
      }
    }
  },
  "code_sha256": {
    "replication_engine.py": "aa5b4502ce913299533b0c0035000b0770df1c69af7de25b04aa0c8532a3ddca",
    "reference_f_test.py": "9cf8f31eeda89784ac1750ea22c35401ae46e24e06279acf938d2d103b78cccf",
    "sparse_did2s.py": "75169d7fbba6e1bad163e564ac9b5b1262a04033eda925dc379dc3eef64c59fa",
    "frequency.py": "8f922ae4be2b63ad9b89515d8e665cda4e11a354258b54ef3b820648243642eb"
  }
}
