Methodology
Data
Our analysis uses de-identified data covering income dynamics of more than 8 million individuals. The main sample spans December 2019−July 2024. The multi-year panel perspective centers the analysis on typical dynamics experienced by workers in their take-home pay. We adjust for changes in consumer prices using the Consumer Price Index, All Items (CPI). A comparable longer-running sample provides the basis for monthly seasonal adjustment, which we compute for each group using data 2012−2019. We also adjust for months with five Fridays, which tend to lead to higher bank-account-based income for a significant share of people receiving pay on Fridays. For each individual in each month, we divide checking account inflows less account transfers by the person’s 2019 average and by the seasonal adjustment factor for that person’s income quartile and month. The income indicator used in this report’s figures is the median of this metric, scaled to the value for December 2019, smoothed with a three-month trailing average.
Locale-based income grouping
We use individual-level panel data to compute income growth. However, for this analysis (as in prior Institute reports on income growth), we do not group individuals by their observed income. Instead, when grouping by income, we use the national rank of each individual’s Census tract in terms of median per-person income. In addition to reducing sample composition bias related to Chase’s customer base, this method reduces the potential for (non-economic) volatility in our data to bias growth rates by income tier. For example, if a typically high-income household experiences a temporary interruption in observed inflows—which could occur if an individual operates multiple checking accounts—we could erroneously categorize them as low-income and later over-estimate income growth.
In general, such distortions would tend to bias upward measured growth for those categorized as low-income and bias downward measured growth for high-income categories. Additionally, since younger individuals tend to have both lower incomes and higher income growth rates—a focus of the companion report—sorting on observed income would capture a large, unwanted, age effect. Using tract-level income effectively neutralizes age differences by income group in our sample and targets differences aligned with individuals’ total lifetime income or socio-economic strata.
While our methodology reduces the above sources of bias, grouping by average incomes in an individual’s tract may understate true differences across the population. That is, an individual’s tract of residence provides an indication of their income (and likely other socio-economic factors), but any geographic aggregate may smooth over potentially notable, within-locale heterogeneity, muting measured differences.