-
Notifications
You must be signed in to change notification settings - Fork 10
75-year Projections based on calibration to SSA Trustees data #443
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The script depends on social_security_aux.csv for benefit projections and SSPopJul_TR2024.csv for population demographics. Without these files, the script cannot run from a fresh clone of the repository. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Move SSA data files to centralized storage directory - Add comprehensive Jupyter notebook with methodology and analysis - Update README to reference notebook for detailed documentation - Add notebook to MyST documentation structure - Ignore Jupyter checkpoint files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The myst build command creates output in docs/_build/site, but the deployment was looking for docs/_build/html. This fixes the path in both the workflow and Makefile targets. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This allows manually deploying documentation and running the full test suite without waiting for a version update push to main. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Corrected imputed variable count from 72 to 67 - Corrected calibration target count from 7,000+ to 2,813 - Removed inaccurate "two-stage" terminology - Added SSA data source documentation in storage README - Renamed notebook to clarify PWBM comparison scope (2025-2100) - Added taxable payroll calibration target 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
MaxGhenis
requested changes
Nov 19, 2025
…projections - Add start_year parameter with default 2025 for flexible projection windows - Replace hardcoded 85 with MAX_SINGLE_AGE constant for clarity - Remove csv_path parameter to match codebase conventions (hardcoded instead) Addresses PR #443 review comments 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
MaxGhenis
approved these changes
Nov 20, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR implements a 75-year projection capability for federal income tax revenue (2025-2100) by integrating PolicyEngine's economic microsimulation with Social Security Administration demographic forecasts. This enables quantifying the fiscal impact of population aging while preserving the full complexity of the tax code.
Key Features
Two-Stage Projection Methodology
Stage 1: Economic Uprating
Stage 2: Demographic Reweighting
What's Included
New Scripts
run_household_projection.py: Main projection engine with IPF/GREG supportcreate_reweighting_matrix.py: Builds demographic transition matricesage_projection.py: Processes SSA age-specific population forecastsextract_ssa_costs.py: Extracts Social Security benefit targetstransition_matrix_demo.py: Validation and methodology demonstrationData Files
SSPopJul_TR2024.csv: SSA Trustees Report demographic projections (2025-2100)social_security_aux.csv: OASDI cost projections from SSA Table VI.G9Documentation
Impact
This enables unprecedented analysis of:
Usage
Validation
Future Extensions Needed
This provides a comprehensive foundation for evidence-based fiscal policy analysis in an era of demographic transformation.