{
  "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": "Identified new-curriculum textbook cover",
      "d": "New Curriculum indicator (newcurr)"
    },
    "allow_repeated_cells": true,
    "time_fe": null,
    "latest_cohort_control": true,
    "slug": "s01-p098",
    "study_id": 1,
    "study": "Curriculum and Ideology",
    "citation": "Cantoni et al. (2017), JPE. https://doi.org/10.1086/690951",
    "description": "Identified new-curriculum textbook cover",
    "source_specification_id": "CI-T6-C01",
    "specification_id": "S01-P098",
    "data": "repl-archives/twfe-microdata-replication-private/outputs/published_clustering_2026_10_08/curriculum/prepared_rows/CI-T6-C01.csv",
    "output_dir": "analyses/full-archive/results/S01-P098"
  },
  "source": {
    "file": "CI-T6-C01.csv",
    "bytes": 185802,
    "sha256": "0b4c4ad98e5597831633ba5f327ee8dc05157e84f750042bd6610269a90d677c"
  },
  "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": 1691,
        "source_sd": 0.47425874300114024,
        "rows": 1061,
        "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": 1.8196301845967586,
          "se": 0.03539582112556906,
          "pvalue": 5.520287618923952e-21,
          "lower": 1.7452663238616213,
          "upper": 1.893994045331896
        },
        {
          "method": "Dynamic TWFE",
          "estimate": 1.8678345594245334,
          "se": 0.03376705491027619,
          "pvalue": 1.4884466271965338e-21,
          "lower": 1.7968926095295048,
          "upper": 1.938776509319562
        },
        {
          "method": "BJS / did2s",
          "estimate": 1.8532128242950852,
          "se": 0.03435447369179532,
          "pvalue": 2.3327769734370286e-21,
          "lower": 1.7810367533351115,
          "upper": 1.9253888952550589
        },
        {
          "method": "Sun\u2013Abraham",
          "estimate": 1.8648815281075595,
          "se": 0.03132174678432304,
          "pvalue": 3.9849765407232277e-22,
          "lower": 1.7990769799495263,
          "upper": 1.9306860762655926
        }
      ],
      "event_studies": {
        "Dynamic TWFE": [
          {
            "event_time": -3,
            "estimate": -0.08299232968478176,
            "se": 0.05226639267924692,
            "pvalue": 0.12972570151876753,
            "lower": -0.19279994602850448,
            "upper": 0.026815286658940937
          },
          {
            "event_time": -2,
            "estimate": -0.08939846865397287,
            "se": 0.04194013304692579,
            "pvalue": 0.0470778395181078,
            "lower": -0.17751141854290078,
            "upper": -0.0012855187650449573
          },
          {
            "event_time": 0,
            "estimate": 1.8183870773231345,
            "se": 0.03731490177047666,
            "pvalue": 1.4361994122575012e-20,
            "lower": 1.7399913777641107,
            "upper": 1.8967827768821584
          },
          {
            "event_time": 1,
            "estimate": 1.8924506598803639,
            "se": 0.04012129878999037,
            "pvalue": 2.571069277466326e-20,
            "lower": 1.808158938969377,
            "upper": 1.9767423807913507
          },
          {
            "event_time": 2,
            "estimate": 1.9453025613481345,
            "se": 0.047165275371226285,
            "pvalue": 2.818875674509896e-19,
            "lower": 1.8462119947866873,
            "upper": 2.0443931279095815
          }
        ],
        "BJS / did2s": [
          {
            "event_time": -3,
            "estimate": 0.024465601081095436,
            "se": 0.021780218054382124,
            "pvalue": 0.27607162409302977,
            "lower": -0.021292939070611753,
            "upper": 0.07022414123280263
          },
          {
            "event_time": -2,
            "estimate": -0.03983457014953871,
            "se": 0.020459262468225672,
            "pvalue": 0.06730801767867195,
            "lower": -0.08281788559611028,
            "upper": 0.003148745297032872
          },
          {
            "event_time": -1,
            "estimate": 0.018613360591344292,
            "se": 0.008323396002266503,
            "pvalue": 0.03823413147912875,
            "lower": 0.0011265544805284487,
            "upper": 0.03610016670216014
          },
          {
            "event_time": 0,
            "estimate": 1.815217147567639,
            "se": 0.04668386818037768,
            "pvalue": 8.055047463362753e-19,
            "lower": 1.7171379799837763,
            "upper": 1.913296315151502
          },
          {
            "event_time": 1,
            "estimate": 1.8486275581645495,
            "se": 0.03710643495891203,
            "pvalue": 9.6759077215373e-21,
            "lower": 1.7706698311246007,
            "upper": 1.9265852852044982
          },
          {
            "event_time": 2,
            "estimate": 1.9577820194623818,
            "se": 0.05446854147936044,
            "pvalue": 3.2599676247855506e-18,
            "lower": 1.8433478601686102,
            "upper": 2.0722161787561535
          }
        ],
        "Sun\u2013Abraham": [
          {
            "event_time": -3,
            "estimate": -0.05088561577238154,
            "se": 0.03725444912496321,
            "pvalue": 0.18879736424592938,
            "lower": -0.1291543090360552,
            "upper": 0.027383077491292124
          },
          {
            "event_time": -2,
            "estimate": -0.13787629356417389,
            "se": 0.05227285810093517,
            "pvalue": 0.016720155599751124,
            "lower": -0.24769749325482088,
            "upper": -0.028055093873526893
          },
          {
            "event_time": 0,
            "estimate": 1.8156536592116246,
            "se": 0.034986733417533104,
            "pvalue": 4.6629301298665035e-21,
            "lower": 1.7421492598586916,
            "upper": 1.8891580585645575
          },
          {
            "event_time": 1,
            "estimate": 1.8487468558893538,
            "se": 0.04239229084723683,
            "pvalue": 1.0426024209795932e-19,
            "lower": 1.7596839577120855,
            "upper": 1.9378097540666221
          },
          {
            "event_time": 2,
            "estimate": 2.0199015693676228,
            "se": 0.04733812244346993,
            "pvalue": 1.5383381724466117e-19,
            "lower": 1.9204478645825078,
            "upper": 2.1193552741527375
          }
        ]
      },
      "target": {
        "event_times": [
          0.0,
          1.0,
          2.0
        ],
        "weights": [
          0.46360153256704983,
          0.3524904214559387,
          0.1839080459770115
        ],
        "weighting": "observations"
      },
      "checks": {
        "did2s_vs_direct_imputation_max_post_difference": 1.1102230246251565e-15,
        "package_aggregate_vs_estimable_cell_weights": 0.0,
        "saturated_vs_deviations_relative_rss_difference": 1.3821915683882027e-15
      },
      "inference": {
        "standard_errors": "Cluster-robust; did2s uses two-stage covariance",
        "confidence_intervals": "Pointwise t, clusters minus one degrees of freedom"
      },
      "f_test": {
        "F": 0.4995975208013246,
        "df_num": 1,
        "df_den": 1030,
        "pvalue": 0.47983688921801004,
        "log10_pvalue": -0.3189063671060383,
        "inference": "Homoskedastic nested-model F",
        "observations": 1061,
        "design_columns": 9,
        "restricted_design_columns": 8,
        "fixed_effect_rank": 22,
        "covariance_rank": 1,
        "rss_unrestricted": 164.50228799208833,
        "rss_restricted": 164.58207919135725,
        "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.1416726041825442,
              -0.17329696928466512,
              -0.008638234490561806,
              -0.10117543195037146,
              -0.15443480981982952,
              -0.22192198190561663
            ],
            [
              -0.1416726041825442,
              -0.17329696928466512,
              -0.008638234490561806,
              -0.10117543195037146,
              -0.15443480981982952,
              -0.22192198190561663
            ],
            [
              -0.1416726041825442,
              -0.17329696928466512,
              -0.008638234490561806,
              -0.10117543195037146,
              -0.15443480981982952,
              -0.22192198190561663
            ],
            [
              -0.1416726041825442,
              -0.17329696928466512,
              -0.008638234490561806,
              -0.10117543195037146,
              -0.15443480981982952,
              -0.22192198190561663
            ],
            [
              -0.1416726041825442,
              -0.17329696928466512,
              -0.008638234490561806,
              -0.10117543195037146,
              -0.15443480981982952,
              -0.22192198190561663
            ]
          ]
        },
        "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+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.201457323420481
          },
          {
            "event_time": 0.0,
            "cohort": 3,
            "estimate": -0.3763984891961492
          },
          {
            "event_time": 1.0,
            "cohort": 3,
            "estimate": -0.10787936607358797
          },
          {
            "event_time": 0.0,
            "cohort": 4,
            "estimate": -0.045968933198737474
          }
        ]
      }
    }
  },
  "code_sha256": {
    "replication_engine.py": "85957b22db6cf6312f27a925b03b907e4d51071cc59a60cfdf2d7b039b1e34eb",
    "reference_f_test.py": "26f3d65e1ff59d46f05bb28011b2ed34b9ee150f04c47c144dd6836a4d75d6f0",
    "sparse_did2s.py": "a348042269b0077dd2916898779f992f0b5fc2971edfee8b0118d3af715eaafb"
  }
}
