Simulating 233066 households for Bucks County
100%|█████████████████████████████████████████████████████████████| 233066/233066 [00:39<00:00, 11925.22it/s]
Simulated 233066 households, found 47650 of 349618 individuals eligible in Bucks
Estimate the eligible but not enrolled population by zipcode, county, and congressional district using publicly available data.
There are three questions that dictate whether you might be eligible for SNAP in PA:
- How many people live in your household?
- What is your gross monthly income?
- Is anyone elderly or disabled in your household?
The information is gathered by the US Census Bureau down to the zipcode level in the American Community Survey. This project uses data in the ACS to simulate the three dimensions above. By simulating these dimensions, rough estimation for eligibility can be computed.
Using Monte-Carlo methods using randomness derived from US Census data, SNAP eligibility estimates are generated based on local household size, income, and households with elderly or disabled individuals.
A series of PDFs are used to randomly generate a sample of households. Each simulated household is assigned a size (1-7 person households), an income (< $10k - $200k+), and either has or does not have an elderly or disabled household member. Using the US Census data, we created three PDFs, one for each of the three questions that influence SNAP eligibility.
In each locality, we can get the number of total number of households by number of household members. From these numbers, we can compute a PDF (sample shown below in Dist plot).
Philadelphia Household Size PDF | Bucks Household Size PDF |
---|---|
{:height="250px" width="250px"} | {:height="250px" width="250px"} |
In each locality, we can get the number of total number of households by income (in 16 buckets < $10k to > $200k). From these numbers, we can compute a PDF (sample shown below in Dist plot).
Philadelphia Income PDF | Bucks Income PDF |
---|---|
{:height="200px" width="200px"} | {:height="200px" width="200px"} |
This presents a challenge because we only have certain data for income by household size. Without factoring in the impact of household size on income in the simulation, the final estimates of SNAP eligibility seem reasonably when compare to previous SNAP participation rates (Cunnyngham, K et al, 2009) and data available from PA Department of Human Services
(Mathews). This simulation is in simulation_1.py
.
🚧 Work in progress.
US Census data provides median household income by household size (B19019). Using methods for estimating standard deviation, this simulation seeks to more accurately simulate SNAP eligibility. US Census data also provides total households by income buckets (B19101) using 16 income buckets (see simulator.INCOMES
in simulator.py
).
This method will use the median income by household size as a seed to adjust the probability distribution function derived from US Census data (example below). These PDFs vary by county, zipcode, and congressional district.
Income PDFs are adjusted by summing them with a normally distributed probability density function derived for each household size (see household_size_pdfs.py
). Using the median from US Census data and an assumed standard deviation (sigma = median / 4), this method sums the two PDFs together and normalizes them into a household size adjusted income probability distribution function.
Figures below should this household size income adjustment in Philadelphia county. This effectively lowers the number of larger (2+ person) households eligible for SNAP since larger households tend to make more income as demonstrated by a larger median income.
1-person Household Income Adjusted PDF | 4-person Household Income Adjusted PDF |
---|---|
{:height="200px" width="200px"} | {:height="200px" width="200px"} |
After running the simulation using various methods for calculating sigma, it seems that this simulation produces unreasonably low estimates for SNAP eligibility. The code for this simulation can be found in simulation_2.py