01Work and movement2/3 sceptics could not refuteState median wage points in opposite directions for the two migration channels: Spearman −0.500 against domestic net migration per 1,000 but +0.548 against international, across the same 51 jurisdictions.
Ranking all 51 jurisdictions by migration.per1k.domestic and correlating with workforce.medianWage (BLS OEWS 2025) gives Spearman rho = −0.5004 (Pearson −0.4471, permutation p = 0.00019). The identical wage vector against migration.per1k.international gives rho = +0.5479 (Pearson +0.6473, permutation p = 0.00001). The split is not an artefact of one outlier: dropping DC leaves −0.479/+0.520, and dropping DC, NY and CA leaves −0.429/+0.482. Every one of the ten states with the highest domestic per-1k has a median wage of $52,190 or less (seven of the ten sit below the national mid-point of $49,690, Pennsylvania's value); nine of the ten lowest have $51,960 or more, Louisiana at $45,520 being the sole exception. A second, independently constructed wage measure agrees — rebuilding an employment-weighted average wage from each state's 22 SOC major groups (all 1,122 rows have a published wage; none are at the $239,200 cap) gives rho = −0.468, a top-10 median of $54,969 versus a bottom-10 median of $69,632. This is co-movement over n=51, not causation, and OEWS medians are not adjusted for cost of living, so nothing here separates a wage effect from a price-of-living effect.
- medianWage vs domestic per-1k, Spearman (n=51)
- −0.5004 (Pearson −0.4471, perm p=0.00019)
- medianWage vs international per-1k, Spearman (n=51)
- +0.5479 (Pearson +0.6473, perm p=0.00001)
- Highest median wage among the 10 top domestic gainersDE
- $52,190
- Lowest median wage among the 10 top domestic gainersSC
- $46,490
- Median wage of the 10 biggest domestic losers, median of group
- $59,040
- Only bottom-10 state below $51,960LA
- $45,520
How to reproduce this
Load states.json. x = workforce.medianWage for all 51 codes; y = migration.per1k.domestic; z = migration.per1k.international. Spearman = Pearson on average ranks. Permutation p = 20,000–100,000 shuffles of y (or z) recomputing rho, seed 3. Employment-weighted wage per state = sum(major[i].employment * major[i].medianWage) / sum(major[i].employment) over the 22 workforce.major rows (no nulls, no wageAtCap). Sort the 51 median wages ascending; the 26th value is $49,690 (PA). Top/bottom 10 defined by sorting on migration.per1k.domestic descending.
Why it is not obvious: A single wage variable would be expected to have one sign against "migration". It has two. High-wage states are not simply losing people — four of the ten worst domestic performers (MD, MA, NJ, DC) still post positive net migration and carry the sustainedByInternational flag, while the ten domestic winners include none. The wage gradient sorts movers by channel, not by volume.
02Wages and speciality2/3 sceptics could not refuteCooks, Fast Food is one of the 12 most-concentrated occupations in four states, paying $23,120 to $29,890 - 0.50x to 0.63x the local median - and in North Carolina it is 81,980 of the 117,180 jobs (70.0%) in that state's entire top-12 set.
West Virginia (lq 5.70, $23,120, 0.51x), Kentucky (lq 2.64, $23,500, 0.50x), North Carolina (lq 4.02, $27,190, 0.57x) and Missouri (lq 4.61, $29,890, 0.63x) are all distinctively concentrated in fast-food cooking relative to the nation, and in every case it pays about half the state's own median wage. Because the specialities list is ranked by lq, not by size, the headline 'premium' figure treats a 1,060-job occupation the same as an 81,980-job one. Weighting each state's top-12 by employment moves North Carolina from 0.83x to 0.68x. Across all 51 jurisdictions, the single largest-employment occupation inside the top-12 pays below the state's own median in 32 of 51 cases. Note this says nothing about whether these are good or bad jobs, only where their published median sits relative to the local median; and lq measures concentration only.
- Cooks, Fast Food median wage vs state median $45,300WV
- $23,120 (0.51x), lq 5.70, 16,490 jobs
- Cooks, Fast Food median wage vs state median $46,920KY
- $23,500 (0.50x), lq 2.64, 21,750 jobs
- Cooks, Fast Food median wage vs state median $47,970NC
- $27,190 (0.57x), lq 4.02, 81,980 jobs
- Cooks, Fast Food median wage vs state median $47,800MO
- $29,890 (0.63x), lq 4.61, 55,780 jobs
- Share of NC's whole top-12 employment in that one occupationNC
- 81,980 of 117,180 = 70.0%
- NC premium, unweighted median vs employment-weightedNC
- 0.83x vs 0.68x
How to reproduce this
Group all 612 speciality rows by occupation code across the 51 states. Code 352011 (Cooks, Fast Food) appears in the top-12 lists of exactly 4 states: WV, KY, NC, MO. For each, ratio = speciality medianWage / that state's workforce.medianWage. For North Carolina: sum employment over the 12 speciality rows with a non-null wage = 117,180; the Cooks, Fast Food row is 81,980, giving 81,980/117,180 = 70.0%. Employment-weighted ratio for NC = sum(employment * medianWage) / (sum(employment) * 47,970) = 0.678. Separately, for each of the 51 states take the top-12 row with maximum employment and test whether its medianWage is below workforce.medianWage: true in 32 states.
Why it is not obvious: Fast-food cooking is normally treated as ubiquitous background employment, not as something a state can be distinctively concentrated in - yet it clears the top-12 lq bar in four states, and in North Carolina it alone outweighs the other eleven distinctive occupations combined by employment. It also shows that a state's headline specialisation premium can be dominated by occupations too small to matter.
03Wages and speciality2/3 sceptics could not refuteWhether a distinctive occupation pays above or below the local median is a property of the occupation, not the state: 50 of the 66 occupations appearing in three or more states' top-12 lists fall on the same side in every state, against 13.05 expected if the direction were independent.
Pooling all 605 speciality rows with a published wage, 43.31% pay below their own state's median. Under an independence benchmark using the same group sizes, only about 13 of the 66 multi-state occupations should be unanimous; 50 are. Unanimously below in every state where they are distinctive: Textile Winding, Twisting and Drawing Out Machine Setters (5 states, 0.76x-0.91x), New Accounts Clerks (5, 0.84x-0.96x), Cooks Fast Food (4), Childcare Workers (4, 0.58x-0.71x), Crossing Guards and Flaggers (4, 0.71x-0.78x), Tour and Travel Guides (4, 0.72x-0.82x). Unanimously above: Service Unit Operators Oil and Gas (6, 1.01x-1.75x), Mobile Heavy Equipment Mechanics (6, 1.19x-1.49x), Tool and Die Makers (5, 1.18x-1.42x), Aerospace Engineers (4, 2.46x-2.79x). The 16 that do flip sides are not exceptions so much as near-ties: their mean ratio sits a median of 0.044 away from parity and never more than 0.162, versus 0.272 for the unanimous ones. This is an association across a small, non-random sample of occupation-state pairs (only each state's top 12 by lq are in the file), not a law.
- Occupations in >=3 states' top-12 lists
- 66 (of 349 distinct codes, 605 wage-bearing rows)
- Unanimous in direction vs own-state median
- 50 observed / 13.05 expected
- Pooled share of speciality rows below own state median
- 43.31%
- Textile Winding machine setters, 5 states (NC VA SC GA AL)
- 0.76x, 0.91x, 0.82x, 0.81x, 0.88x - below in all
- Aerospace Engineers, 4 states (WA AZ KS AL)
- 2.51x, 2.46x, 2.71x, 2.79x - above in all
- Median distance from parity: mixed vs unanimous occupations
- 0.044 vs 0.272
How to reproduce this
Build a dictionary keyed by speciality code over all 51 states, storing r = medianWage / that state's workforce.medianWage for each non-null row. 605 rows survive; 349 distinct codes; 66 codes appear in >=3 states. Count codes where all r < 1 (23) or all r >= 1 (27) = 50 unanimous, 16 mixed. Benchmark: p = 605 rows with r<1 / 605 = 0.4331; expected unanimous = sum over the 66 groups of p^n + (1-p)^n = 13.05. Near-parity test: for each group take mean(r), then median of |mean(r) - 1| = 0.044 for the 16 mixed groups and 0.272 for the 50 unanimous ones; max over the mixed groups is 0.162.
Why it is not obvious: One might expect the same occupation to sit above the median in a low-wage state and below it in a high-wage state, since the yardstick moves. It almost never does. Aerospace Engineers pay 2.46x-2.79x the local median in states whose medians span $45,670 to $62,990; textile winding pays below in Virginia ($50,770 against a $55,690 median) exactly as it does in Georgia ($38,930 against $48,170). The occupations that do cross the line are the ones sitting within a few percent of it.
04Ageing2/3 sceptics could not refuteAcross all 22 SOC major groups, the concentration of Healthcare Practitioners and Technical Occupations is the single strongest occupational correlate of natural population change — and it runs negative (Pearson r = -0.5691, Spearman rho = -0.4822, n = 51).
Correlating each state's migration.per1k.natural against its location quotient for every one of the 22 major[] groups, group 29-0000 has the largest absolute correlation of any group in either direction (next largest by |rho| is Life, Physical and Social Science at +0.387). The sign means the jurisdictions where deaths outrun births are the ones with disproportionately many clinicians per job, not fewer. Mean lq is 1.0895 across the 22 naturalDecline states versus 0.9783 across the other 29; 19 of the 22 sit at or above national concentration (lq >= 1.00) against 14 of 29 (Fisher exact two-sided p = 0.0073). This is a cross-sectional association only: with n = 51 and no time dimension in the join, it cannot say whether clinical concentration and natural decline are separate consequences of an older age structure, and it says nothing about causation in either direction. It also says nothing about care quality or access — lq measures distinctiveness of the occupational mix, not adequacy.
- Pearson r, natural change per 1k vs Healthcare Practitioners lq (n=51)
- -0.5691
- Spearman rho, same pair
- -0.4822
- Mean Healthcare Practitioners lq, 22 naturalDecline states
- 1.0895
- Mean Healthcare Practitioners lq, 29 other states
- 0.9783
- naturalDecline states with Healthcare Practitioners lq >= 1.00
- 19 of 22 (Fisher two-sided p = 0.0073)
- Other states with Healthcare Practitioners lq >= 1.00
- 14 of 29
How to reproduce this
Load states.json. dec = [c for c,v in states.items() if v['migration']['naturalDecline']] (22 codes: AL AR DE FL KY ME MI MO MS MT NH NM OH OK OR PA RI SC TN VT WI WV); inc = the other 29. For each of the 22 codes in workforce.major[], Pearson and Spearman (average ranks) of migration.per1k.natural against that group's lq over all 51 states. Code 290000 gives r = -0.5691, rho = -0.4822; no other group exceeds |r| 0.361 or |rho| 0.387. Group means of lq: mean(dec)=1.0895, mean(inc)=0.9783. Count lq>=1.0: 19/22 and 14/29; Fisher exact two-sided on [[19,3],[14,15]] = 0.0073. Robustness: leave-one-state-out Pearson stays within [-0.614 (drop SD), -0.468 (drop WV)]; dropping the 5 states with the largest |per1k.natural| (UT, WV, AK, TX, DC) still leaves r = -0.322, rho = -0.369.
Why it is not obvious: The intuitive strongest occupational correlate of births-minus-deaths would be something demographically upstream — education, childcare, or the low-wage service groups. Instead it is the licensed clinical group, and the direction is the counterintuitive one: the states losing population to deaths are the states most, not least, concentrated in healthcare practitioners. The ranking of all 22 groups is what establishes it as the strongest, and that ranking cannot be guessed.
05Governance2/3 sceptics could not refuteMoody's tier does not order the economic pillars monotonically: the ten Aa2-rated states average 42.20 on the six-pillar economic composite, 6.47 points BELOW the six states rated Aa3 or worse (48.67) - a reversal that a permutation test cannot distinguish from noise (p = 0.117).
The overall Spearman between the credit pillar and the economic composite is +0.411 (p = 0.0029), which reads as a real ladder until it is broken out by rating tier. Tier means run Aaa 53.94 (n=17), Aa1 50.53 (n=18), Aa2 42.20 (n=10), Aa3 47.46 (n=4), A1 51.00 (New Jersey alone), A3 51.17 (Illinois alone). The rank correlation is carried entirely by the gap between the 35 Aaa/Aa1 states (mean 52.18) and everyone below; within the bottom 16 the ordering inverts. Illinois, the single lowest-rated jurisdiction in the file, ranks 19th of 51 on the six economic pillars. The bottom tiers are thin (Aa3 n=4, A1 n=1, A3 n=1) and the reversal is not statistically separable from chance - which is the finding: the rating tier below Aa1 carries no usable information about the economic pillars either way.
- Mean economic composite, Aa2 states (n=10)
- 42.20
- Mean economic composite, Aa3-or-lower states (n=6)
- 48.67
- Reversal size, two-sided permutation p
- +6.47 points (p = 0.117)
- Mean economic composite, Aaa (n=17) and Aa1 (n=18) combined
- 52.18
- Rank on the six economic pillars despite the file's lowest rating (A3)Illinois
- 19th of 51
- Rank on the six economic pillars despite an A1 ratingNew Jersey
- 21st of 51
How to reproduce this
Group the 51 by the grade prefix of pillars.credit.indicators.moody.display (text before the ' - ' separator). Economic composite as in the previous finding (mean of the six non-governance pillar scores, nulls dropped). Tier means: Aaa 53.94/17, Aa1 50.53/18, Aa2 42.20/10, Aa3 47.46/4, A1 51.00/1, A3 51.17/1. Pool Aa3+A1+A3 into one group of 6 (AK, CT, IL, KY, NJ, PA), mean 48.667; compare to the Aa2 group of 10 (CA, HI, KS, LA, ME, MS, NM, OK, RI, WV), mean 42.200; difference +6.467, two-sided permutation p = 0.1166 (200,000 shuffles). Full-sample Spearman(credit.score, composite) = +0.4110, p = 0.0029. Competition-ranked economic composite puts Illinois 19th and New Jersey 21st of 51.
Why it is not obvious: A statistically significant +0.411 rank correlation invites the conclusion that better-rated states have stronger economies, and stopping there would be the natural move. Decomposing it shows the relationship is a single step between the top two tiers and nothing below - the two worst-rated jurisdictions in the country both sit in the upper half of the economic ranking, above every Aa2 state's average.
06International migration2/3 sceptics could not refuteIn six states holding 42,617,449 residents — Michigan, Ohio, Pennsylvania, Oregon, New Mexico and Rhode Island — international migration was the only positive component of 2021-2024 population change; strip it out and the six lose 343,553 people instead of gaining 292,200.
All three components are published for every state, and in these six both of the others are negative: combined net domestic migration -168,354 and natural change -175,199 against international +635,753, which sums to exactly the reported combined change of +292,200. Mississippi has the same sign pattern (international 19,910, domestic -20,099, natural -15,029) but its international inflow did not cover the other two, so it lost 15,218 people. What this does not show: nothing about who these migrants are, what work they do, or whether the pattern holds past 2024 — the file carries no occupational or demographic breakdown of migrants, only state totals. Note also that none of the six ranks better than 29th of 51 on the composite index (ranks 29, 34, 37, 39, 47, 50), but the index does not contain any migration input, so this is a coincidence of the two rankings, not a relationship.
- International migration, the six states, 2021-2024 cumulative
- +635,753
- Net domestic migration, same six
- -168,354
- Natural change, same six
- -175,199
- Reported combined population change
- +292,200
- Domestic + natural alone (i.e. without international)
- -343,553
- 2024 population of the six
- 42,617,449
How to reproduce this
For each of the 51 entries in states.<CODE>.migration.totals, select those with domestic<0 AND naturalChange<0 AND international>0 AND net>0. That returns exactly MI, NM, OH, OR, PA, RI. Sum international (635,753), domestic (-168,354), naturalChange (-175,199) and change (+292,200) across the six; verify international+domestic+naturalChange == change (it does, to the unit). 'Without international' = domestic+naturalChange = -343,553. Population = sum of states.<CODE>.population = 42,617,449. Mississippi read directly from states.MS.migration.totals. Index ranks from states.<CODE>.index.rank.
Why it is not obvious: These are not the jurisdictions named in immigration discussion — the six are Rust Belt, Pacific Northwest, Mountain West and New England, and the flag sustainedByInternational alone (18 states) does not identify them. The stricter condition, that domestic AND natural change are both negative so international is the sole positive channel, narrows 51 jurisdictions to six and puts Pennsylvania and Ohio at the top of the list rather than New York or California (both of which are excluded because their net migration is negative overall).
07Outliers2/3 sceptics could not refuteMontana is the only one of the 51 jurisdictions whose annual net international migration was lower in 2024 (506 people) than in 2021 (713) — while the 51-jurisdiction total rose 7.41x over the same four years, from 376,004 to 2,786,119.
The obvious national pattern for 2021-2024 is an international-migration surge: the combined annual net international inflow across all 51 jurisdictions multiplied by 7.41. Montana ran the other way, and it is alone in doing so — its annual figures are 713, 989, 371, 506. Over the same period Montana's cumulative net domestic migration was +50,720, which is larger than its entire population increase of +49,939 (101.56%), because natural change was -3,360 and international added only +2,579. Montana ranks 3rd of 51 on domestic migration per 1,000 residents (44.60) and dead last, 51st, on international per 1,000 (2.27) — a domestic-to-international ratio of 19.67 against 5.07 for Idaho, the next most domestically-driven state. What this does NOT show is why: the file carries no data on visa flows, employer sponsorship, refugee placement or Montana's border/airport geography, so the cause of the decline cannot be established here.
- Net international migration, 2021MT
- 713
- Net international migration, 2024MT
- 506
- All-51 net international migration, 2021 -> 2024
- 376,004 -> 2,786,119 (7.41x)
- Cumulative net domestic migration 2021-2024MT
- +50,720
- Total population change 2021-2024MT
- +49,939 (domestic alone = 101.56% of it)
- Cumulative net international migration 2021-2024MT
- +2,579
How to reproduce this
json.load states.json. (1) For every state, migration.years is exactly [2021,2022,2023,2024] (verified for all 51). Sum years[0].international across all 51 = 376,004; sum years[3].international = 2,786,119; ratio 2786119/376004 = 7.410. (2) Filter states where years[3].international < years[0].international: the result is the single-element list ['MT'] (713 -> 506, ratio 0.71; next lowest ratio is SD at 1101 -> 1616 = 1.47). (3) MT migration.totals = {domestic: 50720, international: 2579, naturalChange: -3360, net: 53299, change: 49939}; 50720/49939 = 1.0156. (4) MT migration.per1k = {domestic: 44.599, international: 2.268, natural: -2.955}; 44.599/2.268 = 19.67. (5) Rank all 51 by migration.per1k.domestic descending: MT is 3rd (ID 55.684, SC 54.749, MT 44.599). Rank by per1k.international descending: MT is 51st. (6) Among states with both channels positive, dom/intl ratio: MT 19.67, ID 5.07, SC 4.97.
Why it is not obvious: Every headline about 2021-2024 state population says international migration did the heavy lifting, and 18 of the 51 jurisdictions carry the sustainedByInternational flag. Nobody would predict that exactly one state — and a fast-growing one, 3rd in the country for domestic inflow — bucked the surge outright, or that its domestic inflow alone exceeded 100% of its total population gain.
08Concentration2/3 sceptics could not refuteA state's signature occupation tells you almost nothing about how distinctive its workforce is: across the 50 states excluding DC, signature location quotient correlates with overall occupational distinctiveness at only Pearson +0.180 (Spearman +0.287), and Kansas — whose signature occupation runs 30.86x the national concentration — ranks 45th of 51 on the whole-mix measure.
I built a whole-workforce distinctiveness measure (index of dissimilarity, KSI) over the 22 SOC major groups and compared it with workforce.signature.lq, the single detail occupation each state is most concentrated in. They barely move together once DC is removed: Pearson +0.180, Spearman +0.287 (n=50). Across all 51 the Pearson looks impressive at +0.789, but that is one point — DC — doing the work. The reason is arithmetic: lq is unweighted by size. Kansas's signature occupation (Aircraft Structure, Surfaces, Rigging, and Systems Assemblers, lq 30.86) is 9,710 jobs, 0.675% of the state's 1,437,520; Oregon's (Personal Care and Service Workers, All Other, lq 29.99) is 22,930 jobs, 1.166% of employment. The median state's entire list of 12 specialities accounts for 2.52% of its employment (Illinois 0.66%, DC 13.12%). This says nothing about whether those occupations are good, well-paid or growing — lq measures distinctiveness only — just that they are too small to shift the state's occupational mix.
- Signature lq vs KSI, Pearson (n=50, ex-DC)
- +0.180
- Signature lq vs KSI, Spearman (n=50, ex-DC)
- +0.287
- Same Pearson including DC (n=51)
- +0.789
- Signature lq (Aircraft Structure, Surfaces, Rigging, and Systems Assemblers)KS
- 30.86
- Signature occupation as share of state jobs (9,710 of 1,437,520)KS
- 0.675%
- Whole-mix distinctiveness rank (KSI 0.0481)KS
- 45th of 51
How to reproduce this
For each of the 51 states: from workforce.major (22 groups, complete, no nulls) take s_i = employment_i / sum(employment). Sum employment_i across all 51 states to get national group totals G_i and national total E = 155,495,600; national share n_i = G_i / E. KSI = 0.5 * sum_i |s_i - n_i|. Then take workforce.signature.lq for each state and correlate with KSI: Pearson +0.1798 / Spearman +0.2870 over the 50 states excluding DC; Pearson +0.7886 over all 51. Signature share of jobs = workforce.signature.employment / sum(workforce.major[].employment). Top-12 share = sum(workforce.specialities[].employment) / same denominator; median across 51 = 2.52%.
Why it is not obvious: The signature lq is the statistic states and press releases quote as proof of a distinctive economy, and its headline magnitudes (30x, 46x) invite the inference that the state's labour market is unusual. The correlation with actual whole-workforce distinctiveness is +0.18, and the apparently strong all-states correlation of +0.79 is a single-outlier artifact that disappears when DC is dropped.
What none of this is
None of these findings is causal. Each is a single cross-section of fifty-one jurisdictions that are not independent of one another, and every correlation is unweighted — Wyoming counts as much as California. Two things moving together across fifty-one states is a fact about the data, not an explanation of it, and nothing here identifies why any person moved, took a job, or stayed put.
One finding was computed and deliberately not published as a finding. The strongest correlation anywhere in this dataset is between a state’s median wage and its adult obesity rate: r = −0.716, Spearman −0.753 across the fifty jurisdictions carrying both (Tennessee’s CDC figure is not published). It is real and it reproduces. It is not here as a numbered finding for three reasons. It never went through the adversarial pass every finding above survived, and publishing it beside them would borrow a standard it was not held to. It is not new — the association between income and obesity is long established in public health, so this adds nothing beyond confirming it in one more dataset. And it is an ecological correlation: it describes fifty state averages, and says nothing whatever about any individual person, which is exactly how a figure like this gets misread. It is recorded here so that the decision not to lead with it is visible, rather than the finding simply going missing.
The most consequential result of the exercise is not on this page. It is the finding that this site’s own composite index does not predict domestic migration, which is published on the index itself where a reader will meet it in context. See also the rankings, each of which states what it does not measure.