Civic Forecast

How A Civic Forecast Finding Is Calculated.

A Finding is a figure we compute from two or more datasets: a number neither publisher reports on its own. Four are worked here in full, and every one we publish is listed.

Every Finding holds to six rules

Four Findings, worked in full

Worked at the date shown. The number moves as its inputs are revised; the method does not. These four are shown end to end because the arithmetic is where the judgement lives. The complete list follows.

Rent as a share of a paycheck

≈28% (of a full-time month's gross pay · 2026-08-26)

Computed from HUD Fair Market Rents · BLS average hourly earnings

monthly rent ÷ (hourly wage × 2,080 ⁄ 12) × 100

A $37.62 hourly wage makes a $6,520.80 gross month, putting the national median two-bedroom just under HUD's own 30% affordability line.

Why gross pay, not take-home Payroll and income tax vary by household in ways this cannot know, and every published housing-wage figure uses gross for the same reason. The card says so rather than leaving a reader to assume.

Real wages after inflation

−0.2% (pay up 3.15%, prices up 3.36% · 2026-07)

Computed from BLS average hourly earnings · BLS Consumer Price Index

((1 + pay growth) ÷ (1 + price growth) − 1) × 100

Nominal pay rose and still bought slightly less.

Why a ratio, not a subtraction Growth compounds, so real pay is the ratio of the two growth factors. Subtracting the percentages is the common shortcut and it is wrong: it gives −0.21 here rather than −0.20. The gap is small at these rates and grows as they rise, reaching a full percentage point at 1970s inflation.

Job seekers per opening

104 (openings per 100 job seekers · 2026-06)

Computed from BLS Job Openings and Labor Turnover Survey · BLS unemployment (Current Population Survey)

round(openings ÷ people looking for work × 100)

7,359,000 openings against 7,094,000 people looking. Both series are published in thousands, so the units cancel.

Why per hundred, not a bare ratio Rounding a ratio to one decimal rounds away the entire signal: 1.04 and 0.96 are opposite labor markets and both render as “1.0”. Openings and unemployment also release on different schedules, so the figure uses the newest month both share.

Facilities in violation

Per state (a share, not a count)

Computed from EPA ECHO violations by state · EPA ECHO regulated facilities by state

facilities in significant violation ÷ regulated facilities

Vermont's 93 violations against California's ~1,200 reads as damning until you account for California having about twenty times as many regulated facilities.

Why a missing state is omitted A state appears only when both halves are present and the denominator is above zero. Filling a gap with the national rate would color that state with a statement about the country, and a rendered map cannot show the difference.

Every Finding we publish

The four above are worked end to end; these are all of them. The list is generated from the platform itself, so it cannot fall behind what the app is showing. Falling behind is exactly what happened when it was maintained by hand.

47 Findings publish today: 33 measures, 14 of which are also mapped state by state.

Housing and rent (13 Findings)

Prices, rates and debt (8 Findings)

Democracy and influence (13 Findings)

Conflict and demonstrations (2 Findings)

Work and pay (5 Findings)

Health and poverty (4 Findings)

Environment (2 Findings)