← Back to the post
Interactive data dictionary

The Augmented Synthetic Control Method: The Kansas Tax Cuts

The augsynth `kansas` panel — 50 U.S. states, quarterly 1990 Q1–2016 Q1, log GDP per capita.

50
states
32
variables
1990–2016
quarters
5250
rows

Downloads

Each dataset is available as a labeled Stata .dta and its source file.

⇩ Download all data (ZIP)stata_codebook.do

DatasetGrainRowsStataSource
kansasstate-quarter5,250 × 32kansas.dtakansas.csv

Run stata_codebook.do in Stata once to attach long-form per-variable notes to the .dta files.

Load directly in code

Every file loads straight from GitHub (raw URLs). Swap the file name to load any dataset.

Stata

* Stata 14+ : `use` reads an https URL directly
global BASE "https://raw.githubusercontent.com/cmg777/starter-academic-v501/master/content/post/r_augsynth/data/"
use "${BASE}kansas.dta", clear
describe
notes

Python

!pip install -q pyreadstat
import pandas as pd
BASE = "https://raw.githubusercontent.com/cmg777/starter-academic-v501/master/content/post/r_augsynth/data/"
df = pd.read_stata(BASE + "kansas.dta")

# load every dataset at once
files = ["kansas"]
data = {f: pd.read_stata(BASE + f + ".dta") for f in files}

# pyreadstat (richest metadata) reads LOCAL files -> download first
import pyreadstat, urllib.request
urllib.request.urlretrieve(BASE + "kansas.dta", "kansas.dta")
df, meta = pyreadstat.read_dta("kansas.dta")

Copy and paste this snippet in Google Colab app. https://colab.research.google.com/notebooks/empty.ipynb

R

# R : haven::read_dta auto-downloads an https URL
library(haven)
BASE <- "https://raw.githubusercontent.com/cmg777/starter-academic-v501/master/content/post/r_augsynth/data/"
df <- read_dta(paste0(BASE, "kansas.dta"))

Overview & sources

Companion data for a beginner-friendly R tutorial on the Augmented Synthetic Control Method (ASCM) of Ben-Michael, Feller & Rothstein (2021), estimating the effect of the May 2012 Kansas personal-income-tax cut on log gross state product (GSP) per capita. The dataset is the kansas object shipped with the augsynth R package: a balanced panel of 50 U.S. states observed every quarter from 1990 Q1 to 2016 Q1 (105 quarters per state, 5,250 rows). Kansas (FIPS 20) is the single treated unit, switched on from 2012 Q2 (year_qtr = 2012.25) onward; the other 49 states form the donor pool. The outcome is lngdpcapita; per-capita revenue, wage, establishment and employment series serve as auxiliary covariates. The tutorial moves from classic SCM through ridge augmentation and covariate balancing, then compares four ways to do inference.

One file. kansas is a balanced state-by-quarter panel (one row per state × quarter) over 1990 Q1–2016 Q1. The key is fips × year_qtr. The treatment indicator treated is 1 only for Kansas (FIPS 20) from 2012 Q2 onward (89 pre-treatment + 16 post-treatment quarters), 0 everywhere else. Three state/local revenue series are observed only annually and are NA in most quarters.

Data sources

SourceProvidesReference / URL
augsynth R package (kansas)The full panel — the package&#x27;s bundled kansas object, copied to CSV for reproducibilityBen-Michael, E. augsynth: Augmented Synthetic Control Method. https://github.com/ebenmichael/augsynth
BEA / BLS QCEW (underlying)Gross state product, per-capita revenue, wages, establishments and employment seriesU.S. Bureau of Economic Analysis (GSP) and Bureau of Labor Statistics QCEW, as assembled in the augsynth kansas object.
Ben-Michael, Feller &amp; Rothstein (2021)Replicated method (ASCM) and the canonical Kansas applicationBen-Michael, E., Feller, A., & Rothstein, J. (2021). The Augmented Synthetic Control Method. Journal of the American Statistical Association, 116(536), 1789–1803.
Method referencesEstimators and inference conceptsAbadie, Diamond & Hainmueller (2010); Abadie & Gardeazabal (2003); Chernozhukov, Wüthrich & Zhu (2021).

Cite this data

Please cite this dataset as follows.

APA

Mendez, C. (2026). The Augmented Synthetic Control Method: A Beginner's Tutorial with the Kansas Tax Cuts [Data set]. https://carlos-mendez.org/post/r_augsynth/

Ben-Michael, E., Feller, A., & Rothstein, J. (2021). The Augmented Synthetic Control Method. Journal of the American Statistical Association, 116(536), 1789–1803. https://doi.org/10.1080/01621459.2021.1929245

BibTeX

@misc{mendez2026raugsynth,
  author       = {Mendez, Carlos},
  title        = {The Augmented Synthetic Control Method: A Beginner's Tutorial with the Kansas Tax Cuts},
  year         = {2026},
  howpublished = {\url{https://carlos-mendez.org/post/r_augsynth/}},
  note         = {Data set}
}

@article{benmichael2021augmented,
  author  = {Ben-Michael, Eli and Feller, Avi and Rothstein, Jesse},
  title   = {The Augmented Synthetic Control Method},
  journal = {Journal of the American Statistical Association},
  volume  = {116}, number = {536}, pages = {1789--1803}, year = {2021},
  doi     = {10.1080/01621459.2021.1929245}
}

Variable explorer search & filter all 32 variables

Type to filter by name or label, or use the chips to filter by type. Each row shows a mini distribution. Click a header to sort.

VariableTypeDistributionLabelDefinitionUnitsIn filesSource
abb#identifierState abbreviationTwo-letter U.S. state postal abbreviation (e.g. KS for Kansas).stringkansasaugsynth kansas
avg_wkly_wage#continuousmin 301 | median 658 | max 1.79e+03Average weekly wageAverage weekly wage in the state-quarter (QCEW).US$ per weekkansasBLS QCEW (via augsynth)
avgwklywagecapita#continuousmin 301 | median 658 | max 1.79e+03Average weekly wage (per-capita covariate)Average weekly wage used as an ASCM covariate (log-transformed in the model).US$ per weekkansasDerived
emplvl1capita#continuousmin 0.325 | median 0.436 | max 1.05Month-1 employment per capitaFirst-month employment level as a share of population.ratiokansasDerived
emplvl2capita#continuousmin 0.325 | median 0.438 | max 1.05Month-2 employment per capitaSecond-month employment level as a share of population.ratiokansasDerived
emplvl3capita#continuousmin 0.329 | median 0.441 | max 1.05Month-3 employment per capitaThird-month employment level as a share of population.ratiokansasDerived
emplvlcapita#continuousmin 0.327 | median 0.438 | max 1.05Employment per capita (covariate)Quarterly employment level as a share of population; an ASCM covariate.ratiokansasDerived
estabscapita#continuousmin 0.0199 | median 0.0284 | max 0.0707Establishments per capita (covariate)Business establishments as a share of population; an ASCM covariate.ratiokansasDerived
fips#identifierState FIPS codeFederal Information Processing Standard numeric state identifier (Kansas = 20).codekansasaugsynth kansas
gdp#continuousmin 1.15e+04 | median 1.31e+05 | max 2.57e+06Gross state product (level)Quarterly gross state product (gross domestic product by state).US$ (millions)kansasBEA (via augsynth)
gdpcapita#continuousmin 1.5e+04 | median 3.64e+04 | max 8.44e+04GSP per capita (level)Gross state product per resident.US$ per capitakansasDerived
lngdp#continuousmin 9.35 | median 11.8 | max 14.8Log gross state productNatural log of quarterly gross state product.log US$kansasDerived
lngdpcapita#continuousmin 9.62 | median 10.5 | max 11.3Log GSP per capita (OUTCOME)Natural log of gross state product per capita — the study outcome.log US$ per capitakansasDerived
month1_emplvl#continuousmin 1.79e+05 | median 1.68e+06 | max 1.66e+07Employment level, month 1 of quarterEmployment count in the first month of the quarter (QCEW).personskansasBLS QCEW (via augsynth)
month2_emplvl#continuousmin 1.79e+05 | median 1.68e+06 | max 1.66e+07Employment level, month 2 of quarterEmployment count in the second month of the quarter (QCEW).personskansasBLS QCEW (via augsynth)
month3_emplvl#continuousmin 1.82e+05 | median 1.7e+06 | max 1.66e+07Employment level, month 3 of quarterEmployment count in the third month of the quarter (QCEW).personskansasBLS QCEW (via augsynth)
popestimate#continuousmin 4.54e+05 | median 4e+06 | max 3.93e+07Population estimateEstimated state resident population for the quarter.personskansasaugsynth kansas
qtr#identifierCalendar quarter (1-4)Quarter of the year (1 = Q1 ... 4 = Q4).1-4kansasaugsynth kansas
qtrly_estabs_count#continuousmin 1.51e+04 | median 1.09e+05 | max 1.45e+06Quarterly establishment countNumber of business establishments in the state-quarter (QCEW).establishmentskansasBLS QCEW (via augsynth)
rev_local_total#continuousmin 550 | median 1e+04 | max 1.43e+05Total local government revenue (annual)Total local-government revenue for the state-year; observed annually only.US$kansasaugsynth kansas
rev_state_total#continuousmin 1.67e+03 | median 1.39e+04 | max 1.83e+05Total state government revenue (annual)Total state-government revenue for the state-year; observed annually only.US$kansasaugsynth kansas
revenuepop#continuousmin 1.33e+03 | median 3.63e+03 | max 1.46e+04State revenue per capita (annual)Total state revenue per resident; observed annually only.US$ per capitakansasaugsynth kansas
revlocalcapita#continuousmin 884 | median 2.43e+03 | max 7.16e+03Local revenue per capita (annual)Total local revenue per resident; annual covariate (log-transformed in the model).US$ per capitakansasDerived
revstatecapita#continuousmin 2.02e+03 | median 3.38e+03 | max 2.04e+04State revenue per capita (annual)Total state revenue per resident; annual covariate (log-transformed in the model).US$ per capitakansasDerived
state#identifierState nameFull U.S. state name.stringkansasaugsynth kansas
taxable_qtrly_wages#continuousmin 0 | median 1.1e+09 | max 7.69e+10Taxable quarterly wagesPortion of quarterly wages subject to unemployment-insurance tax (QCEW).US$kansasBLS QCEW (via augsynth)
taxwagescapita#continuousmin 0 | median 356 | max 5.25e+03Taxable wages per capitaTaxable quarterly wages per resident.US$ per capitakansasDerived
total_qtrly_wages#continuousmin 8.81e+08 | median 1.36e+10 | max 2.75e+11Total quarterly wagesTotal wages paid in the state-quarter (QCEW).US$kansasBLS QCEW (via augsynth)
totalwagescapita#continuousmin 1.49e+03 | median 3.79e+03 | max 1.03e+04Total wages per capitaTotal quarterly wages per resident.US$ per capitakansasDerived
treated#dummyshare coded 1 = 0.003Treated indicator (1 = Kansas post-2012 Q2)1 for Kansas (FIPS 20) from 2012 Q2 onward, 0 for all other state-quarters.0/1kansasaugsynth kansas
year#yearCalendar yearYear of the observation (1990-2016).yearkansasaugsynth kansas
year_qtr#continuousmin 1.99e+03 | median 2e+03 | max 2.02e+03Decimal year-quarterTime index as year plus quarter fraction (e.g. 2012.25 = 2012 Q2).decimal yearkansasDerived

Cross-file variable index

Which file each variable appears in (● = present).

Construction & formulas

The estimand is the ATT — actual minus synthetic, for Kansas, after 2012 Q2 — on the outcome lngdpcapita. Write X1 for Kansas's pre-treatment outcome vector and X0 for the donors' matching matrix.

Per-capita series are constructed by dividing a state-quarter total by population (popestimate); lngdp/lngdpcapita are natural logs of gdp/gdpcapita. year_qtr encodes the quarter as year + (qtr−1)/4 (e.g. 2012 Q2 = 2012.25).

The datasets

Switch datasets with the tabs. Each shows the full variable dictionary plus a sortable statistics table with mini distributions and data coverage.

expand to search (Ctrl/⌘+F) or print across all datasets

state-quarter  5,250 × 32 · 1990 Q1 - 2016 Q1 · 50 U.S. states (balanced; 105 quarters each)

Panel key: fips x year_qtr · Estimate the ATT of the 2012 Kansas tax cut via classic SCM, Ridge ASCM and covariate ASCM.

Variable dictionary

VariableLabelDefinitionConstructionUnitsSourceCoverage
fips identifierState FIPS codeFederal Information Processing Standard numeric state identifier (Kansas = 20).From the augsynth kansas object; the panel unit id.codeaugsynth kansas50 states
year yearCalendar yearYear of the observation (1990-2016).From the kansas object.yearaugsynth kansas
qtr identifierCalendar quarter (1-4)Quarter of the year (1 = Q1 ... 4 = Q4).From the kansas object.1-4augsynth kansas
state identifierState nameFull U.S. state name.From the kansas object.stringaugsynth kansas
gdp continuousGross state product (level)Quarterly gross state product (gross domestic product by state).From the kansas object (BEA GSP).US$ (millions)BEA (via augsynth)
revenuepop continuousState revenue per capita (annual)Total state revenue per resident; observed annually only.From the kansas object; NA in non-reporting quarters.US$ per capitaaugsynth kansasannual (NA in 3 of 4 quarters)
rev_state_total continuousTotal state government revenue (annual)Total state-government revenue for the state-year; observed annually only.From the kansas object; NA in non-reporting quarters.US$augsynth kansasannual (NA in 3 of 4 quarters)
rev_local_total continuousTotal local government revenue (annual)Total local-government revenue for the state-year; observed annually only.From the kansas object; NA in non-reporting quarters.US$augsynth kansasannual (NA in 3 of 4 quarters)
popestimate continuousPopulation estimateEstimated state resident population for the quarter.From the kansas object; used as the per-capita denominator.personsaugsynth kansas
qtrly_estabs_count continuousQuarterly establishment countNumber of business establishments in the state-quarter (QCEW).From the kansas object.establishmentsBLS QCEW (via augsynth)
month1_emplvl continuousEmployment level, month 1 of quarterEmployment count in the first month of the quarter (QCEW).From the kansas object.personsBLS QCEW (via augsynth)
month2_emplvl continuousEmployment level, month 2 of quarterEmployment count in the second month of the quarter (QCEW).From the kansas object.personsBLS QCEW (via augsynth)
month3_emplvl continuousEmployment level, month 3 of quarterEmployment count in the third month of the quarter (QCEW).From the kansas object.personsBLS QCEW (via augsynth)
total_qtrly_wages continuousTotal quarterly wagesTotal wages paid in the state-quarter (QCEW).From the kansas object.US$BLS QCEW (via augsynth)
taxable_qtrly_wages continuousTaxable quarterly wagesPortion of quarterly wages subject to unemployment-insurance tax (QCEW).From the kansas object.US$BLS QCEW (via augsynth)
avg_wkly_wage continuousAverage weekly wageAverage weekly wage in the state-quarter (QCEW).From the kansas object.US$ per weekBLS QCEW (via augsynth)
year_qtr continuousDecimal year-quarterTime index as year plus quarter fraction (e.g. 2012.25 = 2012 Q2).year + (qtr-1)/4; the panel's time variable in augsynth().decimal yearDerived
treated dummyTreated indicator (1 = Kansas post-2012 Q2)1 for Kansas (FIPS 20) from 2012 Q2 onward, 0 for all other state-quarters.Indicator switched on at year_qtr >= 2012.25 for Kansas only.0/1augsynth kansas
gdpcapita continuousGSP per capita (level)Gross state product per resident.gdp / popestimate (scaled).US$ per capitaDerived
lngdp continuousLog gross state productNatural log of quarterly gross state product.log(gdp).log US$Derived
lngdpcapita continuousLog GSP per capita (OUTCOME)Natural log of gross state product per capita — the study outcome.log(gdpcapita).log US$ per capitaDerived
revstatecapita continuousState revenue per capita (annual)Total state revenue per resident; annual covariate (log-transformed in the model).rev_state_total / popestimate; NA in non-reporting quarters.US$ per capitaDerivedannual (NA in 3 of 4 quarters)
revlocalcapita continuousLocal revenue per capita (annual)Total local revenue per resident; annual covariate (log-transformed in the model).rev_local_total / popestimate; NA in non-reporting quarters.US$ per capitaDerivedannual (NA in 3 of 4 quarters)
emplvl1capita continuousMonth-1 employment per capitaFirst-month employment level as a share of population.month1_emplvl / popestimate.ratioDerived
emplvl2capita continuousMonth-2 employment per capitaSecond-month employment level as a share of population.month2_emplvl / popestimate.ratioDerived
emplvl3capita continuousMonth-3 employment per capitaThird-month employment level as a share of population.month3_emplvl / popestimate.ratioDerived
emplvlcapita continuousEmployment per capita (covariate)Quarterly employment level as a share of population; an ASCM covariate.Quarterly employment / popestimate.ratioDerived
totalwagescapita continuousTotal wages per capitaTotal quarterly wages per resident.total_qtrly_wages / popestimate.US$ per capitaDerived
taxwagescapita continuousTaxable wages per capitaTaxable quarterly wages per resident.taxable_qtrly_wages / popestimate.US$ per capitaDerived
avgwklywagecapita continuousAverage weekly wage (per-capita covariate)Average weekly wage used as an ASCM covariate (log-transformed in the model).From avg_wkly_wage; an auxiliary covariate.US$ per weekDerived
estabscapita continuousEstablishments per capita (covariate)Business establishments as a share of population; an ASCM covariate.qtrly_estabs_count / popestimate.ratioDerived
abb identifierState abbreviationTwo-letter U.S. state postal abbreviation (e.g. KS for Kansas).From the kansas object.stringaugsynth kansas

Distribution & statistics (click a header to sort)

VariableDistributionCoverageNDistinctMinMeanMedianMaxSD
fips100%5,25050
year100%5,2502719902002.6200320167.58
qtr100%5,2504
state100%5,25050
gdpmin 1.15e+04 | median 1.31e+05 | max 2.57e+06100%5,2505,22711,509228,237130,6502,568,986298,949
revenuepopmin 1.33e+03 | median 3.63e+03 | max 1.46e+0457%3,0007161,334.63,851.13,628.514,6091,352.8
rev_state_totalmin 1.67e+03 | median 1.39e+04 | max 1.83e+0546%2,4006001,667.620,81313,868182,53024,051
rev_local_totalmin 550 | median 1e+04 | max 1.43e+0546%2,400600550.017,19710,041143,13723,640
popestimatemin 4.54e+05 | median 4e+06 | max 3.93e+07100%5,2505,249453,6905,767,1073,997,97839,250,0176,352,795
qtrly_estabs_countmin 1.51e+04 | median 1.09e+05 | max 1.45e+06100%5,2505,17715,133161,021108,8221,448,488189,559
month1_emplvlmin 1.79e+05 | median 1.68e+06 | max 1.66e+07100%5,2505,240178,7372,482,3311,675,98816,600,8512,656,261
month2_emplvlmin 1.79e+05 | median 1.68e+06 | max 1.66e+07100%5,2505,244178,5872,494,9331,684,34116,633,8342,669,643
month3_emplvlmin 1.82e+05 | median 1.7e+06 | max 1.66e+07100%5,2505,240181,5212,510,2041,699,04416,606,0382,684,404
total_qtrly_wagesmin 8.81e+08 | median 1.36e+10 | max 2.75e+11100%5,2505,246881,111,96924,019,317,10013,622,726,754275,326,853,35031,004,422,823
taxable_qtrly_wagesmin 0 | median 1.1e+09 | max 7.69e+10100%5,2503,05103,775,737,4201,095,917,89876,893,472,1737,327,919,613
avg_wkly_wagemin 301 | median 658 | max 1.79e+03100%5,250854301.0674.8658.01,792.0196.2
year_qtrmin 1.99e+03 | median 2e+03 | max 2.02e+03100%5,2501051,990.02,003.02,003.02,016.07.58
treatedshare coded 1 = 0.003100%5,250200.00301.000.055
gdpcapitamin 1.5e+04 | median 3.64e+04 | max 8.44e+04100%5,2505,25015,02937,80836,44984,38212,552
lngdpmin 9.35 | median 11.8 | max 14.8100%5,2505,2279.3511.7511.7814.761.09
lngdpcapitamin 9.62 | median 10.5 | max 11.3100%5,2505,2509.6210.4910.5011.340.331
revstatecapitamin 2.02e+03 | median 3.38e+03 | max 2.04e+0446%2,4002,4002,021.33,741.93,380.120,3531,608.9
revlocalcapitamin 884 | median 2.43e+03 | max 7.16e+0346%2,4002,400883.62,480.22,428.37,160.9784.0
emplvl1capitamin 0.325 | median 0.436 | max 1.05100%5,2505,2500.3250.4370.4361.050.041
emplvl2capitamin 0.325 | median 0.438 | max 1.05100%5,2505,2500.3250.4390.4381.050.040
emplvl3capitamin 0.329 | median 0.441 | max 1.05100%5,2505,2500.3290.4420.4411.050.041
emplvlcapitamin 0.327 | median 0.438 | max 1.05100%5,2505,2500.3270.4390.4381.050.041
totalwagescapitamin 1.49e+03 | median 3.79e+03 | max 1.03e+04100%5,2505,2501,492.93,869.43,787.310,2751,216.3
taxwagescapitamin 0 | median 356 | max 5.25e+03100%5,2503,0510728.8355.75,254.4924.7
avgwklywagecapitamin 301 | median 658 | max 1.79e+03100%5,250854301.0674.8658.01,792.0196.2
estabscapitamin 0.0199 | median 0.0284 | max 0.0707100%5,2505,2500.0200.0290.0280.0710.005
abb100%5,25050

Known limitations & caveats