{
  "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-p003",
    "study_id": 1,
    "study": "Curriculum and Ideology",
    "citation": "Cantoni et al. (2017), JPE. https://doi.org/10.1086/690951",
    "description": "CI-F4-C-DYNAMIC",
    "source_specification_id": "CI-F4-C-DYNAMIC",
    "specification_id": "S01-P003",
    "data": "repl-archives/twfe-microdata-replication-private/outputs/published_clustering_2026_10_08/curriculum/prepared_rows/CI-F4-C-DYNAMIC.csv",
    "output_dir": "analyses/full-archive/results/S01-P003"
  },
  "source": {
    "file": "CI-F4-C-DYNAMIC.csv",
    "bytes": 203155,
    "sha256": "4f0fc974aa0237cb8003e125fa3d2eb903f685da46d1573342e58b7c4f00704a"
  },
  "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": 1724,
        "source_sd": 0.9943607410401687,
        "rows": 1083,
        "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.15375680744740297,
          "se": 0.09074245279203282,
          "pvalue": 0.1074147055456748,
          "lower": -0.036886011608910696,
          "upper": 0.34439962650371664
        },
        {
          "method": "Dynamic TWFE",
          "estimate": 0.08421747394838008,
          "se": 0.09946446730437307,
          "pvalue": 0.408273902221244,
          "lower": -0.12474961763221143,
          "upper": 0.2931845655289716
        },
        {
          "method": "BJS / did2s",
          "estimate": 0.0901545311646468,
          "se": 0.0978295313181089,
          "pvalue": 0.3689522323040877,
          "lower": -0.1153776873680191,
          "upper": 0.2956867496973127
        },
        {
          "method": "Sun\u2013Abraham",
          "estimate": 0.1175087094060933,
          "se": 0.09938598346098555,
          "pvalue": 0.2524518217073091,
          "lower": -0.09129349373812255,
          "upper": 0.32631091255030914
        }
      ],
      "event_studies": {
        "Dynamic TWFE": [
          {
            "event_time": -3,
            "estimate": -0.05240147133214251,
            "se": 0.2401146234617302,
            "pvalue": 0.8297009043655535,
            "lower": -0.5568635759470695,
            "upper": 0.4520606332827844
          },
          {
            "event_time": -2,
            "estimate": -0.11019329220129105,
            "se": 0.1337939267193855,
            "pvalue": 0.4209432646203772,
            "lower": -0.3912839016964424,
            "upper": 0.17089731729386032
          },
          {
            "event_time": 0,
            "estimate": 0.14325456822898272,
            "se": 0.09388300396045018,
            "pvalue": 0.14441807434901946,
            "lower": -0.053986303995563756,
            "upper": 0.3404954404535292
          },
          {
            "event_time": 1,
            "estimate": 0.030917345380920797,
            "se": 0.12022808506257403,
            "pvalue": 0.7999751315152169,
            "lower": -0.22167248838301531,
            "upper": 0.2835071791448569
          },
          {
            "event_time": 2,
            "estimate": 0.03481387056656806,
            "se": 0.15415036402758545,
            "pvalue": 0.8238675868428254,
            "lower": -0.28904402673016555,
            "upper": 0.3586717678633016
          }
        ],
        "BJS / did2s": [
          {
            "event_time": -3,
            "estimate": 0.011467080125556894,
            "se": 0.0855993498704542,
            "pvalue": 0.894918884592915,
            "lower": -0.1683704806475842,
            "upper": 0.19130464089869798
          },
          {
            "event_time": -2,
            "estimate": -0.05760355686625657,
            "se": 0.051323271434503825,
            "pvalue": 0.2764552102740826,
            "lower": -0.16542974900027896,
            "upper": 0.05022263526776581
          },
          {
            "event_time": -1,
            "estimate": 0.03154177423846157,
            "se": 0.021571175179462634,
            "pvalue": 0.16092196300699207,
            "lower": -0.013777583129971911,
            "upper": 0.07686113160689506
          },
          {
            "event_time": 0,
            "estimate": 0.16497767963745819,
            "se": 0.10095613488440786,
            "pvalue": 0.11959484289171321,
            "lower": -0.04712328923874143,
            "upper": 0.3770786485136578
          },
          {
            "event_time": 1,
            "estimate": 0.017836447537030085,
            "se": 0.12820168248127373,
            "pvalue": 0.8908937840927887,
            "lower": -0.2515052927838613,
            "upper": 0.28717818785792143
          },
          {
            "event_time": 2,
            "estimate": 0.036728701475589945,
            "se": 0.13550746759824817,
            "pvalue": 0.7894397989493432,
            "lower": -0.247961923818818,
            "upper": 0.32141932676999785
          }
        ],
        "Sun\u2013Abraham": [
          {
            "event_time": -3,
            "estimate": -0.1667499833958475,
            "se": 0.24134928672880449,
            "pvalue": 0.49843777136602196,
            "lower": -0.6738060192808468,
            "upper": 0.34030605248915174
          },
          {
            "event_time": -2,
            "estimate": -0.269257933941431,
            "se": 0.14362818438274527,
            "pvalue": 0.07715787425872228,
            "lower": -0.5710095521109442,
            "upper": 0.03249368422808224
          },
          {
            "event_time": 0,
            "estimate": 0.1639135372800584,
            "se": 0.08823621417999722,
            "pvalue": 0.07965327506396944,
            "lower": -0.021463869838126592,
            "upper": 0.3492909443982434
          },
          {
            "event_time": 1,
            "estimate": 0.027104964328671044,
            "se": 0.13147984088909812,
            "pvalue": 0.8389851816317532,
            "lower": -0.24912393124262006,
            "upper": 0.30333385989996214
          },
          {
            "event_time": 2,
            "estimate": 0.17219214611729627,
            "se": 0.15762875828924716,
            "pvalue": 0.28906720832216126,
            "lower": -0.15897358634841036,
            "upper": 0.5033578785830028
          }
        ]
      },
      "target": {
        "event_times": [
          0.0,
          1.0,
          2.0
        ],
        "weights": [
          0.4681647940074906,
          0.350187265917603,
          0.18164794007490637
        ],
        "weighting": "observations"
      },
      "checks": {
        "did2s_vs_direct_imputation_max_post_difference": 2.7755575615628914e-17,
        "package_aggregate_vs_estimable_cell_weights": 0.0,
        "saturated_vs_deviations_relative_rss_difference": 4.280987324801012e-16
      },
      "inference": {
        "standard_errors": "Cluster-robust; did2s uses two-stage covariance",
        "confidence_intervals": "Pointwise t, clusters minus one degrees of freedom"
      },
      "f_test": {
        "F": 1.190809813898597,
        "df_num": 1,
        "df_den": 1052,
        "pvalue": 0.2754161303392452,
        "log10_pvalue": -0.5600106279419104,
        "inference": "Homoskedastic nested-model F",
        "observations": 1083,
        "design_columns": 9,
        "restricted_design_columns": 8,
        "fixed_effect_rank": 22,
        "covariance_rank": 1,
        "rss_unrestricted": 1062.2487673625658,
        "rss_restricted": 1063.4511782532284,
        "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.14020765990311126,
              -0.16651996462595925,
              -0.019493246168739563,
              -0.09689512651227047,
              -0.14890509392471074,
              -0.21653783102752858
            ],
            [
              -0.14020765990311126,
              -0.16651996462595925,
              -0.019493246168739563,
              -0.09689512651227047,
              -0.14890509392471074,
              -0.21653783102752858
            ],
            [
              -0.14020765990311126,
              -0.16651996462595925,
              -0.019493246168739563,
              -0.09689512651227047,
              -0.14890509392471074,
              -0.21653783102752858
            ],
            [
              -0.14020765990311126,
              -0.16651996462595925,
              -0.019493246168739563,
              -0.09689512651227047,
              -0.14890509392471074,
              -0.21653783102752858
            ],
            [
              -0.14020765990311126,
              -0.16651996462595925,
              -0.019493246168739563,
              -0.09689512651227047,
              -0.14890509392471074,
              -0.21653783102752858
            ]
          ]
        },
        "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.42338069130872785
          },
          {
            "event_time": 0.0,
            "cohort": 3,
            "estimate": -0.5869809284304868
          },
          {
            "event_time": 1.0,
            "cohort": 3,
            "estimate": -0.41461127364841466
          },
          {
            "event_time": 0.0,
            "cohort": 4,
            "estimate": -0.3522803696592128
          }
        ]
      }
    }
  },
  "code_sha256": {
    "replication_engine.py": "aa5b4502ce913299533b0c0035000b0770df1c69af7de25b04aa0c8532a3ddca",
    "reference_f_test.py": "9cf8f31eeda89784ac1750ea22c35401ae46e24e06279acf938d2d103b78cccf",
    "sparse_did2s.py": "75169d7fbba6e1bad163e564ac9b5b1262a04033eda925dc379dc3eef64c59fa",
    "frequency.py": "8f922ae4be2b63ad9b89515d8e665cda4e11a354258b54ef3b820648243642eb"
  }
}
