A reproducible method for estimating unemployment and labor underutilization that captures the people the headline U-3 rate misses — discouraged and marginally attached workers, involuntary part-timers, and informal or undocumented labor — while counting people, not paychecks, and reporting ranges, not false precision.
The foundational rule is one row per person per reference week, keyed by a stable pseudonymous identifier.
employed = 1, not 2. Extra jobs are kept only as an attribute for the underemployment module — never for the employment count.This rule is what prevents the classic error of inflating employment by counting paychecks.
Every working-age resident (16+) is assigned to exactly one mutually exclusive status in the reference week:
| Status | Code | Definition |
|---|---|---|
| Employed — full-time | E_FT | Worked ≥1 hour for pay; usually ≥35 hrs/wk |
| Employed — part-time, voluntary | E_PTV | <35 hrs, does not want full-time |
| Employed — part-time, involuntary | E_PTI | <35 hrs, wants and available for full-time |
| Employed — informal only | E_INF | Worked for pay, no administrative footprint |
| Unemployed | U | No job, available, actively searched in prior 4 weeks |
| Marginally attached | MA | Wants work, searched in prior 12 mo but not last 4 wks |
| — of which discouraged | MA_D | Subset of MA not searching for job-market reasons |
| Not in labor force | NILF | Wants no job / unavailable |
The identities below must hold exactly — enforced as automated tests:
Population_16+ = Employed + Unemployed + NotInLaborForce Employed = E_FT + E_PTV + E_PTI + E_INF Employed_formal = E_FT + E_PTV + E_PTI # excludes informal-only LF_formal = Employed_formal + Unemployed # official basis (U1-U6) LF_complete = LF_formal + E_INF # reveals hidden employment (U7-U8)
Formal vs. complete labor force. U-1…U-6 mirror official BLS definitions and use LF_formal, which excludes informal-only workers — the informal estimate never touches the official series. U-7/U-8 expand the denominator to LF_complete. Keeping these separate is what makes U-7 a genuine "reveal hidden employment" adjustment rather than a double count.
AURmetric reports the full BLS-style ladder plus two informal-adjusted measures, keeping the method comparable to official statistics while isolating the novel part.
# LF = LF_formal for U1-U6: U1 = (unemployed >=15 weeks) / LF_formal U2 = (job losers + completed temp jobs) / LF_formal U3 = U / LF_formal # headline U4 = (U + discouraged) / (LF_formal + discouraged) U5 = (U + all marginally attached) / (LF_formal + MA) U6 = (U + MA + E_PTI) / (LF_formal + MA) # broadest official # Informal-adjusted (complete labor force): U7 = (U + MA + E_PTI) / (LF_complete + MA) U8 = (U + MA + E_PTI + informal_underemployed) / (LF_complete + MA)
Each measure is emitted as a point estimate plus a 90% interval. U-3…U-6 have narrow intervals (survey sampling error only); U-7/U-8 carry the wide informal-economy error and should never be quoted without the band.
| Source | Captures | Blind spots |
|---|---|---|
| Payroll / UI wage records | Formal employees, earnings, hours | Misses informal, self-employed, undocumented |
| Tax filings | Formal + some self-reported income | Misses fully unreported cash work |
| UI claims | Recent job losers certifying | Misses ineligible / exhausted claimants |
| Household survey (CPS-style) | Self-reported status, search, availability | Sampling error; misreport of informal work |
| Anonymous supplemental survey | Informal & undocumented work | No individual linkage; estimate-only |
| National-accounts data | Macro size of informal economy | Indirect; model-dependent |
Linkage vs. estimation. Administrative sources are record-linked on the person ID to build an exact formal-employment spine. Survey sources feed population-level estimates added on top — precision where records exist, estimation where they cannot. The live public series on this site is the U-6 basis from the BLS Public Data API; see the Sources page for exact datasets and vintages.
This is the only modeled block and the sole source of the wide error band. It is estimated three independent ways and reconciled.
A large survey asking whether the respondent did paid work not reported to tax authorities. Anonymity and a no-linkage design raise truthful response, especially among undocumented residents. Yields an informal rate with a sampling interval, adjusted for nonresponse and social desirability.
Compare reported earnings against observed consumption, currency demand, or output proxies at the aggregate level. The gap that formal income cannot explain implies informal activity.
Estimate total resident working-age population (census + demographic balancing, which counts residents regardless of status) and subtract those in administrative records. The unexplained residual, cross-checked against migration estimates, bounds the undocumented-worker pool.
The three are treated as noisy estimates of one latent quantity. Fixed-effect inverse-variance weighting is the starting point; a between-method heterogeneity term τ² (from Cochran's Q) is added to every method's variance before reweighting. When the methods agree, τ² → 0 and it reduces to plain inverse-variance weighting; when they diverge, τ² grows and the 90% band widens — divergence becomes information, not noise to be averaged away. Implemented in accurate_unemployment/reconcile.py.
E_INF. Informal-only status is reserved for people with no formal footprint.estimate [low, high] (90%) — never a bare number for U-7/U-8.This is U-6 plus an informal-economy extension, not a replacement for the BLS ladder. Reporting U-1…U-6 unchanged preserves comparability and lets users see exactly what the informal adjustment (U-7, U-8) adds. Any deviation from official definitions (age cutoff, reference week, search window) is documented so the numbers stay interpretable against published series. AURmetric is independent and is not affiliated with or endorsed by the U.S. Bureau of Labor Statistics.