# Median household incomes are way off expected values

**URL:** <https://forum.ipums.org/t/median-household-incomes-are-way-off-expected-values/6341>\
**Category:** USA\
**Created:** [February 7, 2025, 7:12pm UTC](https://forum.ipums.org/t/median-household-incomes-are-way-off-expected-values/6341 "2025-02-07T19:12:55Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Brandon\_Istenes](https://avatars.discourse-cdn.com/v4/letter/b/ad7895/32.png) [@Brandon\_Istenes](https://forum.ipums.org/u/Brandon_Istenes)\
**Post date:** [February 7, 2025, 7:12pm UTC](https://forum.ipums.org/t/median-household-incomes-are-way-off-expected-values/6341/1 "2025-02-07T19:12:55Z")

</div>

I’m trying to calculate some basic income-related statistics to sanity-check my ACS data use. However, the estimates I’m getting for household median incomes are quite far from those reported by the Census Bureau, specifically [here in Figure 1](https://www2.census.gov/library/publications/2024/demo/p60-282.pdf).

Here is my code:

```stata
use "C:\Users\bistenes\Downloads\usa_00017.dta" if year == 2023, clear

* Cleaning
replace incwage = . if incwage == 9999999 | incwage == 9999998
replace inctot = . if inctot == 9999999 | inctot == 9999998
bysort sample serial: egen hhincome = total(inctot)

* ALL HOUSEHOLDS
tabstat hhincome [aw=hhwt] if pernum == 1 & gq < 3, stat(p50)
* Under 65
tabstat hhincome [aw=hhwt] if pernum == 1 & gq < 3 & age < 65, stat(p50)
* 65 years and older
tabstat hhincome [aw=hhwt] if pernum == 1 & gq < 3 & age >= 65, stat(p50)
* Inside MSA
tabstat hhincome [aw=hhwt] if pernum == 1 & gq < 3 & inlist(metro, 2, 3, 4), stat(p50)
* Outside MSA
tabstat hhincome [aw=hhwt] if pernum == 1 & gq < 3 & metro == 1, stat(p50)

```

And here are my results:

| Population | Calculated | Expected |
| --- | --- | --- |
| ALL HOUSEHOLDS | $76,170 | $80,610 |
| Under 65 years | $85,600 | $92,470 |
| 65 years and older | $55,000 | $54,710 |
| Inside MSA | $80,200 | $83,590 |
| Outside MSA | $60,000 | $62,520 |

While some of these are reasonably close, some are off by 5-8%. I haven’t figured out how to get Stata to give me CIs for medians but that seems quite bad. Any advice would be appreciated.

---

<div class="post-metadata">

**Author:** ![Ivan\_Strahof](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.ipums.org/ivan_strahof/32/626_2.png) [@Ivan\_Strahof](https://forum.ipums.org/u/Ivan_Strahof)\
**Post date:** [February 11, 2025, 2:50am UTC](https://forum.ipums.org/t/median-household-incomes-are-way-off-expected-values/6341/2 "2025-02-11T02:50:09Z")

</div>

Your estimates are from ACS data, but the statistics in the table you link to are sourced from the Current Population Survey’s March Annual Social and Economic Supplement (CPS ASEC). [This Census Bureau fact sheet](https://www.census.gov/topics/income-poverty/poverty/guidance/data-sources/acs-vs-cps.html) highlights some of the differences between these surveys and why we would not expect their estimates to line up exactly. Significantly, these differences include:

- ACS participants are surveyed throughout the year and report income earned over the previous 12 months. This means that income earned in 2022 is included in the 2023 ACS. In contrast, CPS ASEC respondents are asked to report income earned in the previous calendar year.
- The ACS is a self-administered survey that is mailed to respondents, while the CPS sends trained enumerators to regularly survey households in-person. These enumerators ask more detailed questions about different income sources that ACS respondents might overlook, which may result in CPS estimates being greater than those in the ACS.

When I estimate 2023 median household income in the 2024 CPS ACS using [the IPUMS CPS online analysis tool](https://cps.ipums.org/cps/sda.shtml), I obtain a value of $80,066. This is off by less than 1% from the published value and is within the 90% confidence interval provided in table A-1 in the report you link to.

The remaining difference is likely due to income being [rounded to two significant digits](https://cps.ipums.org/cps/topcodes_tables.shtml#swapping) in the Public Use Microdata Sample (PUMS) released by the Census Bureau, while the internal file for the table uses the unrounded values.

---

<div class="post-metadata">

**Author:** ![Brandon\_Istenes](https://avatars.discourse-cdn.com/v4/letter/b/ad7895/32.png) [@Brandon\_Istenes](https://forum.ipums.org/u/Brandon_Istenes)\
**Post date:** [February 11, 2025, 3:01am UTC](https://forum.ipums.org/t/median-household-incomes-are-way-off-expected-values/6341/3 "2025-02-11T03:01:14Z")

</div>

Thanks for the detailed response Ivan, that all makes sense.
