Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions slideshows/appam-2026/EVIDENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ The script keeps input variables and IDs. It renames the stored Social Security
- The file's 36,491 Massachusetts household records come from 36,197 source households. They hold an effective sample of about 301 households, or 132 among those with children.
- We estimate a Massachusetts child poverty rate of 21.4% for 2025 and 23.1% for 2026. Census reports 12.8%, with a margin of error of 2.0 points, for the 2023 to 2025 average (P60-290 Table 18, as used in `slideshows/cpid-webinar-2026`). That difference ranks third in size among the 51 jurisdictions, after Delaware and Louisiana.
- On the national file, we estimate that Massachusetts would forgo $555 million and 29.8% of households would gain. The poverty gap would shrink by $167 million (`data/massachusetts_reform_default.json`).
- On the same records at policyengine-us 2.2.1, the version `policyengine.py` 6.12.0 pins, we estimate that Massachusetts would forgo $657 million and 34.1% of households would gain. The child poverty rate would fall 0.5 points, from 22.2% to 21.7% (`data/massachusetts_reform_221.json`). We changed how the model computes the credit between those versions. On a joint return, 2.2.1 counts a filer with a disability as a qualifying individual, and 2.90.2 counts a filer incapable of self-care. 2.90.2 also counts a dependent incapable of self-care at any age. We did not separate how much of the difference those changes explain.
- On the local-area file at policyengine-us 2.2.1, the version `policyengine.py` 6.12.0 pins, we estimate that Massachusetts would forgo $657 million and 34.1% of households would gain. The child poverty rate would fall 0.5 points, from 22.2% to 21.7% (`data/massachusetts_reform_221.json`). We changed how the model computes the credit between those versions. On a joint return, 2.2.1 counts a filer with a disability as a qualifying individual, and 2.90.2 counts a filer incapable of self-care. 2.90.2 also counts a dependent incapable of self-care at any age. We did not separate how much of the difference those changes explain.
- On policyengine-us 2.2.1 and the Microcosm 2024 population, we estimate that 16.6% of children nationally lived below the threshold in 2025, and Census reports 13.4% (`BaselineVsCensusSlide` in `slideshows/cpid-webinar-2026`).

## State baselines
Expand All @@ -115,7 +115,7 @@ The script keeps input variables and IDs. It renames the stored Social Security
- Our rates differ from Census's 2023 to 2025 averages by 3.2 points on average and exceed Census's by 0.9 points on net. They exceed Census's in 30 of 51 jurisdictions. In 29 of 51 jurisdictions the difference exceeds Census's margin of error.
- Effective samples of households with children run from 53 in Maine to 407 in California, with a median of 108. Across all households they run from 157 in Kentucky to 905 in California, with a median of 237 (`data/effective_samples.json`).
- `policyengine.py` leaves ACS group quarters out of SPM measures, and we keep them. Leaving them out moves no state's rate by more than 0.023 points (Connecticut) and moves Massachusetts's by 0.01 (`child_spm_percent_without_group_quarters` in `data/state_baseline.json`).
- On the same file and model version, our rates match `acs_local` in PolicyEngine/microcosm#1445 at 247f1a88 (`docs/evidence/us-state-child-spm-2026-11/outputs/acs_eval.csv`) to within 0.000001 points in 48 of 51 jurisdictions (`data/microcosm_1445_rates.csv`). That run gives blank parent links the id −1, and ours gives them 0, the model's value for an unknown parent. California moves by 0.56 points, Delaware by 0.006 and Missouri by 0.00001.
- On the same file and model version, our rates match `acs_local` in PolicyEngine/microcosm#1445 at 247f1a88 (`docs/evidence/us-state-child-spm-2026-11/outputs/acs_eval.csv`) to within 0.000001 points in 48 of 51 jurisdictions (`data/microcosm_1445_rates.csv`). That run gives blank parent links the id −1, and ours gives them 0, the model's value for an unknown parent. California moves by 0.56 points, Delaware by 0.006 and Missouri by 0.00001. We plan a 51-state rerun of `acs_local` in #1445 that sets blank links to 0 (https://github.com/PolicyEngine/microcosm/pull/1445#issuecomment-6591562570), and this match covers 247f1a88 alone.
- On the national file, our rates differ from Census's by 4.8 points on average. They exceed Census's in 40 of 51 jurisdictions and fall outside its margin in 38 (`data/state_baseline_default.json`). The median effective sample includes 63 households with children (`data/effective_samples.json`).

## Effective samples
Expand Down Expand Up @@ -202,11 +202,12 @@ We captured slide 11's CliffWatch screenshot on November 4, 2026, and Build's re
- CliffWatch (policyengine.org/us/cliffwatch) ran PolicyEngine US 1.755.5, as its `/api/metadata` reports. We entered a single parent, 33, with children aged 6 and 10 in ZIP code 02139, and left rent and child care at zero. We kept its default programs, which include Medicaid, CHIP and premium tax credits. CliffWatch passes PolicyEngine US the state and no county, so the model computes those credits from Barnstable County's benchmark plan. The notes' TAFDC example rests on the deck's pin: on PolicyEngine US 2.90.2, this family draws $7,912 of TAFDC at $18,000 of earnings and none at $18,100.
- In Build (app.policyengine.org/us/build), we set the Massachusetts child and family tax credit amount, `gov.states.ma.tax.income.credits.child_and_family.amount`, from $440 to $880 from 2026, and picked Massachusetts as the population. For Build, we set the browser's time zone to UTC.
- That click at 15:32:41Z on November 5 ran report 4940 (app.policyengine.org/us/report/8adb8bf2-355f-4f00-b7b9-1ef56a1deb77), which finished at 15:35:22Z. The recording cuts from the click to the finished report. The report shows a $657.4m annual state revenue loss, 45.7% of people gaining income and a 2.3% relative decrease in child poverty, on PolicyEngine US 2.2.1 and `policyengine` 6.12.0.
- The report's record names the national file, `populace_us_2024.h5@populace-us-2024-spm-20260915`. Its $657.4m matches our 2.2.1 run on the local-area file (`data/massachusetts_reform_221.json`, $657,356,800), and `policyengine.py` 6.12.0 selects that file for state regions. We haven't resolved which file the run read, so the notes compare releases and name no file for Build.
- Report 4940's record (`data/build_report_4940.json`, which api.policyengine.org/us/report/4940 returned on November 6, 2026) names the national file, `populace_us_2024.h5@populace-us-2024-spm-20260915`, with a SHA-256 that matches `populace_us_2024` in `policyengine.py` 6.12.0's manifest. Its report spec reads `"dataset": "default"` and `"region": "state/ma"`, with the status `backfilled_assumed`. The record holds a $657,359,316 state revenue loss and child poverty falling from 22.23% to 21.72%. On the local-area file at 2.2.1, which `policyengine.py` 6.12.0 selects for state regions, we estimate a $657.36 million loss and a fall from 22.25% to 21.73% (`data/massachusetts_reform_221.json`). We sum that run in float32, which steps by $64 at that size, and its household gain, $657,359,360, lands within one step of the record's $657,359,306 budgetary impact. On the national file at 2.2.1, we estimate a $628.7 million loss and a fall of 0.0000011 points in the child poverty rate, from 21.4% (`analysis/massachusetts_reform_national.py` → `data/massachusetts_reform_221_national.json`). We haven't resolved which file the run read, and we haven't reproduced the report's 45.7% of people gaining. The record's 45.69% equals the simple mean of its ten decile shares. On the national file, we estimate that 46.7% of all people gain more than $1 and 44.5% gain more than 0.1% of household income, and on the local-area file we counted households only.

## Axiom

- Axiom publishes `us-ga/policies/dfcs/snap/3612.yaml` in `TheAxiomFoundation/rulespec-us` under CC BY 4.0.
- Axiom publishes `axiom-rules-engine` under an MIT license.
- We captured slide 15's graph from axiom.org/app?compose=us-ga:policies/dfcs/snap/3612 on November 5, 2026, and read the rule behind its caption in `3612.yaml`: `earned_income_deduction_allowed` tests `total_countable_gross_earned_income > 0` and not `assistance_unit_failed_to_report_earned_income_timely`, and `earned_income_deduction` multiplies the rate by that income.
- We captured slide 15's graph from axiom.org/app?compose=us-ga:policies/dfcs/snap/3612 on November 5, 2026, and read the rule behind the graph in `3612.yaml`: `earned_income_deduction_allowed` tests `total_countable_gross_earned_income > 0` and not `assistance_unit_failed_to_report_earned_income_timely`, and `earned_income_deduction` multiplies the rate by that income.
- Georgia's Division of Family and Children Services publishes the rule text and December 2019 effective date in its public SNAP manual (pamms.dhs.ga.gov/dfcs/snap/3612).
- In section 3612, Georgia says a household loses the deduction if it fails to report earned income on time, and Axiom encodes that sentence in `3612.yaml` as losing all of it. In section 3650, Georgia denies the deduction only for the income the household didn't report on time, when it computes an overpayment. Congress limits the denial to determining an overissuance in 7 U.S.C. 2014(e)(2)(C). USDA limits the denial to the income the household didn't report on time in 7 CFR 273.18(c)(1)(ii)(B), and keeps the deduction in an agency-error claim. Axiom hasn't encoded section 3650, so on slide 15 we state the rate and its base in the caption. In the notes' Questions, we answer what happens when a household doesn't report earned income on time.
Loading
Loading