diff --git a/changelog.d/940-state-agi-band-targets.added.md b/changelog.d/940-state-agi-band-targets.added.md new file mode 100644 index 000000000..513fb90e2 --- /dev/null +++ b/changelog.d/940-state-agi-band-targets.added.md @@ -0,0 +1 @@ +State x AGI-band calibration targets from IRS SOI Historic Table 2 (#940): return counts and AGI for each state's bands from $100k up, with $500k-$1M and $1M+ split, bound as shares of the state's published partition rebased onto the state total that binds. The US Chronicle feed is re-pinned to add the TY2023 state AGI-band facts (40,178 rows), and two release coverage requirements demand the $1M+ AGI and return-count row in every state. diff --git a/docs/us-acs-local-soi-target-surface.md b/docs/us-acs-local-soi-target-surface.md index dbca25b16..e07236256 100644 --- a/docs/us-acs-local-soi-target-surface.md +++ b/docs/us-acs-local-soi-target-surface.md @@ -66,6 +66,21 @@ Chronicle `b571381` consumer artifact gives the same counts. | `irs_soi` | 3,819 | 607 | 30,913 | | **Admin specs** | **3,972** | **760** | **31,066** | +**Re-measured 2026-10-04 on `consumer_facts_us_51aa40f.jsonl`** (sha256 +`965a29ac…`, the #940 re-pin: the c5e5bf8 feed plus the TY2023 Historic +Table 2 state AGI-band facts). The 408 state AGI-band rows (51 states x the +four bands from $100k up x returns and AGI; `docs/us-fact-to-target.md`, +"State AGI bands bind as shares of the state total") join `state` and `full`; +their role is `soi_fiscal_distribution`, so `totals` is unchanged: + +| Family | `state` | `totals` | `full` | +|---|---:|---:|---:| +| `irs_soi` | 4,227 | 607 | 31,321 | +| **Admin specs** | **4,380** | **760** | **31,474** | + +With the 487 population marginals `state` now calibrates to 4,867 targets. +The rest of this section describes the 2026-09-22 measurement. + The 487 population marginals (51 states and 436 congressional districts) are added on top in every mode, so `state` calibrates to 4,459 targets: Build P's set, and Build O's 4,461 minus the Vermont under-$1 taxable-interest pair the @@ -80,7 +95,7 @@ Historic Table 2 state tables: | Record set spec | Specs | Content | |---|---:|---| | `irs_soi.historic_table_2.state_broad_totals.v1` | 2,397 | 47 all-income-range measures x 51 states, including AGI, income tax, and ACA premium tax credit returns and amounts | -| `irs_soi.historic_table_2.state_agi_counts_and_amounts.v1` | 912 | taxable interest by AGI band | +| `irs_soi.historic_table_2.state_agi_counts_and_amounts.v1` | 912 | taxable interest by AGI band (1,320 on the #940 feed: plus 408 TY2023 return-count and AGI bands) | | `irs_soi.historic_table_2.state_eitc.v1` | 510 | EITC returns and amounts by number of qualifying children | It holds no congressional-district SOI row and no row from the TY2023 @@ -307,15 +322,17 @@ change forces the same review. |---|---:| | `usda_snap` | 102 | | `cms_medicaid` (enrollment) | 51 | -| `irs_soi` state, Historic Table 2 | 3,819 | +| `irs_soi` state, Historic Table 2 | 4,227 | | `irs_soi` state, district file (district-file-only measures) | 302 | | `irs_soi` district (427 districts x 51 measures, less 34 banded) | 21,743 | -| **Admin specs** | **26,017** | +| **Admin specs** | **26,425** | Of the 21,743 district rows, 19,181 are rebased to a Historic Table 2 parent and 2,562 keep a district-file parent. The 2,189 (state, concept) district blocks each sum to their parent within 1e-9. Adding the 487 population -marginals gives 26,504 targets, before the holdout. The feed-gated test +marginals gives 26,912 targets, before the holdout. The Historic Table 2 +state count includes the 408 state AGI-band rows of #940 (3,819 and 26,017 +admin specs before the 2026-10-04 re-pin). The feed-gated test `test_pinned_feed_state_cd_surface_matches_its_contract` pins these counts and the reconciliation. diff --git a/docs/us-chronicle-feed-repin.md b/docs/us-chronicle-feed-repin.md index 2c68ed03e..26702e36c 100644 --- a/docs/us-chronicle-feed-repin.md +++ b/docs/us-chronicle-feed-repin.md @@ -13,7 +13,33 @@ any other feed, and `test_us_chronicle_feed.py` fails if the parity resources, the generator and the pin disagree, or if the scope file changes without a new pin. -## Why the feed moved +## The 2026-10-04 re-pin: TY2023 state AGI bands (microcosm#940) + +The state x AGI-band targets of #940 need the TY2023 Historic Table 2 state +file, whose $500k-$1M and $1M+ classes are separate facts +(PolicyEngine/chronicle#291). The pin moved from `c5e5bf8` to `51aa40f`, a +commit that is `c5e5bf8` plus only that package (Chronicle branch +`feed/us-c5e5bf8-state-agi-2023`, tag `microcosm-us-feed-940-v1`), not to +Chronicle main: + +- At Chronicle main the artifact-year restamp guard (chronicle#292) stops + building the TY2022 and TY2020 files at `--year 2023`, so ten scoped pairs + (the congressional-district file, the W-2 tips and 401(k) items, the IRA + tables, the `state_2022` US rows) produce no row, and chronicle#304 renames + the Historic Table 2 and district-file capital-gains concepts. Adopting + those is microcosm#1030's re-pin and needs its own decisions. +- Built at `51aa40f`, the feed keeps all 39,158 `c5e5bf8` cells with equal + values and no changed field, and adds exactly the 1,020 TY2023 state AGI + cells (`irs_soi.ty2023.historic_table_2.state_agi.`, 51 new scope + pairs). Compiled at 2024 with the packaged CD crosswalk, aging and the + Medicaid substitutions, every target other than the state AGI bands is + identical on both feeds, name, value and metadata; the bands go from 306 + TY2022 rows to 408 TY2023 rows. The comparison script and its report are in + `experiments/940-state-agi-bands/feed-repin/`. +- A later re-pin to Chronicle main carries the 51 pairs over: chronicle#291 + adds the same package to main. + +## Why the feed moved (2026-09-18) `_validate_chronicle_hierarchy_labels` (`packages/microcosm-build/src/microcosm/build/ledger_targets.py`) requires @@ -28,15 +54,20 @@ the first labelled US export. | Field | Value | |---|---| -| Chronicle commit | `c5e5bf8aa84960c1a200ee47303b19c953092d0f` | -| Feed file | `consumer_facts_us_c5e5bf8.jsonl`, 39,158 rows, 164,603,204 bytes | -| `facts_sha256` | `b85437390021777e746f507c5890305496baf5fc7f2c78ba08ddb090f4839801` | +| Chronicle commit | `51aa40fd28e2ca81937752515e773d123fecfb71` (`c5e5bf8` plus the TY2023 state AGI package; tag `microcosm-us-feed-940-v1`) | +| Feed file | `consumer_facts_us_51aa40f.jsonl`, 40,178 rows, 169,038,757 bytes | +| `facts_sha256` | `965a29ac9458edb58a05184917ee4a19772fd3dc7b4588db6eb6da5803641aac` | | Consumer fact schema | `chronicle.consumer_fact.v3`, schema file sha256 `bdb51e2a…` (unchanged from the UK pin) | -| Scope | 586 (record set, period) pairs; 62 package runs over build years 2020 to 2029 | +| Scope | 637 (record set, period) pairs; 63 package runs over build years 2020 to 2029 | | Consumer artifact | none: refused at this commit, see below | +The previous pin was `c5e5bf8aa84960c1a200ee47303b19c953092d0f` +(`consumer_facts_us_c5e5bf8.jsonl`, 39,158 rows, `facts_sha256` +`b8543739…`, 586 pairs, 62 runs); the rest of this document describes its +2026-09-18 rebuild unless it says otherwise. + The feed is too large for the repository. Its home on the build machine is -`~/PolicyEngine/_buildh-runtime/inputs/consumer_facts_us_c5e5bf8.jsonl`, +`~/PolicyEngine/_buildh-runtime/inputs/consumer_facts_us_51aa40f.jsonl`, beside the previous pins; `tools/build_us_target_parity_manifest.py` reads it there by default. A holder of the Chronicle commit regenerates it byte for byte with the commands below. diff --git a/docs/us-fact-to-target.md b/docs/us-fact-to-target.md index 5a4f56a55..6cb6b486d 100644 --- a/docs/us-fact-to-target.md +++ b/docs/us-fact-to-target.md @@ -111,6 +111,67 @@ exclusion register instead. wiring is safe and normal (the keogh ALD facts rode the feed unmapped for weeks). +### State AGI bands bind as shares of the state total (microcosm#940) + +A state's total return count and AGI leave its top tail free, and the top +tail is what progressive state rate schedules tax: #940 measured Build P's +ACS-local release within 0.12% of Colorado's SOI returns and AGI while +holding 24% of Colorado's SOI AGI above $1M. IRS SOI Historic Table 2 +publishes each state's returns and AGI in ten AGI classes, including +$500k–$1M and $1M+ separately. `_soi_reference_from_fact` rescues those +bands from the cross-period refusal and `_rebase_soi_state_agi_bands` +binds them: + +- **Which rows.** `return_count` and `adjusted_gross_income` from the + per-state HT2 AGI record sets (`irs_soi..historic_table_2.state_agi.`), + all filing statuses, bands from + `US_SOI_STATE_AGI_BAND_MINIMUM_LOWER_BOUND` ($100,000) up. The floor is the + national size-of-AGI floor for the same reason: the SOI slice materializer + counts every tax unit in a band, filer or not. The HT2 `us` rows never + qualify; the national AGI shape belongs to Table 1.1. +- **The value.** `control x band / partition`. The partition is the sum of + the state's published bands of the same vintage, measure and record set + over the whole AGI line, negative AGI under $1 included; HT2 publishes + amounts that add exactly and counts rounded to tens. The control is the + state's latest HT2 all-returns total not after the build period + (`irs_soi..historic_table_2.state_broad..all.`), the row + that already binds the state's total. Congressional-district `_total` + rows never anchor a state. +- **Periods.** The value lands at the control's period and ages with the + state total: AGI on the CBO AGI series, counts never. The bands therefore + stay the same share of the state total they bind beside, at every stage. + The control may be older than the bands (TY2023 bands on the TY2022 state + total): the newest published shares scale onto the level the state total + binds at, rather than binding a second, differently aged level. +- **One vintage.** Every vintage of a state band reaches the pass; per state + and measure the pass binds the newest vintage whose published partition is + complete and drops the rest, so the TY2022 package's summed `500k_plus` row + never binds beside TY2023's split rows, and a gapped newest vintage falls + back to the last complete one. Overlapping bands, or one source record id + re-emitted with different values, raise. +- **The floor holds at every period.** A state band below $100k, or for a + single filing status, is refused even in its own tax year, so a same-year + vintage can never bind raw sub-floor levels. +- **Receipts.** Every rebased row carries `state_agi_band_share`, + `uprating_factor` and the control's record id. +- **Release gate.** `irs_state_agi_top_tail` and + `irs_state_agi_top_tail_returns` in `US_FISCAL_TARGET_COVERAGE_REQUIREMENTS` + require a $1M+ AGI row and a $1M+ return-count row for all 51 states, so a + feed without the split bands, or a state whose partition or total is + missing for either measure, fails the release rather than shipping without + the constraint. Together the two rows pin each state's AGI above $1M. +- **Period contract.** Without aging, a band rebased onto an older state + total holds that total's period's dollars; `find_period_contract_violations` + reads `uprating_to_period` for rebased rows, the same period target aging + ages them from. +- **Agreement with Table 1.1.** On the pinned feed the states' $500k–$1M and + $1M+ rows sum to 98–99% of Table 1.1's TY2023 classes aged the same way; + Table 1.1 also counts returns filed from other areas and Puerto Rico + (`test_pinned_feed_state_top_tail_agrees_with_table_1_1`). +- **Support.** The rows can bind only where the pool has records in the + band. `experiments/940-state-agi-bands/` measures pre-calibration support + per state and band on the #982 fix's offline outputs. + ## 4. Keep the exclusion register honest `US_FISCAL_TARGET_SUPPORT_EXCLUSIONS` is keyed by `source_record_id` and its diff --git a/experiments/940-state-agi-bands/README.md b/experiments/940-state-agi-bands/README.md new file mode 100644 index 000000000..862ab20e9 --- /dev/null +++ b/experiments/940-state-agi-bands/README.md @@ -0,0 +1,313 @@ +# Support oracle for microcosm#940 (state x AGI-band SOI targets) + +Analysis only, 2026-09-26. Every number here is **pre-calibration** and uses +**proxy AGI** (defined below), computed from the offline #982 predictions and +SOI Historic Table 2. Nothing was calibrated, aged at the record level, or run +through the PolicyEngine engine. + +Files: + +- `support_oracle.py` — the deterministic script (two runs produce + byte-identical outputs). +- `support_by_state_band.csv` — 408 rows = 2 variants x 51 states x 4 bands, + every metric below plus the raw SOI values. +- `support_summary.json` — per-band counts, worst-10 lists, Colorado rows, + sensitivity, national sums, the Colorado reproduction check. + +## What was computed + +**Inputs.** `imputed_current.parquet` (old design: the QRF copied each unit's +own survey income) and `imputed_demographic_midrank6_earn.parquet` (the chosen +#1033 design), 231,007 PUF-clone recipient tax units each, 8-tree fits, from +the tail lane's archive +`/Users/maxghenis/PolicyEngine/_recovered/lane958-958-964-982-archive-20260926/982/` +(`MICROCOSM_940_PREDICTIONS_DIR`; the lane's `.lane958/982/` copy, which the +first run read, moved there on 2026-09-26). The SOI files are read from +Chronicle's `db/data/irs_soi/historic_table_2/` (`MICROCOSM_940_SOI_DIR`); +`23in55cmcsv.csv` sha256 `d1f7c890...668f` is the file the Chronicle +TY2023 state AGI package registers. Rerunning from this directory reproduces +both output files byte for byte. +SOI Historic Table 2 TY2023 (`23in55cmcsv.csv`) and TY2022 (`22in55cmcsv.csv`), +50 states + DC (US, OA, PR excluded), `N1` = returns, `A00100` = AGI in $ +thousands. State postal codes mapped to FIPS with the standard table (CO=08, +CA=06, DC=11, WY=56 asserted; the five largest states by PUF-half weight come +out as CA, TX, FL, NY, PA). + +**Proxy AGI** on the PUF half = the sum of the 15 imputed income items +(wages, self-employment, taxable interest, qualified and non-qualified +dividends, short- and long-term gains, pensions, IRA distributions, rental, +estate, farm, miscellaneous, partnership, S-corp). No adjustments, no Social +Security, no capital-gains distributions. + +**Survey half** = the same units at the same weight `w` with income = +the parquet's `survey_total`. Note: `survey_total` is **not** the six-item +predictor sum. `compare_predictors.py` builds it from its `SURVEY` list (up to +14 survey items: the six predictor items plus pensions, IRA distributions, +rental, farm operations, unemployment compensation, alimony, miscellaneous); +43,343 of 231,007 rows differ from the six-item sum. I used `survey_total` +because it is closer in scope to the 15-item PUF proxy; the six-item version is +carried alongside as `svy6_*` / `ratio6_*` columns and moves the ratios by a +few percent (Colorado $1M+: ratio_A 1.62 vs 1.61). The survey half's maximum +income is $3.16M, so the survey channel has almost no support above that. + +**Frame view** = PUF half at weight `w` + survey half at weight `w`; each +channel carries half the population (PUF-half weights sum to 91.66M; x2 = +183.3M). The **x2 view** (PUF half doubled, "as if this half were the whole +population") is the #982 README convention and is reported for comparison. + +**Targets at 2024** (the rule the compiler will use), per state `s`, measure +`m` in {returns, AGI}, band `b` in {100k_200k, 200k_500k, 500k_1m, 1m_plus} +(HT2 `AGI_STUB` 7, 8, 9, 10): + + share(s,b,m) = TY2023 HT2 value(s,b,m) / sum over TY2023 stubs 1..10 + control(s,m) = TY2022 HT2 stub-0 value(s,m) + target(s,b,m) = share x control; AGI x 1.1203460 (CBO AGI 2022->2024); counts not aged + +TY2023 stub 0 equals the sum of stubs 1..10 to 3.5e-5 (returns) and exactly +(AGI), so the denominator choice is immaterial. Summed over the 51 states the +2024 targets are 787,789 returns / $2,725.6B for $1M+, against SOI Table 1.1 +TY2023 $1M+ of 799,094 returns / $2,543.5B (five sub-bands summed from +`score_variants.py`). + +**Solver contract** (read from the worktree, not assumed): +`packages/microcosm-build/src/microcosm/build/us/spec/calibration.yaml` sets +`hard_constraints.max_weight_ratio: 5.0`, `mass: conserve`, and the loss +`weighted_mean(min(abs((A@w-target)/target_scale), target_loss_cap))` with +`target_scale = max(abs(target), 1)` and `target_loss_cap: 1.0`. +`packages/microcosm-calibrate/src/microcosm/calibrate/solve.py` optimises +log-weights with Adam and clamps **upward only** +(`log_w.clamp_(max=torch.log(upper))`, `upper = max_weight_ratio * w0`); there +is no lower bound, so a weight may fall toward zero. The yaml's +`infeasibility_contract` says `structural_cap_mass_or_empty_support: refuse` +and its attainment block says `positive_target_zero_support: fail`. + +**Feasibility flags** (per cell, frame view, records `(a_j, w0_j)`): + +- `c1_count_reachable`: `N_target <= 5 * sum(w0)` +- `c2_amount_reachable`: `A_target <= 5 * sum(w0 * a)` (all `a > 0` in these bands) +- `c3_mean_in_range`: `min(a) <= A_target / N_target <= max(a)` +- `feasible_necessary` = all three. These are **necessary, not sufficient**: + each record's weight is shared by every target it enters, mass is conserved + frame-wide, and the cap prevents putting all of a cell's weight on its top + record, so the true reachable set is smaller. +- `over2x_A` / `over2x_N`: frame start > 2 x target, i.e. the starting relative + error exceeds the 1.0 loss cap and the target contributes **zero gradient at + the start** (it can re-enter the active region only if other targets move + the same records). +- `zero_support`: no frame record in the cell. + +## Colorado reproduction check (chosen variant, $1M+, x2 view) + +| Quantity | #982 README | Computed here | | +|---|---|---|---| +| PUF records at $1M+ proxy AGI | 15 | 15 | reproduces | +| Weighted returns, x2 | ~14,847 | 14,847.2 | reproduces | +| Largest record's share of income above $1M | 84.0% | 83.96% | reproduces | +| Largest record's proxy AGI | $125.4M | $125.40M | reproduces | +| Largest record's weight, x2 | 867 | 867.2 | reproduces | + +The 84% is the share of income **above $1M** (`w * max(agi - 1e6, 0)`), as in +`score_variants.py`. The same record's share of the cell's total proxy AGI is +75.9%. In the old design the largest Colorado $1M+ record is $12.8M with a +20.3% share (31.6% of income above $1M). + +## Colorado, all four bands (pre-calibration, proxy AGI) + +Targets at 2024 (both variants): returns 559,959 / 247,962 / 36,620 / 15,031; +AGI $86.1B / $78.8B / $26.9B / $50.2B for 100k_200k / 200k_500k / 500k_1m / +1m_plus. Raw TY2023 HT2: 581,520 / 257,510 / 38,030 / 15,610 returns and +$81.1B / $74.2B / $25.4B / $47.3B. + +| Band | Variant | PUF n | PUF N | PUF A $bn | PUF mean | PUF max | Largest share of PUF A | Largest w (half / x2) | Survey n | Survey N | Survey A $bn | Frame N | Frame A $bn | ratio_N | ratio_A | 5x count cap | 5x amount cap $bn | Target mean | Feasible (necessary) | >2x | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 100k_200k | current | 574 | 316,972 | 44.7 | $141k | $200k | 0.4% | 1,138 / 2,276 | 565 | 309,786 | 43.3 | 626,758 | 88.0 | 1.12 | 1.02 | 3,133,789 | 440 | $154k | yes | no | +| 100k_200k | chosen | 569 | 312,760 | 43.0 | $138k | $199k | 0.5% | 1,206 / 2,412 | 565 | 309,786 | 43.3 | 622,547 | 86.3 | 1.11 | 1.00 | 3,112,733 | 432 | $154k | yes | no | +| 200k_500k | current | 309 | 164,652 | 47.3 | $287k | $493k | 1.1% | 1,394 / 2,789 | 283 | 148,922 | 41.9 | 313,574 | 89.3 | 1.27 | 1.13 | 1,567,871 | 446 | $318k | yes | no | +| 200k_500k | chosen | 220 | 114,549 | 32.0 | $279k | $500k | 1.1% | 935 / 1,870 | 283 | 148,922 | 41.9 | 263,471 | 74.0 | 1.06 | 0.94 | 1,317,356 | 370 | $318k | yes | no | +| 500k_1m | current | 36 | 19,368 | 13.3 | $685k | $992k | 6.4% | 934 / 1,868 | 17 | 8,404 | 6.0 | 27,773 | 19.3 | 0.76 | 0.71 | 138,863 | 96 | $736k | yes | no | +| 500k_1m | chosen | 21 | 12,867 | 9.1 | $707k | $954k | 11.7% | 1,394 / 2,789 | 17 | 8,404 | 6.0 | 21,271 | 15.1 | 0.58 | 0.56 | 106,357 | 75 | $736k | yes | no | +| 1m_plus | current | 26 | 13,775 | 31.9 | $2.32M | $12.8M | 20.3% | 749 / 1,499 | 13 | 7,617 | 9.8 | 21,392 | 41.7 | 1.42 | 0.83 | 106,962 | 209 | $3.34M | yes | no | +| 1m_plus | chosen | 15 | 7,424 | 71.7 | $9.65M | $125.4M | 75.9% | 434 / 867 | 13 | 7,617 | 9.8 | 15,041 | 81.5 | 1.00 | 1.62 | 75,206 | 407 | $3.34M | yes | no | + +Colorado $1M+ in the chosen variant passes all three necessary conditions +(count 1.00x, amount 1.62x, target mean $3.34M inside [$1.0M, $125.4M]) and is +under 2x, so it is not "infeasible" or "zero-gradient" in this oracle; it is +one record carrying 76% of the cell's amount. Dropping that record leaves 14 +PUF + 13 survey records, ratio_A 0.54, still feasible (necessary). + +## Per-band counts, 51 states (pre-calibration, proxy AGI) + +Infeasible = fails at least one necessary condition, with the three failures +broken out (a state can fail more than one). + +### Old design (`current`) + +| Band | PUF records (min state) | States PUF n<10 | Zero support | Infeasible (count cap / amount cap / mean out of range) | A_frame>2x | N_frame>2x | Largest record >50% of PUF A | ratio_A median [min, max] | ratio_N median [min, max] | +|---|---|---|---|---|---|---|---|---|---| +| 100k_200k | 37,200 (274) | 0 | 0 | 0 (0 / 0 / 0) | 0 | 0 | 0 | 0.99 [0.83, 1.21] | 1.06 [0.91, 1.22] | +| 200k_500k | 18,154 (133) | 0 | 0 | 0 (0 / 0 / 0) | 0 | 0 | 0 | 1.17 [0.91, 1.53] | 1.26 [1.01, 1.57] | +| 500k_1m | 3,098 (20) | 0 | 0 | 0 (0 / 0 / 0) | 1 (RI) | 1 (RI) | 0 | 1.09 [0.67, 2.01] | 1.18 [0.76, 2.10] | +| 1m_plus | 1,570 (9) | 2 | 0 | 12 (0 / 1 / 12) | 0 | 2 (NE, WV) | 1 (OH) | 0.63 [0.12, 1.63] | 1.31 [0.57, 2.41] | + +### Chosen design (`demographic_midrank6_earn`) + +| Band | PUF records (min state) | States PUF n<10 | Zero support | Infeasible (count cap / amount cap / mean out of range) | A_frame>2x | N_frame>2x | Largest record >50% of PUF A | ratio_A median [min, max] | ratio_N median [min, max] | +|---|---|---|---|---|---|---|---|---|---| +| 100k_200k | 37,680 (282) | 0 | 0 | 0 (0 / 0 / 0) | 0 | 0 | 0 | 0.97 [0.84, 1.20] | 1.05 [0.91, 1.24] | +| 200k_500k | 13,302 (78) | 0 | 0 | 0 (0 / 0 / 0) | 0 | 0 | 0 | 0.99 [0.78, 1.30] | 1.07 [0.85, 1.36] | +| 500k_1m | 1,990 (13) | 0 | 0 | 0 (0 / 0 / 0) | 0 | 0 | 0 | 0.85 [0.52, 1.43] | 0.91 [0.58, 1.53] | +| 1m_plus | 1,078 (4) | 11 | 0 | 9 (0 / 2 / 9) | 2 (SC, WV) | 1 (WV) | 4 (CO, NV, SC, WV) | 0.58 [0.11, 2.70] | 0.96 [0.44, 2.31] | + +Reading the 1m_plus row for the chosen design: + +- No cell is empty and the count cap never binds: even the thinnest cell + (DE, 4 PUF + 3 survey records) has 5x headroom on returns. +- The binding failure is the **mean** condition: in 9 states the SOI target mean + ($2.75M-$5.93M) exceeds every record in the cell, so no reweighting of the + existing records can hit both the count and the amount. Two of them (WY, DE) + also fail the 5x amount cap outright. +- ratio_A distribution: 4 states below 0.25, 18 in [0.25, 0.5), 19 in + [0.5, 1), 8 in [1, 2), 2 at or above 2. The frame starts **below** the SOI + amount in 41 of 51 states; the solver would have to push top-record weights + up (toward the 5x cap) almost everywhere. +- The two over-2x cells (WV 2.70x, SC 2.03x) are each one record: the largest + carries 64% / 56% of the state's PUF amount, and removing it brings both under + 2x (1.24x, 1.05x). +- 11 states have fewer than 10 PUF records at $1M+ (DE 4, IA 7, IN 7, MS 7, + KY 8, RI 8, WI 8, MN 9, MT 9, SD 9, WY 9). The old design had 2 (KY 9, ME 9) + because it spread survey-topcoded incomes across more clones; its + $1M+ amounts were correspondingly lower (national x2 $2.22T vs $2.70T). + +### States failing the mean condition at $1M+ (chosen design) + +| State | PUF n | Survey n | Target N | Target A $bn | Target mean | Frame max record | 5x amount cap $bn | ratio_A | +|---|---|---|---|---|---|---|---|---| +| DE | 4 | 3 | 1,646 | 4.55 | $2.76M | $1.35M | 4.45 | 0.20 | +| IA | 7 | 6 | 4,321 | 13.87 | $3.21M | $1.47M | 19.97 | 0.29 | +| ID | 10 | 6 | 3,175 | 10.67 | $3.36M | $2.42M | 10.90 | 0.20 | +| ME | 11 | 6 | 2,056 | 5.66 | $2.75M | $2.75M | 27.07 | 0.96 | +| MI | 17 | 13 | 15,917 | 51.12 | $3.21M | $2.83M | 101.95 | 0.40 | +| MT | 9 | 5 | 2,236 | 7.27 | $3.25M | $3.08M | 7.83 | 0.22 | +| RI | 8 | 5 | 1,892 | 6.08 | $3.22M | $3.08M | 11.76 | 0.39 | +| WI | 8 | 5 | 9,758 | 31.29 | $3.21M | $2.51M | 44.62 | 0.29 | +| WY | 9 | 9 | 1,720 | 10.20 | $5.93M | $2.23M | 5.44 | 0.11 | + +(ME fails by a hair: target mean $2.7545M vs max record $2.7543M.) The old +design's 12 failures are AR, FL, ID, IN, KY, LA, MO, MT, ND, OK, UT, WY, with +Florida the notable one: 84 PUF records but a max of $2.9M against a $4.59M +target mean, because the old design's clones inherited survey topcodes. + +## Worst 10 states at $1M+ by |log(ratio_A)| (chosen design) + +| State | PUF n | Survey n | Frame N | Target N | ratio_N | Frame A $bn | Target A $bn | ratio_A | Largest share of PUF A | Max record | Failing | ratio_A without largest record | +|---|---|---|---|---|---|---|---|---|---|---|---|---| +| WY | 9 | 9 | 844 | 1,720 | 0.49 | 1.09 | 10.20 | 0.11 | 18% | $2.2M | amount cap, mean | 0.10 | +| DE | 4 | 3 | 724 | 1,646 | 0.44 | 0.89 | 4.55 | 0.20 | 31% | $1.3M | amount cap, mean | 0.16 | +| ID | 10 | 6 | 1,633 | 3,175 | 0.51 | 2.18 | 10.67 | 0.20 | 15% | $2.4M | mean | 0.19 | +| MT | 9 | 5 | 1,009 | 2,236 | 0.45 | 1.57 | 7.27 | 0.22 | 23% | $3.1M | mean | 0.18 | +| WI | 8 | 5 | 7,111 | 9,758 | 0.73 | 8.92 | 31.29 | 0.29 | 27% | $2.5M | mean | 0.24 | +| IA | 7 | 6 | 3,342 | 4,321 | 0.77 | 3.99 | 13.87 | 0.29 | 23% | $1.5M | mean | 0.26 | +| IN | 7 | 4 | 5,465 | 9,534 | 0.57 | 8.80 | 29.19 | 0.30 | 28% | $3.2M | - | 0.24 | +| IL | 25 | 16 | 21,272 | 30,493 | 0.70 | 37.45 | 108.07 | 0.35 | 23% | $18.7M | - | 0.29 | +| NH | 14 | 6 | 2,886 | 3,688 | 0.78 | 4.73 | 13.25 | 0.36 | 12% | $4.3M | - | 0.32 | +| WV | 16 | 10 | 2,863 | 1,238 | 2.31 | 8.97 | 3.32 | 2.70 | 64% | $77.0M | - (over 2x) | 1.24 | + +The highest ratios are WV 2.70, SC 2.03, CO 1.62, VA 1.28, AK 1.15, AL 1.15; +the four states where one record exceeds half the PUF amount are CO (76%), NV +(78%), WV (64%), SC (56%). The old design's worst list is WY 0.12, MT 0.27, +FL 0.30, ID 0.34, ND 0.36, NV 0.37, NY 0.38, AR 0.42, IN 0.43, IL 0.43 (all +under-target; its only over-target $1M+ amounts are WV 1.63 and OH 1.56, the +latter one $122M record at 67%). + +## Sensitivity: remove each state's single largest $1M+ record + +| | Old design | Chosen design | +|---|---|---| +| States passing all necessary conditions | 39 -> 21 | 42 -> 30 | +| States flipping feasible -> infeasible | 18 | 12 (AR, IL, IN, KS, KY, MD, MN, MO, MS, ND, OR, VT) | +| States over 2x on amount | 0 -> 0 | 2 -> 0 (SC, WV) | +| Median ratio_A | 0.63 -> 0.58 | 0.58 -> 0.50 | + +In the chosen design, 12 of the 42 passing states pass the mean condition only +because of their single largest record; without it, the target mean exceeds +every remaining record. That is the one-record dependence in the direction +opposite to Colorado's: most states are short of top-tail income, not long. + +## National sums at $1M+ (sum over 51 states; returns / AGI $bn) + +| | Target 2024 | PUF half | Survey half | Frame (PUF + survey) | ratio N / A | PUF x2 | SOI Table 1.1 TY2023 | +|---|---|---|---|---|---|---|---| +| Old design | 787,789 / 2,725.6 | 633,202 / 1,111.5 | 326,243 / 407.3 | 959,445 / 1,518.8 | 1.22 / 0.56 | 1,266,404 / 2,223.0 | 799,094 / 2,543.5 | +| Chosen design | 787,789 / 2,725.6 | 420,000 / 1,351.6 | 326,243 / 407.3 | 746,243 / 1,758.9 | 0.95 / 0.65 | 840,000 / 2,703.2 | 799,094 / 2,543.5 | + +The chosen design's x2 view (840,000 returns / $2,703B) reproduces the #982 +README's national $1M+ story (sum of its five sub-band rows = 839,999). The +frame view is lower because the survey half, with a $3.16M ceiling, contributes +only $407B of $1M+ income at 326k returns; the assembled frame therefore starts +at 0.65 of the national $1M+ amount target even though the PUF channel alone +is on target. + +## What these numbers can and cannot tell you + +They can: + +- Show that no state x band cell is empty and none fails the 5x **count** cap, + in either variant, so the `structural_cap_mass_or_empty_support: refuse` and + `positive_target_zero_support: fail` contracts would not trip on support + alone for these four bands. +- Identify the cells where the pair (returns, AGI) is unreachable by any + per-cell reweighting of the current records under the 5x cap: 9 states at + $1M+ in the chosen design (12 in the old), all because the SOI target mean + exceeds the cell's largest record, plus WY and DE on the amount cap. +- Identify cells that start beyond the 1.0 loss cap (zero initial gradient): + SC and WV amounts at $1M+ in the chosen design (RI at 500k_1m and NE/WV + counts in the old), and show each is a single-record effect. +- Quantify how thin and how single-record-dependent the $1M+ cells are (11 + states under 10 PUF records; 12 states whose feasibility rests on one + record; four states with one record above half the amount). + +They cannot: + +- Predict the calibrated outcome. Weights are shared across every target a + record enters, mass is conserved frame-wide, L0 selection changes the + support, and the cap forbids concentrating a cell on its top record; the + flags are necessary conditions on one cell at a time. +- Stand in for engine AGI. Proxy AGI omits adjustments, Social Security and + other AGI components; the survey half's income is the saved broad survey + total (up to 14 items), not the engine's AGI for those households; band + membership will shift when the engine computes AGI for both halves. +- Reflect production fits. These are 8-tree offline fits on the 2026-09-12 + donor frame with no tail stratum (#958) and no clone selection; the record + counts, maxima and shares will differ in a production build. +- Reflect record-level aging. Incomes were not aged from the donor year; + only the AGI targets carry the x1.1203460 factor. +- Speak to bands below $100k or to the sub-$1M national comparison, which + were not computed here. + +## Limitations restated + +PUF half only for imputed income; survey half approximated with the saved +`survey_total` (broad survey list, up to 14 items, not six; six-item version +in `svy6_*`); 8-tree fits; no tail stratum; no engine AGI; no aging of +incomes; no clone selection; feasibility conditions are per-cell and necessary +only; the AGI aging factor 1.1203460 was supplied by the caller and matches the +"x1.1203 over 2022->2024" CBO AGI default documented in +`us_runtime/fiscal_targets.py`. + +## Feed re-pin receipts (`feed-repin/`) + +The 2026-10-04 re-pin of the US Chronicle feed to `51aa40f` (Chronicle +`c5e5bf8` plus only the TY2023 state AGI package; see +`docs/us-chronicle-feed-repin.md`): + +- `extend_scope.py` adds the 51 TY2023 `state_agi` pairs to + `us/chronicle_feed_scope.json` for a given commit; `apply_pin.py` writes the + pin and the parity generator's feed name from the builder's receipt. +- `compare_feeds.py` joins the old and new feeds on source cell and compiles + both as the release does. `compare.json` is its report: all 39,158 old cells + present with equal values and no changed field, 1,020 cells added (all + `irs_soi.ty2023.historic_table_2.state_agi`), and no non-band target added, + removed or changed in value or metadata; state bands 306 (TY2022) -> 408 + (TY2023). +- `measure_surface.py` measures the release surface the feed-gated test pins: + 33,250 targets, 6,102 `national_state` (408 of them state bands). diff --git a/experiments/940-state-agi-bands/feed-repin/apply_pin.py b/experiments/940-state-agi-bands/feed-repin/apply_pin.py new file mode 100644 index 000000000..af40ff694 --- /dev/null +++ b/experiments/940-state-agi-bands/feed-repin/apply_pin.py @@ -0,0 +1,70 @@ +"""Point the US Chronicle feed pin at a rebuilt feed (#940). + +Usage: python apply_pin.py +Rewrites us/chronicle_feed.json (commit, build text, row count, facts and +scope digests) and tools/build_us_target_parity_manifest.py's +DEFAULT_FEED_NAME. The scope file must already name the commit; the schema +version and its digest are checked unchanged (the commit is c5e5bf8-based). +""" + +from __future__ import annotations + +import hashlib +import json +import re +import sys +from pathlib import Path + +worktree, feed_dir, commit, feed_name = ( + Path(sys.argv[1]), + Path(sys.argv[2]), + sys.argv[3], + sys.argv[4], +) +us = worktree / "packages/microcosm-build/src/microcosm/build/us" +scope_bytes = (us / "chronicle_feed_scope.json").read_bytes() +assert json.loads(scope_bytes)["source_commit"] == commit +receipt = json.loads((feed_dir / "receipt.json").read_text()) +facts = (feed_dir / "consumer_facts.jsonl").read_bytes() +facts_sha = hashlib.sha256(facts).hexdigest() +rows = [json.loads(line) for line in facts.splitlines() if line.strip()] +versions = sorted({row["schema_version"] for row in rows}) +assert receipt["facts_sha256"] == facts_sha, receipt +assert receipt["row_count"] == len(rows), receipt +assert receipt["scope_sha256"] == hashlib.sha256(scope_bytes).hexdigest(), receipt + +pin_path = us / "chronicle_feed.json" +pin = json.loads(pin_path.read_text()) +assert versions == pin["consumer_fact_schema_versions"], versions +pin["source_commit"] = commit +pin["build"] = ( + "tools/build_us_chronicle_feed.py --skip-artifact: one `chronicle build-bundle " + "--year Y --source ` per build year in chronicle_feed_scope.json, rows " + "kept for exactly the scope's (record set, period) pairs and sorted by " + "aggregate_fact_key. The commit is c5e5bf8 plus only the TY2023 Historic " + "Table 2 state AGI-band package (tag microcosm-us-feed-940-v1, chronicle#291). " + "Bare feed: `chronicle build-consumer-artifact` refuses it at this commit; see " + "docs/us-chronicle-feed-repin.md." +) +pin["fact_row_count"] = len(rows) +pin["facts_sha256"] = facts_sha +pin["scope_sha256"] = hashlib.sha256(scope_bytes).hexdigest() +pin_path.write_text(json.dumps(pin, indent=2) + "\n") + +tool_path = worktree / "tools/build_us_target_parity_manifest.py" +tool, count = re.subn( + r'DEFAULT_FEED_NAME = "[^"]+"', + f'DEFAULT_FEED_NAME = "{feed_name}"', + tool_path.read_text(), +) +assert count == 1 +tool_path.write_text(tool) +print( + json.dumps( + { + k: pin[k] + for k in ("source_commit", "fact_row_count", "facts_sha256", "scope_sha256") + }, + indent=1, + ) +) diff --git a/experiments/940-state-agi-bands/feed-repin/compare.json b/experiments/940-state-agi-bands/feed-repin/compare.json new file mode 100644 index 000000000..eb5e51116 --- /dev/null +++ b/experiments/940-state-agi-bands/feed-repin/compare.json @@ -0,0 +1,31 @@ +{ + "cells": { + "old": 39158, + "new": 40178, + "shared": 39158, + "value_changes": [], + "value_change_count": 0, + "only_old_by_family": {}, + "only_new_by_record_set_prefix": { + "irs_soi.ty2023.historic_table_2.state_agi": 1020 + }, + "field_changes": {}, + "field_change_examples": {} + }, + "targets": { + "old_count": 33148, + "new_count": 33250, + "old_state_bands": 306, + "new_state_bands": 408, + "core_removed": [], + "core_removed_count": 0, + "core_added": [], + "core_added_count": 0, + "core_value_change_count": 0, + "core_value_changes": [], + "core_metadata_changes": {}, + "core_metadata_change_examples": {}, + "old_version": "b809fb2d69db", + "new_version": "fc776a2b6eb7" + } +} \ No newline at end of file diff --git a/experiments/940-state-agi-bands/feed-repin/compare_feeds.py b/experiments/940-state-agi-bands/feed-repin/compare_feeds.py new file mode 100644 index 000000000..d2b8f94a1 --- /dev/null +++ b/experiments/940-state-agi-bands/feed-repin/compare_feeds.py @@ -0,0 +1,176 @@ +"""What moving the US Chronicle feed pin changes, besides the #940 facts. + +Usage: python compare_feeds.py + +1. Cell join (record set, period, source row, source column): every old cell + must be in the new feed with an equal value; list added and removed cells + by record set. +2. Field diff on joined cells: which fact fields changed (e.g. concept ids, + schema_version), counted per record-set family. +3. Compile both feeds as the release does (target 2024, packaged CD + crosswalk, age_targets=True, Medicaid substitutions) and compare targets: + names added/removed, value changes, metadata changes, excluding the state + AGI band rows #940 adds. +""" + +from __future__ import annotations + +import collections +import json +import sys + +from microcosm.build.ledger_artifact import load_ledger_consumer_artifact +from microcosm.build.us_runtime import ( + apply_us_medicaid_enrollment_substitutions, + compile_us_fiscal_target_registry, + default_congressional_district_vintage_crosswalk_path, + load_congressional_district_vintage_crosswalk, +) + +old_path, new_path, out_path = sys.argv[1:4] + + +def cell_key(row): + layout = row["layout"] + return ( + layout["record_set_id"], + row["period"]["type"], + str(row["period"]["value"]), + str(layout.get("source_row_id")), + str(layout.get("source_column_id")), + ) + + +def family(record_set_id: str) -> str: + parts = [p for p in record_set_id.split(".") if p[:2] not in {"ty", "cy", "fy"}] + return ".".join(parts[:3]) + + +def load_rows(path): + rows = collections.defaultdict(list) + for line in open(path): + if line.strip(): + row = json.loads(line) + rows[cell_key(row)].append(row) + return rows + + +old_rows, new_rows = load_rows(old_path), load_rows(new_path) +shared = set(old_rows) & set(new_rows) +value_changes = [] +field_changes = collections.Counter() +field_examples = {} +for key in sorted(shared): + old, new = old_rows[key][0], new_rows[key][0] + if old["value"] != new["value"]: + value_changes.append({"cell": key, "old": old["value"], "new": new["value"]}) + for field in sorted(set(old) | set(new)): + if old.get(field) != new.get(field): + if field in {"aggregate_fact_key", "semantic_fact_key", "legacy_fact_key"}: + continue + tag = (family(key[0]), field) + field_changes[tag] += 1 + field_examples.setdefault( + f"{tag[0]}|{field}", + {"cell": key, "old": old.get(field), "new": new.get(field)}, + ) +only_old = collections.Counter(family(k[0]) for k in set(old_rows) - set(new_rows)) +only_new = collections.Counter( + k[0].rsplit(".", 1)[0] for k in set(new_rows) - set(old_rows) +) + +crosswalk = load_congressional_district_vintage_crosswalk( + default_congressional_district_vintage_crosswalk_path() +) + + +def compile_(path): + facts = load_ledger_consumer_artifact(path).facts + registry = compile_us_fiscal_target_registry( + facts, + target_period=2024, + congressional_district_vintage_crosswalk=crosswalk, + age_targets=True, + ) + registry, _ = apply_us_medicaid_enrollment_substitutions(registry) + return registry + + +def is_band(spec): + return spec.metadata.get("requires_state_agi_band_rebase") == "true" + + +old_reg, new_reg = compile_(old_path), compile_(new_path) +old_specs = {s.name: s for s in old_reg.specs} +new_specs = {s.name: s for s in new_reg.specs} +old_core = {n for n, s in old_specs.items() if not is_band(s)} +new_core = {n for n, s in new_specs.items() if not is_band(s)} +target_value_changes = [] +target_metadata_changes = collections.Counter() +target_metadata_examples = {} +for name in sorted(old_core & new_core): + a, b = old_specs[name], new_specs[name] + if abs(a.value - b.value) > 1e-9 * max(1.0, abs(a.value)): + target_value_changes.append({"name": name, "old": a.value, "new": b.value}) + for key in sorted(set(a.metadata) | set(b.metadata)): + if a.metadata.get(key) != b.metadata.get(key): + target_metadata_changes[key] += 1 + target_metadata_examples.setdefault( + key, + {"name": name, "old": a.metadata.get(key), "new": b.metadata.get(key)}, + ) + +report = { + "cells": { + "old": len(old_rows), + "new": len(new_rows), + "shared": len(shared), + "value_changes": value_changes[:50], + "value_change_count": len(value_changes), + "only_old_by_family": dict(only_old), + "only_new_by_record_set_prefix": dict(collections.Counter(only_new)), + "field_changes": {f"{f}|{k}": n for (f, k), n in sorted(field_changes.items())}, + "field_change_examples": field_examples, + }, + "targets": { + "old_count": len(old_specs), + "new_count": len(new_specs), + "old_state_bands": len(old_specs) - len(old_core), + "new_state_bands": len(new_specs) - len(new_core), + "core_removed": sorted(old_core - new_core)[:100], + "core_removed_count": len(old_core - new_core), + "core_added": sorted(new_core - old_core)[:100], + "core_added_count": len(new_core - old_core), + "core_value_change_count": len(target_value_changes), + "core_value_changes": target_value_changes[:50], + "core_metadata_changes": dict(target_metadata_changes), + "core_metadata_change_examples": target_metadata_examples, + "old_version": old_reg.version, + "new_version": new_reg.version, + }, +} +json.dump(report, open(out_path, "w"), indent=1, default=str) +print( + json.dumps( + { + "cells": { + k: v + for k, v in report["cells"].items() + if k not in {"value_changes", "field_change_examples"} + }, + "targets": { + k: v + for k, v in report["targets"].items() + if k + not in { + "core_removed", + "core_added", + "core_value_changes", + "core_metadata_change_examples", + } + }, + }, + indent=1, + default=str, + ) +) diff --git a/experiments/940-state-agi-bands/feed-repin/extend_scope.py b/experiments/940-state-agi-bands/feed-repin/extend_scope.py new file mode 100644 index 000000000..c9a2eafd4 --- /dev/null +++ b/experiments/940-state-agi-bands/feed-repin/extend_scope.py @@ -0,0 +1,59 @@ +"""Add the TY2023 state AGI-band pairs to the US Chronicle feed scope (#940). + +Usage: python extend_scope.py +Idempotent: re-running with the same commit rewrites the same bytes. +""" + +from __future__ import annotations + +import json +import sys + +POSTALS = ( + "al ak az ar ca co ct de dc fl ga hi id il in ia ks ky la me md ma mi mn ms " + "mo mt ne nv nh nj nm ny nc nd oh ok or pa ri sc sd tn tx ut vt va wa wv wi wy" +).split() +PACKAGE = "packages/irs_soi/historic_table_2_state_agi_2023" +PACKAGE_ID = "soi-historic-table-2-state-agi-2023" +RULE = ( + "The (record_set_id, period) pairs of the pinned feed " + "consumer_facts_buildn_v9_4.jsonl, plus the 51 TY2023 Historic Table 2 " + "state AGI-band record sets (irs_soi.ty2023.historic_table_2.state_agi., " + "microcosm#940); each built from the named package with " + "`chronicle build-bundle --year --source `." +) + +path, commit = sys.argv[1], sys.argv[2] +assert len(commit) == 40, commit +scope = json.load(open(path)) +assert len(POSTALS) == 51 == len(set(POSTALS)) +pairs = [ + pair + for pair in scope["pairs"] + if not pair["record_set_id"].startswith( + "irs_soi.ty2023.historic_table_2.state_agi." + ) +] +for postal in POSTALS: + pairs.append( + { + "record_set_id": f"irs_soi.ty2023.historic_table_2.state_agi.{postal}", + "period_type": "tax_year", + "period_value": "2023", + "package_id": PACKAGE_ID, + "package": PACKAGE, + "build_year": 2023, + } + ) +pairs.sort(key=lambda e: (e["record_set_id"], e["period_type"], e["period_value"])) +runs: dict[str, set[str]] = {} +for pair in pairs: + runs.setdefault(str(pair["build_year"]), set()).add(pair["package"]) +scope["source_commit"] = commit +scope["rule"] = RULE +scope["pair_count"] = len(pairs) +scope["runs"] = {year: sorted(runs[year]) for year in sorted(runs)} +scope["pairs"] = pairs +with open(path, "w") as handle: + handle.write(json.dumps(scope, indent=1) + "\n") +print(len(pairs), sum(len(v) for v in scope["runs"].values())) diff --git a/experiments/940-state-agi-bands/feed-repin/measure_surface.py b/experiments/940-state-agi-bands/feed-repin/measure_surface.py new file mode 100644 index 000000000..76ad1ec7c --- /dev/null +++ b/experiments/940-state-agi-bands/feed-repin/measure_surface.py @@ -0,0 +1,63 @@ +"""Measure the pinned-feed release surface as test_us_fiscal_targets' fixture builds it. + +Run from the repository root with PYTHONPATH=. (test_support is a repo package). +""" + +import importlib.util + +from microcosm.build.ledger_artifact import load_ledger_consumer_artifact +from microcosm.build.us_runtime import ( + apply_us_medicaid_enrollment_substitutions, + compile_us_fiscal_target_registry, + default_congressional_district_vintage_crosswalk_path, + load_congressional_district_vintage_crosswalk, +) +from microcosm.build.us_runtime.chronicle_feed import load_us_chronicle_feed +from microcosm.calibrate import TargetRegistry +from test_support.paths import paths_for + +root = paths_for("microcosm-build").repository + + +def tool(name): + spec = importlib.util.spec_from_file_location(name, root / "tools" / f"{name}.py") + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +feed = tool("build_us_target_parity_manifest").DEFAULT_FEED_PATH +facts = load_ledger_consumer_artifact( + feed, + expected_facts_sha256=load_us_chronicle_feed().facts_sha256, + expected_manifest_sha256=None, +).facts +cw = load_congressional_district_vintage_crosswalk( + default_congressional_district_vintage_crosswalk_path() +) +reg = compile_us_fiscal_target_registry( + facts, + target_period=2024, + congressional_district_vintage_crosswalk=cw, + age_targets=True, +) +reg, _ = apply_us_medicaid_enrollment_substitutions(reg) +specs, _ = tool("build_us_fiscal_refresh_release")._select_target_surface( + reg.specs, "national_state" +) +surface = TargetRegistry(specs, country="us") +bands = [ + s + for s in surface.specs + if s.metadata.get("requires_state_agi_band_rebase") == "true" +] +print( + "registry", + len(reg.specs), + "national_state", + len(surface.specs), + "version", + surface.version, + "bands_in_surface", + len(bands), +) diff --git a/experiments/940-state-agi-bands/support_by_state_band.csv b/experiments/940-state-agi-bands/support_by_state_band.csv new file mode 100644 index 000000000..54204487c --- /dev/null +++ b/experiments/940-state-agi-bands/support_by_state_band.csv @@ -0,0 +1,409 @@ +variant,state,fips,band,band_low,band_high,soi2023_returns,soi2023_agi,soi2023_share_returns,soi2023_share_agi,ty2022_control_returns,ty2022_control_agi,target_returns_2024,target_agi_2024,puf_n,puf_N,puf_A,puf_mean_agi,puf_min_agi,puf_max_agi,puf_largest_share_of_A,puf_largest_w,puf_largest_share_above_low,puf_N_x2,puf_A_x2,puf_largest_w_x2,svy_n,svy_N,svy_A,svy_max_income,svy6_n,svy6_N,svy6_A,frame_n,frame_N,frame_A,ratio_N,ratio_A,frame6_N,frame6_A,ratio6_N,ratio6_A,cap_N_5x,cap_A_5x,frame_min_agi,frame_max_agi,target_mean_agi,c1_count_reachable,c2_amount_reachable,c3_mean_in_range,feasible_necessary,failing_conditions,zero_support,over2x_A,over2x_N,start_loss_A_capped,start_loss_N_capped,drop1_removed_agi,drop1_removed_w,drop1_removed_channel,drop1_frame_n,drop1_frame_N,drop1_frame_A,drop1_ratio_A,drop1_feasible_necessary,drop1_failing_conditions,drop1_over2x_A +current,AK,02,100k_200k,100000.0,200000.0,72120.0,10028423000.0,0.20727711674426624,0.3199851628615256,348250.0,30289519000.0,72184.25590619072,10858613770.685642,484,35074.316226881456,4929461989.604954,140543.3525123704,100001.57343687941,199354.49853840718,0.006748882897250891,179.73601038200735,0.010755579509356055,70148.63245376291,9858923979.209908,359.4720207640147,477,34446.28783107328,4829864871.900757,199808.68,457,32954.97155840823,4601843387.096263,961,69520.60405795473,9759326861.50571,0.9630992684651675,0.8987636053372106,68029.28778528969,9531305376.701218,0.9424394132939357,0.8777644714127617,347603.02028977365,48796634307.52855,100000.0,199808.68,150429.11552343614,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AK,02,200k_500k,200000.0,500000.0,24460.0,6808021000.0,0.07029947692130827,0.21722914045904193,348250.0,30289519000.0,24481.7928378456,7371614717.659699,242,18068.151101759664,5064575137.767042,280304.00616219116,200022.8612490445,498414.59101324005,0.013178324468817705,179.73601038200735,0.021224384203821094,36136.30220351933,10129150275.534084,359.4720207640147,223,16290.245853620207,4437560538.973768,497843.36,203,14718.662144223279,3990690407.561447,465,34358.39695537987,9502135676.74081,1.4034265048704417,1.2890168627474738,32786.81324598294,9055265545.32849,1.3392325252952424,1.2283964765053954,171791.98477689933,47510678383.704056,200000.0,498414.59101324005,301106.00013999635,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AK,02,500k_1m,500000.0,1000000.0,2870.0,1915583000.0,0.00824854860033339,0.06112208651647122,348250.0,30289519000.0,2872.5570500661033,2074162203.0394325,38,2994.4805584641404,2047996040.1950042,683923.6389116565,500081.1835210288,987939.4431635682,0.05479620661888202,124.83,0.09043466760310423,5988.961116928281,4095992080.3900084,249.66,14,1290.4213372674158,899698798.2563313,993613.0,14,1290.4213372674158,859768797.745878,52,4284.901895731556,2947694838.451335,1.4916681622155952,1.4211496256810805,4284.901895731557,2907764837.940882,1.4916681622155954,1.401898479144932,21424.50947865778,14738474192.256676,500081.1835210288,993613.0,722061.2739411744,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AK,02,1m_plus,1000000.0,inf,1080.0,2528808000.0,0.0031039834454216243,0.08068876230345777,348250.0,30289519000.0,1080.9622348680807,2738152286.976728,14,989.6179347026177,1595244753.6469622,1611980.4398313947,1017836.5200223096,4635470.180416907,0.1397256333962377,48.084999999999994,0.28864571078615275,1979.2358694052355,3190489507.2939243,96.16999999999999,10,802.0532521890672,935870221.1120284,1950003.4,8,637.5125607349346,760796045.8711413,24,1791.6711868916848,2531114974.7589903,1.6574780589909675,0.9243879483246955,1627.1304954375523,2356040799.5181036,1.505261185776879,0.8604491469389657,8958.355934458425,12655574873.794952,1000895.04,4635470.180416907,2533069.3327236255,True,True,True,True,,False,False,False,False,False,4635470.180416907,48.084999999999994,puf,23.0,1743.5861868916852,2308218391.133644,0.8429839355948364,False,mean_out_of_range,False +current,AL,01,100k_200k,100000.0,200000.0,337310.0,46273164000.0,0.15755964948338036,0.2777399863679626,2149560.0,159215844000.0,338683.9201434951,49542379432.97288,653,194301.29271245192,26831427071.024292,138091.86082324394,100053.12280611218,199968.54507933016,0.004657966581844128,664.6133333333333,0.007906526515989156,388602.58542490384,53662854142.048584,1329.2266666666667,620,179324.70705922286,24438373441.8444,199618.36,605,174844.95602389995,23703453288.31297,1273,373625.99977167475,51269800512.86869,1.10317017593683,1.0348675437002957,369146.24873635184,50534880359.337265,1.0899432384624295,1.0200333721901098,1868129.9988583736,256349002564.34344,100000.0,199968.54507933016,146279.10121030413,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AL,01,200k_500k,200000.0,500000.0,102970.0,28835057000.0,0.04809794286354889,0.17307328148339768,2149560.0,159215844000.0,103389.41406177015,30872263994.42667,262,73896.31563782088,20833576771.040718,281929.8444207939,200022.8612490445,499993.34924233315,0.012214219913564367,564.8266666666666,0.02337185736763896,147792.63127564176,41667153542.081436,1129.6533333333332,225,64525.55820799478,17794868985.238434,485893.0,220,62892.02590178503,17162150745.562168,487,138421.87384581566,38628445756.279144,1.3388399102747146,1.2512346280549003,136788.34153960593,37995727516.60289,1.3230401079348564,1.230739913453131,692109.3692290783,193142228781.39572,200000.0,499993.34924233315,298601.78892185225,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AL,01,500k_1m,500000.0,1000000.0,13670.0,9198596000.0,0.006385344070551746,0.05521165415972842,2149560.0,159215844000.0,13725.680200295212,9848480066.81857,47,13188.002398269007,8413321178.706922,637952.6576224472,501829.625910472,974006.35953896,0.0396867878429041,361.8235360034074,0.0840896194125263,26376.004796538014,16826642357.413843,723.6470720068148,21,6033.990834712825,3631929795.856325,940814.92,17,5131.529249652672,2941327691.302324,68,19221.993232981833,12045250974.563246,1.4004401204516193,1.2230568466240819,18319.531647921678,11354648870.009245,1.3346902580119608,1.152934137346254,96109.96616490916,60226254872.81623,500000.0,974006.35953896,717522.1863763625,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AL,01,1m_plus,1000000.0,inf,6570.0,19010645000.0,0.0030688888473683227,0.11410536532894479,2149560.0,159215844000.0,6596.760710749052,20353753805.457275,23,5872.596371935016,10885607845.702055,1853627.7919122945,1039662.2969962737,7540664.906949588,0.15587032273778617,225.012413234649,0.2935821716294561,11745.192743870031,21771215691.40411,450.024826469298,19,4938.266470688135,5932706378.396601,2073417.4,18,4561.2808249050295,5395832280.355074,42,10810.86284262315,16818314224.098656,1.6388138537460446,0.8263003662542733,10433.877196840045,16281440126.057129,1.5816667686367079,0.7999232122819393,54054.31421311575,84091571120.49329,1014300.0,7540664.906949588,3085416.4184388216,True,True,True,True,,False,False,False,False,False,7540664.906949588,225.012413234649,puf,41.0,10585.850429388502,15121571015.992098,0.7429376988896114,True,,False +current,AR,05,100k_200k,100000.0,200000.0,184970.0,25143019000.0,0.14314458400080485,0.24477600092236568,1295860.0,95807833000.0,185495.34062328297,26273747409.574898,606,117547.93527436112,16479684731.632183,140195.4419119996,100026.46337733536,199745.87350528824,0.00442104737768513,375.01673849483115,0.00748287983583163,235095.87054872225,32959369463.264366,750.0334769896623,562,109613.62239580293,15256715047.44149,199068.0,541,104588.39383016556,14477698667.500599,1168,227161.55767016407,31736399779.073677,1.2246213673447452,1.2079129514470415,222136.32910452667,30957383399.132782,1.1975305059314498,1.1782629602296868,1135807.7883508203,158681998895.36838,100000.0,199745.87350528824,141641.010072234,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AR,05,200k_500k,200000.0,500000.0,55710.0,15903490000.0,0.043112854920715996,0.1548259850143228,1295860.0,95807833000.0,55868.22417755903,16618699575.842514,210,40902.495808842184,11574276684.221233,282972.3823776822,200022.8612490445,499046.3215049199,0.01379794012199225,323.7441146819056,0.027978367196930826,81804.99161768437,23148553368.442467,647.4882293638112,155,29173.615403372918,8115371081.516266,499681.36,145,27370.85486000207,7536663000.7138195,365,70076.11121221511,19689647765.737495,1.2543106970699645,1.1847887180269516,68273.35066884426,19110939684.93505,1.2220426132010132,1.1499660125462126,350380.55606107553,98448238828.68747,200000.0,499681.36,297462.4631530325,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AR,05,500k_1m,500000.0,1000000.0,8210.0,5514101000.0,0.006353554817789954,0.05368168363003732,1295860.0,95807833000.0,8233.31754618129,5762080395.551717,29,5645.6665396076105,3953662794.3994393,700300.4457776973,501209.46069199673,955321.8079747028,0.07651503143780872,406.75166666666667,0.09913657801182431,11291.333079215221,7907325588.798879,813.5033333333333,12,2535.7066967808414,1625777309.0600111,827513.08,11,2357.9666967808416,1497737954.6442604,41,8181.373236388453,5579440103.459451,0.9936909624217118,0.9683030642485893,8003.633236388452,5451400749.043699,0.9721030667766035,0.9460820354488876,40906.86618194226,27897200517.297253,500000.68,955321.8079747028,699849.1632603479,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AR,05,1m_plus,1000000.0,inf,3420.0,17657157000.0,0.002646669607410675,0.17189854082830527,1295860.0,95807833000.0,3429.7132774591973,18451232248.172237,20,3903.1277729823714,5426986712.783373,1390419.9473942982,1018624.5975408443,2373968.347917827,0.08636920545666922,250.67333333333332,0.14309145773173917,7806.255545964743,10853973425.566746,501.34666666666664,10,1969.3470381924483,2290176546.512284,2200012.96,10,1969.3470381924483,2289030225.0917234,30,5872.47481117482,7717163259.295657,1.7122349118131739,0.4182464973340798,5872.4748111748195,7716016937.875096,1.7122349118131737,0.4181843702411495,29362.3740558741,38585816296.47829,1010880.0,2373968.347917827,5379817.715211837,True,True,False,False,mean_out_of_range,False,False,False,False,False,2373968.347917827,149.50203172377397,puf,29.0,5722.972779451046,7362250168.03401,0.399011300113211,False,mean_out_of_range,False +current,AZ,04,100k_200k,100000.0,200000.0,567820.0,78260266000.0,0.1674481424468154,0.258134759792734,3373850.0,287127454000.0,564944.9153941881,83037330213.79538,647,324061.1855917603,44635759230.95549,137738.677803845,100022.8089622065,199977.72106358095,0.003656397270660113,882.4479912761135,0.006237500424291553,648122.3711835206,89271518461.91098,1764.895982552227,590,295863.2625008974,40663017765.7142,198917.68,571,282692.03165020427,38753822651.60279,1237,619924.4480926578,85298776996.6697,1.0973183954759695,1.0272340979298322,606753.2172419645,83389581882.55829,1.0740042094521813,1.0042420880808183,3099622.2404632894,426493884983.34845,100000.0,199977.72106358095,146983.05613717472,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AZ,04,200k_500k,200000.0,500000.0,204990.0,58519083000.0,0.06045083780101562,0.19302016470907551,3373850.0,287127454000.0,203952.05911495656,62091130879.615204,272,136735.3753082695,39327377665.504616,287616.7017996708,200022.8612490445,498957.53383001115,0.012483123605499268,1002.4599999999999,0.024242836435975582,273470.750616539,78654755331.00923,2004.9199999999998,224,112003.32488096142,31133604561.709717,491090.0,209,104137.43431787501,28781969664.678772,496,248738.7001892309,70460982227.21434,1.2195939637414035,1.1347994669935542,240872.8096261445,68109347330.18339,1.1810266131727445,1.096925540980024,1243693.5009461546,352304911136.0717,200000.0,498957.53383001115,304439.83330718835,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AZ,04,500k_1m,500000.0,1000000.0,29880.0,20029953000.0,0.008811508041828122,0.06606707810467641,3373850.0,287127454000.0,29728.706406921807,21252596067.432247,49,26174.605133872374,16779237266.298765,641050.2538808072,502686.66209918685,917643.2685289237,0.0452596538641655,983.0152684952828,0.0725675989274684,52349.21026774475,33558474532.59753,1966.0305369905657,30,14928.496649956216,9077654664.113232,910480.08,29,14403.5719671015,8576789146.570451,79,41103.101783828584,25856891930.412,1.3826064686843706,1.2166462792766966,40578.17710097387,25356026412.869217,1.3649493033953861,1.1930790164372023,205515.5089191429,129284459652.06,500268.68,917643.2685289237,714884.6564842106,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,AZ,04,1m_plus,1000000.0,inf,14180.0,45796317000.0,0.004181632665097817,0.15105521476488337,3373850.0,287127454000.0,14108.201367140271,48591757882.661064,22,11861.32976718734,26020499126.365532,2193725.293630019,1040875.4727049348,9505753.801712384,0.2668519315116497,730.4649999999999,0.4388079055457002,23722.65953437468,52040998252.731064,1460.9299999999998,11,5876.469823582646,8199709878.210753,2155028.3200000003,10,5559.174823582646,7764055815.179177,33,17737.799590769984,34220209004.57629,1.257268671546147,0.7042389593562542,17420.504590769986,33784554941.54471,1.2347785615921583,0.695273363501838,88688.99795384992,171101045022.88144,1040875.4727049348,9505753.801712384,3444220.6074430733,True,True,True,True,,False,False,False,False,False,9505753.801712384,730.4649999999999,puf,32.0,17007.334590769984,27276588553.808453,0.5613418765313186,False,mean_out_of_range,False +current,CA,06,100k_200k,100000.0,200000.0,3252990.0,453934849000.0,0.17600569193228116,0.22134471029512734,18487690.0,1987000701000.0,3253938.670679515,492741720846.0508,3486,1660064.2281779663,232142207616.25967,139839.29276703444,100002.59973293605,199986.23205208415,0.0009652704098919978,1274.3367275974456,0.0014613318861150294,3320128.4563559326,464284415232.51935,2548.673455194891,3428,1639418.2520879824,227725359541.59036,199986.0,3324,1583764.675215677,218892508698.46567,6914,3299482.4802659485,459867567157.85004,1.0139965175117829,0.9332831942224115,3243828.903393643,451034716314.72534,0.9968930676607494,0.9153572698091946,16497412.401329743,2299337835789.25,100000.0,199986.23205208415,151429.32019156718,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,CA,06,200k_500k,200000.0,500000.0,1626920.0,477270483000.0,0.08802584093970989,0.23272347788404874,18487690.0,1987000701000.0,1627394.459282665,518072317251.07275,1967,941147.074727549,275530529294.56665,292760.33118875657,200002.17551395053,499963.45120472857,0.0016956326781164953,1084.1716666666666,0.0028678240572764554,1882294.149455098,551061058589.1333,2168.3433333333332,1783,851007.2026135796,243845460102.59082,497219.2,1704,810585.8703272371,231738400172.2893,3750,1792154.2773411283,519375989397.1575,1.1012414765938723,1.0025163902850516,1751732.945054786,507268929466.85596,1.076403409795882,0.979146950291534,8960771.38670564,2596879946985.787,200000.0,499963.45120472857,318344.64858595654,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,CA,06,500k_1m,500000.0,1000000.0,317160.0,213715326000.0,0.017160201922920847,0.10421045448109822,18487690.0,1987000701000.0,317252.4934883645,231985840559.27975,369,174316.9809535417,118611342577.62923,680434.8143755489,500000.346603947,996890.1095285104,0.006794118436853833,1261.3316666666665,0.010444223524732647,348633.9619070834,237222685155.25845,2522.663333333333,269,129606.66803546494,86044428882.48149,991818.6799999999,240,114702.5010677051,75571412149.70258,638,303923.6489890067,204655771460.11072,0.9579866359668292,0.8821907878804985,289019.4820212468,194182754727.3318,0.9110077555051489,0.8370457190800484,1519618.2449450335,1023278857300.5536,500000.0,996890.1095285104,731234.0968812213,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,CA,06,1m_plus,1000000.0,inf,132720.0,400221114000.0,0.007180924452043306,0.19515317391356118,18487690.0,1987000701000.0,132758.70518279652,434436000817.56104,192,94812.40991074959,158576520128.28314,1672529.1581297962,1000116.3271681498,12209070.01218226,0.03339308075558702,433.7233333333333,0.0762440688447585,189624.81982149917,317153040256.5663,867.4466666666666,108,53507.29216257929,69490312656.51846,3160005.48,102,50344.335864136316,64588769577.8262,300,148319.70207332887,228066832784.8016,1.1172126292517413,0.5249722222734874,145156.7457748859,223165289706.10934,1.0933877787902377,0.5136896787700298,741598.5103666444,1140334163924.008,1000000.68,12209070.01218226,3272372.988418218,True,True,True,True,,False,False,False,False,False,12209070.01218226,433.7233333333333,puf,299.0,147885.97873999557,222771474242.2179,0.5127831805443986,True,,False +current,CO,08,100k_200k,100000.0,200000.0,581520.0,81135957000.0,0.18838743954153614,0.25829961207762075,2972380.0,297676269000.0,559959.0575444712,86143028408.32648,574,316971.58528452064,44739515146.15635,141146.76905817023,100128.74413624065,199905.1461059306,0.004450698784424167,1138.1113674441156,0.006541070102047981,633943.1705690413,89479030292.3127,2276.222734888231,565,309786.1441913132,43285888407.5609,199191.36,554,301955.6431578521,42273761845.70089,1139,626757.7294758339,88025403553.71724,1.1192920643596476,1.0218517409960108,618927.2284423728,87013276991.85724,1.1053080044039083,1.0101023681151038,3133788.6473791697,440127017768.5862,100000.0,199905.1461059306,153838.0837807684,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,CO,08,200k_500k,200000.0,500000.0,257510.0,74198170000.0,0.08342215152761895,0.23621288558745118,2972380.0,297676269000.0,247962.334757664,78777095907.74701,309,164651.8285019213,47314373663.4635,287360.1471295619,200022.8612490445,492850.46049752575,0.011352305544379427,1394.3763504611175,0.01795410271179161,329303.6570038426,94628747326.927,2788.752700922235,283,148922.4648858587,41937931417.28938,496561.36,265,138821.98294622503,38977830955.05299,592,313574.29338777997,89252305080.75288,1.264604536387509,1.1329727765704007,303473.81144814636,86292204618.5165,1.223870600124548,1.0953971281141177,1567871.4669388998,446261525403.7644,200000.0,496561.36,317697.8309416897,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,CO,08,500k_1m,500000.0,1000000.0,38030.0,25370899000.0,0.012320082414645446,0.08076928666485682,2972380.0,297676269000.0,36619.96656764383,26936590805.255203,36,19368.320580069103,13272233771.77945,685254.7548927495,500527.9881819055,992496.8746961312,0.06357793775928834,934.0293876190427,0.10501639968536947,38736.641160138206,26544467543.5589,1868.0587752380854,17,8404.345746841505,5973596769.111459,980514.24,15,7530.3213818583345,5517635468.550416,53,27772.666326910607,19245830540.890903,0.758402285147076,0.7144865020237131,26898.64196192744,18789869240.329865,0.7345348585242613,0.6975592930885689,138863.33163455303,96229152704.45451,500527.9881819055,992496.8746961312,735571.1468359304,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,CO,08,1m_plus,1000000.0,inf,15610.0,47266883000.0,0.005056967827836324,0.15047604039499143,2972380.0,297676269000.0,15031.230032104131,50183822260.727684,26,13774.826201251435,31897551315.930576,2315640.9271452515,1059643.2702475048,12799359.136161376,0.20327034545438805,749.4883333333332,0.31641697953914316,27549.65240250287,63795102631.86115,1498.9766666666665,13,7617.498400192488,9824303047.565695,2027867.6,12,6978.775056734023,9017215747.798136,39,21392.32460144392,41721854363.49627,1.4231918848792535,0.8313805621806235,20753.601257985458,40914767063.728714,1.3806987993437212,0.8152979430534002,106961.6230072196,208609271817.48135,1000067.68,12799359.136161376,3338637.1011250336,True,True,True,True,,False,False,False,False,False,12799359.136161376,450.015,puf,38.0,20942.30960144392,35961950761.83661,0.7166044582056342,True,,False +current,CT,09,100k_200k,100000.0,200000.0,346700.0,48601609000.0,0.1902415469540501,0.21907630202483674,1823240.0,217323692000.0,346855.9980685023,53340200502.92582,460,184867.05130407994,25830688696.899445,139725.75704911118,100022.8089622065,199671.2530364865,0.006424939195261896,998.1333333333332,0.009007001488646556,369734.1026081599,51661377393.79889,1996.2666666666664,459,185776.04340216832,25801077183.39982,199435.0,449,182354.50644972283,25519256539.22057,919,370643.09470624826,51631765880.299255,1.0685791705209264,0.9679709748647672,367221.55775380274,51349945236.12001,1.0587147398306729,0.9626875180812896,1853215.4735312413,258158829401.49628,100000.35999999999,199671.2530364865,153781.97522878472,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,CT,09,200k_500k,200000.0,500000.0,164030.0,47639359000.0,0.0900066943953644,0.21473887007637185,1823240.0,217323692000.0,164103.80548940419,52284132422.259186,249,94018.22965393847,27975450637.716156,297553.4717116879,200022.8612490445,492270.076068887,0.009965432770368932,614.5616666666666,0.016995034695827332,188036.45930787694,55950901275.43231,1229.1233333333332,227,85390.16696983099,24679510270.717487,499145.6,207,75957.89480489532,22381042480.62805,476,179408.39662376948,52654960908.43365,1.093261646728561,1.007092562676178,169976.12445883377,50356493118.34421,1.03578417302339,0.9631314661904131,897041.9831188475,263274804542.16824,200000.0,499145.6,318604.0218039615,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,CT,09,500k_1m,500000.0,1000000.0,30840.0,20858997000.0,0.01692255352772687,0.09402388152843177,1823240.0,217323692000.0,30853.876493892738,22892721149.82712,52,19243.5407630594,13009493701.323248,676044.6978810024,506671.1578581003,955186.2522547613,0.04043632449823858,550.7366836810287,0.07399889051130078,38487.0815261188,26018987402.646496,1101.4733673620574,32,11135.513305922732,7194801114.931974,984077.32,28,9773.603153426993,6363961131.912221,84,30379.054068982132,20204294816.25522,0.9846106071953522,0.8825641427256801,29017.143916486395,19373454833.23547,0.9404699575507178,0.846271384971715,151895.27034491065,101021474081.2761,500097.04,984077.32,741972.281971069,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,CT,09,1m_plus,1000000.0,inf,16460.0,54752381000.0,0.009031946532632434,0.24680148257097687,1823240.0,217323692000.0,16467.406196156757,60090664499.452805,29,12269.494046019847,18599532732.52257,1515916.8473255956,1058898.312746815,5682359.768074059,0.08458204072279314,1440.483383892624,0.18620151518642755,24538.988092039694,37199065465.04514,2880.966767785248,14,6861.844757823652,8533555853.885227,1900719.0,13,6415.855937351987,7909842146.203199,43,19131.3388038435,27133088586.407795,1.161770018663198,0.45153583859361174,18685.349983371834,26509374878.72577,1.1346868936610497,0.44115629440188947,95656.69401921751,135665442932.03897,1058898.312746815,5682359.768074059,3649066.755484361,True,True,True,True,,False,False,False,False,False,5682359.768074059,251.72409917154155,puf,42.0,18879.61470467196,25702701692.620747,0.42773202637582414,False,mean_out_of_range,False +current,DC,11,100k_200k,100000.0,200000.0,70930.0,9850931000.0,0.20344184712462354,0.19717523234354584,348690.0,46825089000.0,70938.13767388498,10343872070.191944,705,42193.02174768815,5952128995.895037,141069.03818096808,100022.8089622065,199705.3618322828,0.004341352230314193,133.6334452278368,0.007200340978421511,84386.0434953763,11904257991.790073,267.2668904556736,749,44703.740416827386,6291486834.312745,199360.0,732,43723.6999656141,6136675175.55497,1454,86896.76216451553,12243615830.207783,1.224965371433842,1.1836588607365275,85916.72171330225,12088804171.450006,1.2111499474130043,1.1686923513184635,434483.8108225777,61218079151.03891,100000.0,199705.3618322828,145815.38801800142,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,DC,11,200k_500k,200000.0,500000.0,39740.0,11892240000.0,0.11398250394378316,0.2380338655387201,348690.0,46825089000.0,39744.55930015775,12487328272.629202,559,30312.660376939704,9134347480.341297,301337.7040073406,200022.8612490445,499563.59292011545,0.0054007612693559226,103.68257746415144,0.009309125331465048,60625.32075387941,18268694960.682594,207.36515492830287,565,29736.40816410325,9007774261.582886,499004.0,550,28895.857880358042,8766832321.177399,1124,60049.06854104295,18142121741.92418,1.5108751889168541,1.4528425413216404,59208.51825729775,17901179801.518696,1.4897263751283498,1.4335476260967719,300245.34270521475,90710608709.6209,200000.0,499563.59292011545,314189.6272725721,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,DC,11,500k_1m,500000.0,1000000.0,7580.0,5053560000.0,0.02174100100387208,0.1011515426472939,348690.0,46825089000.0,7580.869640040155,5306440390.155936,138,7080.137349600036,4769631638.704408,673663.7162800025,500390.9421719764,999311.053303031,0.02211688303863525,106.00333333333333,0.04268810948669263,14160.274699200072,9539263277.408815,212.00666666666666,92,4798.331639168806,3157532318.5834823,999276.08,83,4290.029278889504,2833157333.908137,230,11878.46898876884,7927163957.28789,1.5669005737850836,1.4938760024504754,11370.16662848954,7602788972.612545,1.4998499075139502,1.4327474566032254,59392.344943844204,39635819786.43945,500390.9421719764,999311.053303031,699977.7917468356,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,DC,11,1m_plus,1000000.0,inf,3370.0,13410961000.0,0.009665854008317798,0.2684324305109062,348690.0,46825089000.0,3370.386634160333,14082046145.926048,62,3042.826455155004,4839071551.001659,1590321.2431992455,1006871.3658668868,8513195.821391072,0.07039394614091843,40.01333333333333,0.16736469287796588,6085.652910310008,9678143102.003319,80.02666666666666,31,1486.619741959795,1744852275.947395,1397627.4,29,1384.8288182107954,1618982538.2589602,93,4529.446197114799,6583923826.949055,1.3438951339311918,0.46754028205295944,4427.655273365799,6458054089.26062,1.3136935770186093,0.4586019689424851,22647.230985573995,32919619134.745274,1001373.6,8513195.821391072,4178169.3539840183,True,True,True,True,,False,False,False,False,False,8513195.821391072,40.01333333333333,puf,92.0,4489.432863781466,6243282484.815792,0.4433505202382809,False,mean_out_of_range,False +current,DE,10,100k_200k,100000.0,200000.0,96120.0,13335670000.0,0.18944007568142848,0.2987687403274699,503140.0,42387377000.0,95314.87967835393,14188087771.962938,431,46071.43744173074,6406521207.618534,139056.24750087815,100022.8089622065,199951.77309552,0.006050437376179226,197.53405193113318,0.01056412595962409,92142.87488346148,12813042415.237068,395.06810386226636,421,44734.70315344065,6206422753.347822,198540.0,407,43185.319498549936,5944968520.112755,852,90806.1405951714,12612943960.966356,0.9526963775393983,0.8889812470635245,89256.75694028067,12351489727.731289,0.9364409548801113,0.8705535182929338,454030.70297585696,63064719804.83178,100000.0,199951.77309552,148854.90932624092,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,DE,10,200k_500k,200000.0,500000.0,33790.0,9489115000.0,0.06659571532746014,0.21259156348143737,503140.0,42387377000.0,33506.96820985829,10095660472.870888,191,19806.610922011758,5640482550.381711,284777.7730673374,200241.51142191066,499889.6311303404,0.019662434016984625,223.08999999999997,0.03947664399056472,39613.221844023516,11280965100.763422,446.17999999999995,142,13873.901748808064,3838078236.9062347,494469.99999999994,129,12681.743888077443,3554916794.9167633,333,33680.51267081982,9478560787.287947,1.0051793543323466,0.9388747583933499,32488.3548100892,9195399345.298473,0.9695999532578002,0.9108269211319456,168402.5633540991,47392803936.439735,200241.51142191066,499889.6311303404,301300.3268347203,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,DE,10,500k_1m,500000.0,1000000.0,3930.0,2611383000.0,0.007745521196712588,0.058504717754906156,503140.0,42387377000.0,3897.0815349139716,2778302943.1751003,33,3373.081785585052,2311234627.5619383,685199.7000010662,501438.89817015256,960345.4257186694,0.062429393140567786,214.77999999999997,0.09477980115370317,6746.163571170104,4622469255.123877,429.55999999999995,22,2330.1882000196833,1672728530.491612,987894.04,20,2099.1573298548387,1485163557.852753,55,5703.269985604736,3983963158.0535507,1.4634720712176825,1.4339556339023987,5472.23911543989,3796398185.414691,1.4041890236101233,1.3664450072806282,28516.34992802368,19919815790.267754,501438.89817015256,987894.04,712918.8646129858,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,DE,10,1m_plus,1000000.0,inf,1660.0,4274659000.0,0.003271645085634325,0.0957683029618671,503140.0,42387377000.0,1646.0955083860542,4547895762.808417,15,1311.652436586355,1821797829.901627,1388933.3630507733,1015993.9897446156,3706865.645664881,0.1449781136088547,132.83313035825407,0.35356977571962256,2623.30487317271,3643595659.803254,265.66626071650813,3,300.74242827208656,332685138.92891496,1110687.2,3,300.74242827208656,332685138.92891496,18,1612.3948648584417,2154482968.8305416,0.9795269209132008,0.47373182702413236,1612.3948648584415,2154482968.830542,0.9795269209132007,0.47373182702413247,8061.974324292209,10772414844.152708,1015993.9897446156,3706865.645664881,2762838.3284196486,True,True,True,True,,False,False,False,False,False,3706865.645664881,66.63499999999999,puf,17.0,1545.7598648584415,1907475976.5316625,0.41941945814381587,False,mean_out_of_range,False +current,FL,12,100k_200k,100000.0,200000.0,1654530.0,228173416000.0,0.14748833129494993,0.20737743283796525,11130320.0,1121782194000.0,1641592.323578807,260628679766.27945,1647,924101.7038113233,127366449349.46811,137827.3071288189,100003.6626126777,199925.49749403913,0.0016460299763075704,1225.1666666666665,0.002574925434552909,1848203.4076226465,254732898698.93622,2450.333333333333,1521,841240.0879100991,114870119698.90913,199720.0,1489,824152.7265724783,112083992411.82726,3168,1765341.791721422,242236569048.37726,1.0753838004510345,0.9294317465967465,1748254.4303838015,239450441761.29535,1.0649747841001487,0.918741720888216,8826708.95860711,1211182845241.8862,100000.0,199925.49749403913,158765.77638843204,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,FL,12,200k_500k,200000.0,500000.0,653190.0,189337847000.0,0.05822674905776767,0.17208138151346888,11130320.0,1121782194000.0,648082.3495726526,216269160353.89426,697,381235.2253376905,109298072195.23724,286694.5783890332,200002.27912743858,499429.4706585727,0.004060703071851622,950.8567807366323,0.007674668033259155,762470.450675381,218596144390.4745,1901.7135614732647,570,312084.2207247651,87291108727.91214,499187.0,531,287911.28375601093,80046701681.14584,1267,693319.4460624557,196589180923.14938,1.069801463532578,0.9090023774146007,669146.5090937014,189344773876.3831,1.032502288536231,0.8755051971651753,3466597.2303122785,982945904615.747,200000.0,499429.4706585727,333706.29596146656,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,FL,12,500k_1m,500000.0,1000000.0,120680.0,81928683000.0,0.010757672463282356,0.07446161018308743,11130320.0,1121782194000.0,119736.33697152088,93582174731.87158,104,57166.532689122745,38441662451.91199,672450.4818398126,500116.7625966445,994643.595776864,0.02035297286921242,821.9910568172833,0.03767413892464891,114333.06537824549,76883324903.82397,1643.9821136345665,67,36908.20610611791,23854214887.512848,990880.0,63,34629.17862378518,22305230036.673477,171,94074.73879524066,62295877339.424835,0.7856824517490977,0.6656810179707069,91795.71131290792,60746892488.585464,0.7666487353353845,0.6491288823179774,470373.69397620327,311479386697.12415,500000.0,994643.595776864,781568.7125465511,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,FL,12,1m_plus,1000000.0,inf,72950.0,290759506000.0,0.006502918513394497,0.2642593558204649,11130320.0,1121782194000.0,72379.56398800504,332116981490.41,84,47536.04887822464,63721079176.95933,1340479.0823107038,1000114.3062452227,2900503.852608288,0.03505574040426367,839.7783333333333,0.0861296674052359,95072.09775644928,127442158353.91866,1679.5566666666666,54,30008.071801161317,36469087480.217674,2289205.6,53,29591.052835820312,34715032797.49151,138,77544.12067938596,100190166657.177,1.0713537966633344,0.3016713153526901,77127.10171404495,98436111974.45084,1.0655922399149391,0.29638987905017206,387720.6033969298,500950833285.885,1000000.0,2900503.852608288,4588546.313230754,True,True,False,False,mean_out_of_range,False,False,False,False,False,2900503.852608288,707.1283333333333,puf,137.0,76836.99234605262,98139138202.05519,0.2954956948050216,False,mean_out_of_range,False +current,GA,13,100k_200k,100000.0,200000.0,745870.0,103159160000.0,0.15278460580436884,0.25090203433030794,4932040.0,405672589000.0,753539.7872113793,114033384485.3369,815,465837.15119356965,64845476325.75497,139202.02834747647,100022.8089622065,199487.4308680112,0.0032922691883861726,1194.8067553865367,0.005351524439468293,931674.3023871393,129690952651.50993,2389.6135107730734,781,448684.922117173,61051557246.18608,198791.87999999998,755,432160.23786974885,58819163510.420456,1596,914522.0733107426,125897033571.94106,1.2136347527117441,1.1040366305020934,897997.3890633185,123664639836.17542,1.1917053409834306,1.0844599622672513,4572610.366553713,629485167859.7053,100000.0,199487.4308680112,151330.2766763513,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,GA,13,200k_500k,200000.0,500000.0,295600.0,85038313000.0,0.06055093980957999,0.20682880441947638,4932040.0,405672589000.0,298639.6571784409,94002380809.55121,357,205403.53800598654,59535325710.63588,289845.6681349895,200022.8612490445,495980.06135828735,0.009043949240379446,1166.8,0.016531063494639252,410807.0760119731,119070651421.27176,2333.6,314,179992.70963018353,50308444633.98255,493148.68,302,172485.23402965543,47911419304.88381,671,385396.2476361701,109843770344.61842,1.2905059270339676,1.1685211523223211,377888.77203564194,107446745015.51968,1.2653670165776032,1.143021528712201,1926981.2381808506,549218851723.0921,200000.0,495980.06135828735,314768.5799591701,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,GA,13,500k_1m,500000.0,1000000.0,46120.0,30879362000.0,0.009447257591399964,0.07510428298002819,4932040.0,405672589000.0,46594.25233108828,34134420633.203114,45,24604.007766956776,17568261242.68076,714040.6314728515,509552.9945575485,970189.0212030772,0.04647447884441983,975.2592026218372,0.07259821434684328,49208.01553391355,35136522485.36152,1950.5184052436744,22,12141.545032925364,8040918646.224129,950002.72,21,11540.338099378281,7661431959.566891,67,36745.55279988214,25609179888.904892,0.7886284458172331,0.7502450433857495,36144.34586633506,25229693202.24765,0.7757254180086733,0.7391276235023105,183727.7639994107,128045899444.52446,509552.9945575485,970189.0212030772,732588.6547261579,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,GA,13,1m_plus,1000000.0,inf,19740.0,54395277000.0,0.004043557347229733,0.13229930970027876,4932040.0,405672589000.0,19942.986578830933,60129197798.11509,29,15962.91376751185,29456592062.180397,1845314.2384400547,1019020.1381115605,6844139.547866784,0.161855897299417,696.613958009246,0.3017049237943053,31925.8275350237,58913184124.360794,1393.227916018492,13,7714.510364479574,9881904400.343311,2204688.0,13,7714.510364479574,9677976068.38448,42,23677.424131991425,39338496462.523705,1.1872556820112652,0.6542328503134774,23677.424131991425,39134568130.56488,1.1872556820112652,0.6508413476920136,118387.12065995713,196692482312.61853,1019020.1381115605,6844139.547866784,3015054.8194191228,True,True,True,True,,False,False,False,False,False,6844139.547866784,696.613958009246,puf,41.0,22980.81017398218,34570773322.91661,0.574941535707638,True,,False +current,HI,15,100k_200k,100000.0,200000.0,131140.0,18094971000.0,0.1885658413136629,0.3085593459561336,689960.0,57676242000.0,130102.88787277487,19938286333.829025,681,60419.58802301266,8527318353.539846,141134.99665525617,100000.47583698324,199984.69795700983,0.005366191694994506,241.90101896799828,0.008957022941226854,120839.17604602531,17054636707.079693,483.80203793599657,657,58025.108337394835,7989147287.035843,199097.44,622,55609.94836761913,7662519665.630491,1338,118444.69636040748,16516465640.575687,0.9103925231562292,0.8283793985119182,116029.53639063178,16189838019.170338,0.8918290615047288,0.8119974679920839,592223.4818020375,82582328202.87843,100000.0,199984.69795700983,153250.1442498824,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,HI,15,200k_500k,200000.0,500000.0,41940.0,11726380000.0,0.06030540936933828,0.1999607594415645,689960.0,57676242000.0,41608.32024846864,12920933783.164724,265,23689.628108209396,6776412804.527717,286049.7756053596,200022.8612490445,495321.4056169557,0.01476260948907648,240.23546941364066,0.025504424322006513,47379.25621641879,13552825609.055433,480.4709388272813,234,21411.062785571296,5897939337.57342,484280.8,209,18954.235139513068,5198869283.318352,499,45100.690893780695,12674352142.101135,1.0839344300480525,0.9809161129372188,42643.86324772246,11975282087.84607,1.0248878828337689,0.9268124339008077,225503.45446890348,63371760710.50568,200000.0,495321.4056169557,310537.2604807393,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,HI,15,500k_1m,500000.0,1000000.0,5180.0,3457928000.0,0.007448307594973111,0.0589653336301783,689960.0,57676242000.0,5139.034308227648,3810183425.315505,38,3628.87666318882,2534405257.8605514,698399.3927292865,504407.317591102,986443.8392011463,0.05989467475157591,201.40381999561822,0.07758750140289469,7257.75332637764,5068810515.721103,402.80763999123644,25,2397.838828531912,1490610622.8952136,838873.24,21,2009.546823551051,1235271722.55535,63,6026.715491720732,4025015880.755765,1.1727330720621767,1.0563837567537764,5638.423486739871,3769676980.415901,1.0971756848777399,0.9893688989799094,30133.577458603657,20125079403.778824,500015.64,986443.8392011463,741420.118409282,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,HI,15,1m_plus,1000000.0,inf,1960.0,4917011000.0,0.0028182785494492856,0.08384593145902883,689960.0,57676242000.0,1944.499467978029,5417901649.28073,21,1797.8152711818884,3258978787.4411097,1812743.9674592644,1013858.0404003914,5889367.388632923,0.13771163162413377,76.20500753836217,0.25499834519718,3595.630542363777,6517957574.882219,152.41001507672433,7,613.4321207713836,753113714.0236222,1636020.3599999999,6,477.0269612482046,591362644.8267184,28,2411.2473919532717,4012092501.4647317,1.2400349970064977,0.7405251629101405,2274.842232430093,3850341432.267828,1.1698857571792334,0.7106702338863962,12056.236959766358,20060462507.323658,1013858.0404003914,5889367.388632923,2786270.574254509,True,True,True,True,,False,False,False,False,False,5889367.388632923,76.20500753836217,puf,27.0,2335.042384414909,3563293215.2177753,0.6576887964902115,True,,False +current,IA,19,100k_200k,100000.0,200000.0,289160.0,39515430000.0,0.19511470985155197,0.3096123710966054,1485900.0,122342275000.0,289920.94736842107,42437229693.794754,452,152749.10635171575,20862351492.175613,136579.2048834548,100022.8089622065,199680.66580881353,0.005153479817754399,617.1466251531662,0.008928905975516401,305498.2127034315,41724702984.35123,1234.2932503063323,445,146627.90501195047,19789247044.10143,199273.72,421,137885.79036792502,18649186669.65093,897,299377.0113636663,40651598536.27705,1.0326160081949125,0.9579230036832775,290634.89671964076,39511538161.82654,1.0024625655983126,0.9310583760278769,1496885.0568183314,203257992681.38522,100000.0,199680.66580881353,146375.17598846368,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,IA,19,200k_500k,200000.0,500000.0,81450.0,22945776000.0,0.05495951417004048,0.17978536774145143,1485900.0,122342275000.0,81664.34210526316,24642403400.75669,168,53790.805874353275,14939939358.618183,277741.5046265619,200022.8612490445,498939.53240676224,0.014776198414106562,533.8667564301948,0.027256863459332856,107581.61174870655,29879878717.236366,1067.7335128603895,152,48783.32315618465,13399748213.324036,496521.56,130,40493.122869561616,10983917063.350037,320,102574.12903053791,28339687571.94222,1.2560454953316418,1.1500374825887314,94283.92874391489,25923856421.96822,1.1545299492204986,1.0520019496625959,512870.64515268954,141698437859.7111,200000.0,498939.53240676224,301752.30419407884,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,IA,19,500k_1m,500000.0,1000000.0,10560.0,7062917000.0,0.007125506072874494,0.055339559236190085,1485900.0,122342275000.0,10587.78947368421,7585154230.567849,29,10427.388670153798,7059295439.998692,676995.5223980896,520795.4819815579,866112.0858101435,0.06789495547247545,553.3816666666667,0.10977437957321343,20854.777340307595,14118590879.997383,1106.7633333333333,22,7578.885975491559,5061501432.872723,862924.7200000001,21,7167.081798304885,4768488031.921668,51,18006.274645645357,12120796872.871414,1.7006642123362652,1.597963140159381,17594.470468458683,11827783471.92036,1.661769957949152,1.5593332860991667,90031.37322822679,60603984364.35707,506009.51999999996,866112.0858101435,716405.8417879044,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,IA,19,1m_plus,1000000.0,inf,4310.0,12915938000.0,0.0029082321187584347,0.10119930845031289,1485900.0,122342275000.0,4321.342105263158,13870951869.10055,20,5751.99318639244,9368599500.990181,1628757.0581887318,1007711.6137348005,4324684.688973256,0.10515124754741616,227.79,0.20940347370528012,11503.98637278488,18737199001.980362,455.58,6,1505.166018302784,1629998873.7575648,1135009.8800000001,5,1183.9390253177269,1288789383.3043323,26,7257.1592046952255,10998598374.747746,1.6793762280140705,0.7929231157703484,6935.932211710167,10657388884.294514,1.6050412216294057,0.7683242638910247,36285.79602347613,54992991873.73872,1000000.0,4324684.688973256,3209871.2694388367,True,True,True,True,,False,False,False,False,False,4324684.688973256,227.79,puf,25.0,7029.369204695225,10013478449.446527,0.7219027608157826,False,mean_out_of_range,False +current,ID,16,100k_200k,100000.0,200000.0,159150.0,21677262000.0,0.17990165602215566,0.28481408744373965,869500.0,72860958000.0,156424.48991126433,23249226666.845253,667,87970.10724733848,12064482011.096386,137142.97263700783,100052.53633010946,198969.09593800962,0.0038215363845289364,275.47666666666663,0.006243567257967032,175940.21449467697,24128964022.192772,550.9533333333333,632,81669.12376420545,11175965740.006195,199703.8,618,79452.94270355158,10815357806.358294,1299,169639.23101154395,23240447751.10258,1.0844800012311115,0.9996223996665149,167423.04995089007,22879839817.45468,1.0703122640570217,0.9841118651091592,848196.1550577197,116202238755.51291,100000.0,199703.8,148629.07131763033,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,ID,16,200k_500k,200000.0,500000.0,47390.0,13485953000.0,0.053569208161419773,0.17718978517693623,869500.0,72860958000.0,46578.42649635449,14463910530.556015,251,31655.652125887646,8898547708.977116,281104.5456776416,200032.50120716525,497094.7709658112,0.008795257739074356,211.80666666666664,0.016628121551717785,63311.30425177529,17797095417.95423,423.6133333333333,192,23925.113311583416,6406951213.829483,468017.68,175,21541.322914306416,5740160904.614752,443,55580.76543747106,15305498922.806599,1.193272714822626,1.0581853980963634,53196.97504019406,14638708613.591867,1.1420947215629444,1.0120851192121647,277903.8271873553,76527494614.03299,200032.50120716525,497094.7709658112,310528.1053598504,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,ID,16,500k_1m,500000.0,1000000.0,7030.0,4728593000.0,0.007946645566043067,0.062128229118043374,869500.0,72860958000.0,6909.608319674447,5071495213.383397,39,4565.403921316917,2976750046.058018,652023.3690953149,500572.84620823857,961825.7408979752,0.0376153404912161,179.91166666666666,0.07267683107079992,9130.807842633834,5953500092.116036,359.8233333333333,23,2642.522801931784,1659554053.6353104,838496.3200000001,21,2421.985951036863,1478866288.4481232,62,7207.926723248701,4636304099.693329,1.043174430412332,0.9141887953395632,6987.38987235378,4455616334.506142,1.0112570132894303,0.8785606900994435,36039.633616243504,23181520498.466644,500572.84620823857,961825.7408979752,733977.2355753945,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,ID,16,1m_plus,1000000.0,inf,3230.0,9952358000.0,0.003651161476290058,0.13076244415385124,869500.0,72860958000.0,3174.6849036342055,10674070692.672844,17,1890.7550550786266,3012385789.2305984,1593218.4241101125,1017837.6223271172,2515624.215820396,0.14178996395720642,175.765,0.22410323186289405,3781.510110157253,6024771578.461197,351.53,6,557.0538948074108,611984226.6540214,1227125.0799999998,5,455.44222814074413,506114453.9941895,23,2447.8089498860377,3624370015.88462,0.7710399690639912,0.3395489987126044,2346.1972832193705,3518500243.2247877,0.7390331180690003,0.32963059216387264,12239.044749430188,18121850079.4231,1017837.6223271172,2515624.215820396,3362245.7083705384,True,True,False,False,mean_out_of_range,False,False,False,False,False,2515624.215820396,97.11666666666666,puf,22.0,2350.692283219371,3380060977.458196,0.31666091360800336,False,mean_out_of_range,False +current,IL,17,100k_200k,100000.0,200000.0,1124270.0,156259052000.0,0.18429870202253673,0.2580538337054279,6112890.0,580846466000.0,1126597.6926065446,167928278048.45697,991,565649.8831294915,79979755209.48642,141394.4519302182,100001.34620662153,199819.3405481617,0.004050265929138861,1861.8793011197565,0.005883097108869577,1131299.766258983,159959510418.97284,3723.758602239513,978,555068.2338948403,77864770637.98871,199999.0,944,531713.0237536278,74373891884.4015,1969,1120718.1170243318,157844525847.47513,0.9947811222934342,0.9399520300084772,1097362.9068831191,154353647093.88794,0.974050376709199,0.9191641151072129,5603590.58512166,789222629237.3756,100000.0,199999.0,149057.89276021943,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,IL,17,200k_500k,200000.0,500000.0,447940.0,128317099000.0,0.07342965709658276,0.2119091272031327,6112890.0,580846466000.0,448867.4165691298,137899655753.98077,566,310462.94210167596,89927633496.01987,289656.57829322753,200022.8612490445,499603.03876276937,0.005259207274814485,1904.0721701157122,0.009632758861603056,620925.8842033519,179855266992.03973,3808.1443402314244,500,269212.6072215666,76953903012.37225,496893.39999999997,479,256675.23631648495,73209603898.05162,1066,579675.5493232426,166881536508.39212,1.2914181959428708,1.2101664474501397,567138.1784181609,163137237394.07147,1.2634870732053154,1.1830141018271698,2898377.746616213,834407682541.9606,200007.4,499603.03876276937,307216.898940899,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,IL,17,500k_1m,500000.0,1000000.0,68110.0,45643960000.0,0.011165097881073921,0.07537866582921034,6112890.0,580846466000.0,68251.01518623796,49052592525.08871,95,53428.97775665324,36970717043.70102,691960.029856593,501589.85893143463,989108.8972648594,0.02290315162405439,858.6066666666666,0.04070137657212745,106857.95551330649,73941434087.40204,1717.2133333333331,57,35179.73768955142,23345894588.96895,967990.64,52,32299.56879911755,21153391995.56748,152,88608.71544620466,60316611632.66997,1.298276885763768,1.2296314736437244,85728.5465557708,58124109039.26849,1.256077236680532,1.1849344967758844,443043.5772310233,301583058163.34985,500000.0,989108.8972648594,718708.6139486406,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,IL,17,1m_plus,1000000.0,inf,30430.0,100562853000.0,0.004988311973588011,0.16607440921250047,6112890.0,580846466000.0,30493.00238022642,108072758178.0677,38,22194.912091288603,37037188095.49689,1668724.2527999831,1005940.8280579578,10734942.579096384,0.11476943512610359,395.9720441035869,0.2597152290647933,44389.824182577206,74074376190.99377,791.9440882071738,16,8210.685328902198,9906596365.950151,2212967.96,14,7103.068518632262,8613522720.815596,54,30405.597420190803,46943784461.44705,0.9971336059681583,0.4343720402147914,29297.980609920865,45650710816.312485,0.960809966975227,0.42240719665075455,152027.98710095402,234718922307.23526,1005940.8280579578,10734942.579096384,3544182.26288366,True,True,True,True,,False,False,False,False,False,10734942.579096384,395.9720441035869,puf,53.0,30009.625376087217,42693047305.06762,0.3950398604125915,True,,False +current,IN,18,100k_200k,100000.0,200000.0,544590.0,74363014000.0,0.16798326922543053,0.2906339906727545,3246780.0,246316586000.0,545404.7188557433,80203298479.47289,600,303010.2088776317,42107156670.01579,138962.8317342286,100073.33203538264,199840.5968117291,0.004112729219275593,898.2449623373053,0.007063892203764818,606020.4177552634,84214313340.03159,1796.4899246746106,570,289102.28181436524,39368718092.246445,199933.96000000002,559,282294.831222997,38461947866.13081,1170,592112.4906919969,81475874762.26224,1.085638738026041,1.015866882122249,585305.0401006287,80569104536.1466,1.0731572717753455,1.0045609851914925,2960562.4534599846,407379373811.31116,100000.0,199933.96000000002,147052.8136385381,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,IN,18,200k_500k,200000.0,500000.0,153020.0,43024986000.0,0.047200278846242824,0.16815514470432025,3246780.0,246316586000.0,153248.9213524043,46404060414.13467,241,122230.51544655378,34556580317.390564,282716.47379660024,200024.88217197155,496699.5541453555,0.010942699944246454,896.5583333333333,0.021800164779145186,244461.03089310756,69113160634.78113,1793.1166666666666,204,101039.34454922189,27006558097.418324,474605.68,186,91002.36855179993,24321364082.601013,445,223269.85999577568,61563138414.80888,1.456909830264674,1.3266756802182071,213232.8839983537,58877944399.99158,1.3914152355305198,1.268810183301489,1116349.2999788783,307815692074.04443,200000.0,496699.5541453555,302801.87295691296,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,IN,18,500k_1m,500000.0,1000000.0,20910.0,14090422000.0,0.006449861656482404,0.05506979015298082,3246780.0,246316586000.0,20941.281829033942,15197048379.019861,43,20865.72980764809,14435611728.189266,691833.5405118713,506939.38246615126,998834.8484364243,0.0412587101017905,700.9549999999999,0.061997988608464456,41731.45961529618,28871223456.378532,1401.9099999999999,21,11282.35322345437,7795386119.12309,960002.7200000001,21,10860.394978208626,7581034197.820257,64,32148.083031102462,22230997847.312355,1.5351535447333937,1.4628497121851072,31726.124785856715,22016645926.00952,1.5150039546227863,1.448744873142892,160740.4151555123,111154989236.56177,505776.0,998834.8484364243,725698.0973318445,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,IN,18,1m_plus,1000000.0,inf,9520.0,27067715000.0,0.002936522380187111,0.10578912292127882,3246780.0,246316586000.0,9534.242133543908,29193545400.167686,14,7308.555734009777,9980915592.905558,1365648.1466591503,1001844.7482272278,2695116.7356674112,0.13721259927277923,508.14399001742794,0.3223231252857058,14617.111468019553,19961831185.811115,1016.2879800348559,4,2045.8786765715263,2518870474.7219377,1509979.0,3,1697.6552551506034,2138553358.177967,18,9354.4344105813,12499786067.627495,0.9811408478572199,0.42816951131792635,9006.21098916038,12119468951.083525,0.9446173972731634,0.41514207284374277,46772.1720529065,62498930338.137474,1001844.7482272278,2695116.7356674112,3061968.1135910433,True,True,False,False,mean_out_of_range,False,False,False,False,False,2695116.7356674112,508.14399001742794,puf,17.0,8846.290420563873,11130278696.00271,0.38125820428575896,False,mean_out_of_range,False +current,KS,20,100k_200k,100000.0,200000.0,242000.0,33272131000.0,0.1771466217700022,0.28385483932929817,1361370.0,112582214000.0,241162.0964790279,35802904142.43161,463,130017.36831946508,18301152941.57055,140759.29376299074,100005.38244142872,199900.1402588673,0.005521419483657586,560.3225725900149,0.008494536800805594,260034.73663893016,36602305883.1411,1120.6451451800299,462,129546.18255843362,17861790953.25487,199944.2,452,126394.43947768642,17366356245.908684,925,259563.5508778987,36162943894.825424,1.076303261032859,1.0100561605550629,256411.8077971515,35667509187.47923,1.063234279104261,0.9962183247924876,1297817.7543894935,180814719474.12714,100000.0,199944.2,148459.91416211263,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,KS,20,200k_500k,200000.0,500000.0,79430.0,22503048000.0,0.05814362052558378,0.19198046180028217,1361370.0,112582214000.0,79154.98067491398,24214693986.884617,219,59351.789388877514,17208136902.61589,289934.5930392569,200021.1902699606,499906.97585749795,0.009922096721892523,388.27427329661987,0.01884909284320217,118703.57877775503,34416273805.23178,776.5485465932397,185,50806.19715892726,14130555077.575089,496663.0,170,46412.426523912145,12908869932.99216,404,110157.98654780476,31338691980.190975,1.391674732386314,1.2942014463269667,105764.21591278966,30117006835.60805,1.336166277990246,1.2437492231749985,550789.9327390238,156693459900.95486,200000.0,499906.97585749795,305914.9756644285,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,KS,20,500k_1m,500000.0,1000000.0,11280.0,7597910000.0,0.008257082204816631,0.06482011994628381,1361370.0,112582214000.0,11240.944001171218,8175828696.178868,48,13460.774584557428,9145231576.18503,679398.612519423,502331.84746200434,986409.3461172989,0.044047370093606604,518.7666666666667,0.06799494446209461,26921.549169114856,18290463152.37006,1037.5333333333333,32,8733.820875123278,6018510313.03398,954750.0,29,8038.456878923409,5444078842.401502,80,22194.595459680706,15163741889.219011,1.9744423117282859,1.854703963685795,21499.231463480835,14589310418.586533,1.912582382871117,1.7844442393228137,110972.97729840354,75818709446.09506,502331.84746200434,986409.3461172989,727325.8095874343,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,KS,20,1m_plus,1000000.0,inf,4950.0,13690751000.0,0.0036234536271136813,0.1168000307946139,1361370.0,112582214000.0,4932.861064343752,14732108553.278406,19,5719.022656528867,8334937109.094378,1457405.8558028564,1001301.3855404691,3711087.1121718395,0.10646006029305367,239.10457511564618,0.24780371981262925,11438.045313057733,16669874218.188757,478.20915023129237,11,3610.33745853609,4428177298.975367,2204149.4,9,2971.522695478685,3714064120.705836,30,9329.360115064954,12763114408.069746,1.8912675612334713,0.8663467528705868,8690.545352007552,12049001229.800215,1.76176568499476,0.8178735030511904,46646.80057532477,63815572040.34873,1000000.0,3711087.1121718395,2986524.120812291,True,True,True,True,,False,False,False,False,False,3711087.1121718395,239.10457511564618,puf,29.0,9090.255539949309,11875776500.896746,0.8061151910433061,False,mean_out_of_range,False +current,KY,21,100k_200k,100000.0,200000.0,307990.0,41822750000.0,0.15548375697301664,0.2862417243031326,1975890.0,139288462000.0,307218.80056541384,44668384961.681015,345,180468.40937073,25090746910.098072,139031.24096669475,100022.8089622065,199858.54238996774,0.007165120671764464,966.1477159275163,0.01243616751225298,360936.81874146,50181493820.196144,1932.2954318550326,313,159783.4234977507,22074359978.401188,199723.47999999998,304,154040.99598495517,21199810263.109367,658,340251.8328684807,47165106888.49926,1.107522821657633,1.0558946093296202,334509.40535568516,46290557173.20744,1.088831167689103,1.0363158912711534,1701259.1643424034,235825534442.4963,100000.0,199858.54238996774,145396.00076385983,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,KY,21,200k_500k,200000.0,500000.0,83860.0,23695359000.0,0.04233536108236363,0.16217490284932848,1975890.0,139288462000.0,83650.01660903147,25307599754.134605,133,64326.355856029295,18271554054.030205,284044.60055104486,200022.8612490445,490840.04015901673,0.019023367324825825,929.0749999999999,0.037944916804145336,128652.71171205859,36543108108.06041,1858.1499999999999,96,47407.887953878075,12762765505.992966,490000.0,90,44522.38000524137,11883294650.45689,229,111734.24380990739,31034319560.023174,1.335734867001135,1.2262845888793927,108848.73586127066,30154848704.487095,1.3012398595210626,1.1915333337591834,558671.219049537,155171597800.11588,200000.0,490840.04015901673,302541.47912987036,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,KY,21,500k_1m,500000.0,1000000.0,12010.0,8063977000.0,0.006063053739556251,0.055191174210705955,1975890.0,139288462000.0,11979.9272534518,8612652897.24233,24,13063.82602219843,8766625656.914425,671061.1150223466,507905.37236372224,931916.2428299778,0.07602010925902072,723.38,0.13637092931937023,26127.65204439686,17533251313.82885,1446.76,10,5004.718709375211,3426964446.348623,992887.48,8,3936.0231091447367,2549562509.5710306,34,18068.54473157364,12193590103.263046,1.5082349290866948,1.4157763291688312,16999.849131343166,11316188166.485455,1.4190277429643794,1.313902731423063,90342.72365786819,60967950516.31523,507905.37236372224,992887.48,718923.6391031297,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,KY,21,1m_plus,1000000.0,inf,4810.0,12629941000.0,0.0024282504985233613,0.08644137675515912,1975890.0,139288462000.0,4797.955877527324,13489286731.057106,9,4513.199266664901,7873612227.040142,1744574.4718598411,1106568.1488193297,2777707.0692796027,0.20821342199232354,599.0749999999999,0.310073033421616,9026.398533329802,15747224454.080284,1198.1499999999999,8,3950.5880523930173,4899587691.457986,1623080.0,6,2954.345382064018,3457964152.1932836,17,8463.787319057918,12773199918.498127,1.7640402569562221,0.9469144049766327,7467.544648728919,11331576379.233425,1.556401275740242,0.8400426653504318,42318.93659528959,63865999592.49063,1018499.0,2777707.0692796027,2811465.3563694186,True,True,False,False,mean_out_of_range,False,False,False,False,False,2777707.0692796027,586.1333726906497,puf,16.0,7877.653946367267,11145093105.634613,0.8262181187070974,False,mean_out_of_range,False +current,LA,22,100k_200k,100000.0,200000.0,282520.0,38919889000.0,0.1461910232129736,0.27466789367064565,1970500.0,140655941000.0,288069.41124116443,43283078822.52269,679,160158.3921362587,21934393969.53286,136954.3842003086,100022.8089622065,199745.87862902423,0.0038396199790769778,581.0566666666666,0.006407747315185883,320316.7842725174,43868787939.06572,1162.1133333333332,643,150847.6107965033,20362126917.837067,199959.83,633,148409.45950273113,20017343684.4487,1322,311006.002932762,42296520887.36992,1.0796217536349102,0.9772068447533957,308567.8516389899,41951737653.98156,1.0711579903937272,0.9692410705347431,1555030.0146638101,211482604436.8496,100000.0,199959.83,150252.2556492025,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,LA,22,200k_500k,200000.0,500000.0,87420.0,24600044000.0,0.04523580365736285,0.17360898099388733,1970500.0,140655941000.0,89137.1511068335,27357879758.84326,260,62726.43829464358,17831081879.2617,284267.4056432813,200022.8612490445,499589.0132763756,0.012067513517596575,455.8883333333333,0.023458944820005448,125452.87658928716,35662163758.5234,911.7766666666666,203,49676.17541415269,13767850356.788845,489280.0,185,44940.538829973004,12339902984.455593,463,112402.61370879627,31598932236.05054,1.261007473461637,1.1550212412142935,107666.97712461659,30170984863.717293,1.2078799444192978,1.102826137466472,562013.0685439813,157994661180.25272,200000.0,499589.0132763756,306918.93805371947,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,LA,22,500k_1m,500000.0,1000000.0,12570.0,8472356000.0,0.0065043931820298675,0.05979164475386497,1970500.0,140655941000.0,12816.906765189853,9422165940.927351,31,7843.982146231313,5490980682.709696,700024.6278413407,505878.11565128766,975201.229713439,0.07800731950742419,567.9583333333333,0.11245461402938073,15687.964292462626,10981961365.419392,1135.9166666666665,13,3653.5785283536916,2270411229.3165565,842372.4,11,3264.795917321522,1950367411.2790713,44,11497.560674585004,7761391912.026252,0.8970620513376805,0.8237375525634564,11108.778063552836,7441348093.988768,0.8667284756821186,0.7897704350191452,57487.80337292502,38806959560.131256,505878.11565128766,975201.229713439,735135.7167173544,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,LA,22,1m_plus,1000000.0,inf,5660.0,15655732000.0,0.002928788019911619,0.11048661861065752,1970500.0,140655941000.0,5771.176793235845,17410848272.981735,15,3695.0804177980735,5356784134.457938,1449707.0506655134,1047228.0213784353,2513333.4823540393,0.16274302688417483,346.8617557230341,0.31589115642040816,7390.160835596147,10713568268.915876,693.7235114460682,9,2193.627312757084,2595677022.991792,1335409.0399999998,9,2193.627312757084,2561082394.9514256,24,5888.7077305551575,7952461157.449732,1.0203651597464602,0.4567532283760356,5888.7077305551575,7917866529.409364,1.0203651597464602,0.45476627015906856,29443.538652775787,39762305787.24866,1029302.92,2513333.4823540393,3016862.746847101,True,True,False,False,mean_out_of_range,False,False,False,False,False,2513333.4823540393,346.8617557230341,puf,23.0,5541.845974832124,7080681893.042921,0.4066821892894655,False,mean_out_of_range,False +current,MA,25,100k_200k,100000.0,200000.0,700180.0,98269106000.0,0.19472541041735614,0.22552595106228232,3567790.0,422208182000.0,694739.3720329391,106678115746.86644,915,353255.5489001124,49967054687.61447,141447.33138146205,100022.9793017205,199550.66214680093,0.0027517848730131845,756.3871391159697,0.0042854878021520385,706511.0978002248,99934109375.22894,1512.7742782319394,926,354457.62711418327,50001493504.55617,198768.16,897,341432.0264249782,48019467406.215164,1841,707713.1760142957,99968548192.17064,1.0186743468178474,0.9371045550652887,694687.5753250907,97986522093.82964,0.9999254444041412,0.9185250546263786,3538565.8800714784,499842740960.8532,100000.0,199550.66214680093,153551.27410543332,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MA,25,200k_500k,200000.0,500000.0,368850.0,108127103000.0,0.1025800046165869,0.2481498889354337,3567790.0,422208182000.0,365983.91467101255,117379673823.50407,610,223120.5306164979,65322386825.095764,292767.26191267726,200022.8612490445,499803.70271637384,0.004148589882392309,556.6775680650592,0.007774507284849233,446241.0612329958,130644773650.19153,1113.3551361301184,574,208996.42190605734,60194350034.020294,492552.04,554,200765.82346895617,57422848223.63899,1184,432116.95252255525,125516736859.11606,1.1806993018012568,1.069322590279533,423886.3540854541,122745235048.73476,1.1582103395623022,1.0457111614852375,2160584.7626127764,627583684295.5803,200000.0,499803.70271637384,320723.5867975731,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MA,25,500k_1m,500000.0,1000000.0,66250.0,44351516000.0,0.01842463143784433,0.10178598579042769,3567790.0,422208182000.0,65735.21579762662,48146730442.393555,104,39859.74792853043,27827114393.410408,698125.6992218102,500493.9984578896,994293.4035741941,0.02100575552499077,614.9566666666666,0.03567383882052045,79719.49585706086,55654228786.820816,1229.9133333333332,68,26378.64011458181,17967451934.519325,959000.0,67,26133.767839499196,17770644682.330177,172,66238.38804311224,45794566327.92973,1.0076545309752187,0.951145922207986,65993.51576802963,45597759075.740585,1.0039294002045756,0.9470582666105904,331191.9402155612,228972831639.64868,500000.0,994293.4035741941,732434.3558956096,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MA,25,1m_plus,1000000.0,inf,27450.0,86021156000.0,0.007634054837265312,0.197417111115033,3567790.0,422208182000.0,27236.704507846807,93382093416.49301,59,21394.14170482656,37846950080.93406,1769033.3458152104,1000116.3271681498,13407072.314569894,0.11419719548563174,322.36833333333334,0.2430981466606188,42788.28340965312,75693900161.86812,644.7366666666667,33,11448.731351926657,13093022402.569166,1602093.2799999998,30,10163.253045717212,11425566969.617464,92,32842.87305675322,50939972483.50323,1.2058313826950426,0.5455004339676356,31557.394750543775,49272517050.55152,1.1586348393012154,0.5276441686822271,164214.3652837661,254699862417.51614,1000116.3271681498,13407072.314569894,3428538.6247660737,True,True,True,True,,False,False,False,False,False,13407072.314569894,322.36833333333334,puf,91.0,32520.504723419883,46617956926.57585,0.49921730409978426,True,,False +current,MD,24,100k_200k,100000.0,200000.0,624880.0,87558352000.0,0.20155988929817883,0.28072111339962047,3095140.0,295351996000.0,623856.0757623652,92889613494.59271,524,313139.65574345295,44324104625.972275,141547.40165610274,100030.42681786275,198994.900902133,0.005551687901852989,1364.8844544361211,0.00842305755026962,626279.3114869059,88648209251.94455,2729.7689088722423,533,319689.03600272216,44882167930.06517,199973.28,518,309993.31778749294,43518492436.12248,1057,632828.691746175,89206272556.03745,1.0143825095761791,0.9603471174011324,623132.9735309458,87842597062.09476,0.9988409149810142,0.945666514881217,3164143.4587308755,446031362780.18726,100000.0,199973.28,148895.90260234245,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MD,24,200k_500k,200000.0,500000.0,284340.0,80616057000.0,0.0917160717626491,0.25846339911613764,3095140.0,295351996000.0,283874.0823554458,85524615358.08778,314,183140.88188568823,53836697309.41739,293963.29620723816,200022.8612490445,497290.3522044612,0.007760751724204338,882.8774527978507,0.014018505823905191,366281.76377137646,107673394618.83478,1765.7549055957013,293,169110.56510708347,48279130387.76268,481441.36,278,159007.93961341726,45125331531.30245,607,352251.4469927717,102115827697.18005,1.2408721644116454,1.1939934166277812,342148.8214991055,98962028840.71985,1.2052837605325746,1.157117496832581,1761257.2349638585,510579138485.90027,200000.0,497290.3522044612,301276.58942460374,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MD,24,500k_1m,500000.0,1000000.0,33480.0,22263897000.0,0.010799233602776577,0.07138035163629473,3095140.0,295351996000.0,33425.13989329789,23619503336.625412,47,28430.48789744338,18410045064.534725,647545.871563824,505102.24012740917,981667.1451812948,0.048242312551644476,929.8649999999999,0.10088932381031793,56860.97579488676,36820090129.06945,1859.7299999999998,24,14349.299746093257,9302786856.077919,986351.36,23,13825.443435746954,8825300785.583239,71,42779.787643536634,27712831920.61264,1.2798686192518958,1.1733029067397847,42255.93133319034,27235345850.117966,1.2641960951571998,1.1530871526788489,213898.93821768317,138564159603.0632,505000.0,986351.36,706638.8775641709,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MD,24,1m_plus,1000000.0,inf,13290.0,37103420000.0,0.004286792550206114,0.11895739395978748,3095140.0,295351996000.0,13268.223093844952,39362576663.47513,19,11951.044229227253,18821927701.776955,1574919.089977627,1008466.8442928717,4534222.058596091,0.1655356613723337,1431.0118041626388,0.24519240545758958,23902.088458454506,37643855403.55391,2862.0236083252776,9,5481.166716522772,6390315793.421815,1737229.24,9,5481.166716522772,6287755805.684367,28,17432.210945750026,25212243495.198772,1.3138316127527825,0.6405130362970732,17432.210945750026,25109683507.461323,1.3138316127527825,0.6379075161195129,87161.05472875014,126061217475.99387,1007937.3200000001,4534222.058596091,2966680.34484099,True,True,True,True,,False,False,False,False,False,4534222.058596091,331.69908519724885,puf,27.0,17100.51186055277,23708246186.28126,0.6023042238563703,True,,False +current,ME,23,100k_200k,100000.0,200000.0,121480.0,16599287000.0,0.1705940176941441,0.28817562204511815,710860.0,54409847000.0,121268.46341805927,17566567623.817863,274,67036.28555101092,9197994586.82236,137209.19217433655,100051.49237993041,199412.42634606175,0.011032552888318328,513.045096293916,0.02011447056211288,134072.57110202184,18395989173.64472,1026.090192587832,271,65324.50880750058,8741707679.875284,199375.8,257,61842.359773125776,8306798966.109192,545,132360.7943585115,17939702266.697643,1.0914692132464208,1.0212411810246789,128878.6453241367,17504793552.93155,1.0627548308239232,0.9964834296483419,661803.9717925575,89698511333.48822,100000.0,199412.42634606175,144856.85007205143,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,ME,23,200k_500k,200000.0,500000.0,36740.0,10449572000.0,0.051593877264429155,0.18141212397889436,710860.0,54409847000.0,36676.02359219211,11058493848.437809,135,29643.697258714856,8269462948.260485,278961.9282672094,200038.92481577396,492306.61385428696,0.015582184775400245,300.37602187165896,0.02938454515500035,59287.39451742971,16538925896.52097,600.7520437433179,106,23165.522222652075,6250686146.172866,488958.16000000003,100,21390.444159144095,5891584999.905234,241,52809.219481366934,14520149094.43335,1.4398839980190596,1.3130313488834247,51034.14141785895,14161047948.165718,1.391485128958296,1.2805584686531426,264046.09740683465,72600745472.16675,200006.8,492306.61385428696,301518.3426480299,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,ME,23,500k_1m,500000.0,1000000.0,5300.0,3531289000.0,0.007442774891166971,0.06130572983020796,710860.0,54409847000.0,5290.770959134953,3737065755.760724,21,4612.741565007833,3111463635.8683376,674536.7352621356,506653.94648768334,936851.8979041673,0.09501589086813966,400.8546125947651,0.14335253229054498,9225.483130015666,6222927271.736675,801.7092251895302,9,1997.3849975888597,1168399985.2613864,704689.3200000001,5,1266.2313907931666,758437874.2582055,30,6610.126562596692,4279863621.129725,1.249369253300176,1.145247073732185,5878.972955800999,3869901510.126543,1.111175101173198,1.0355454688376975,33050.63281298346,21399318105.648624,503285.24,936851.8979041673,706336.7105900458,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,ME,23,1m_plus,1000000.0,inf,2060.0,5352577000.0,0.0028928521275101812,0.09292460613033514,710860.0,54409847000.0,2056.4128633618875,5664484615.043534,9,2296.8036651420935,3698062203.9770403,1610090.692600953,1103152.7890726235,4230760.9155691145,0.3391395579979028,296.4382072951093,0.6834719985411797,4593.607330284187,7396124407.954081,592.8764145902186,6,1499.4285774949976,1689945957.7689548,1387557.96,6,1499.4285774949976,1689945957.7689548,15,3796.2322426370915,5388008161.745995,1.8460457577720524,0.951191242966168,3796.232242637091,5388008161.745995,1.8460457577720522,0.951191242966168,18981.161213185456,26940040808.729973,1099999.0,4230760.9155691145,2754546.3831533613,True,True,True,True,,False,False,False,False,False,4230760.9155691145,296.4382072951093,puf,14.0,3499.794035341982,4133848980.4404716,0.7297837775853331,False,mean_out_of_range,False +current,MI,26,100k_200k,100000.0,200000.0,820010.0,112767563000.0,0.16829935574971316,0.28325472260908835,4871390.0,379740366000.0,819851.7986055952,120508059164.18417,787,437546.29646272736,60799121342.4567,138954.71595572267,100022.8089622065,199843.69597122248,0.003900027814842813,1238.0719270625057,0.006647958394247846,875092.5929254547,121598242684.9134,2476.1438541250113,770,425316.1646107923,58295770359.265,199887.36,735,403793.4193757032,55113534321.98343,1557,862862.4610735197,119094891701.7217,1.0524615089471987,0.9882732534880747,841339.7158384306,115912655664.44012,1.0262095140480048,0.9618664217844292,4314312.305367598,595474458508.6085,100000.0,199887.36,146987.61333346393,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MI,26,200k_500k,200000.0,500000.0,263110.0,74339641000.0,0.05400085790576582,0.18672971047812933,4871390.0,379740366000.0,263059.2391935686,79442400079.81915,388,216241.1646767265,62901689150.21361,290886.7478782293,200022.8612490445,499881.11215125135,0.006735755341114375,856.5683333333333,0.01284134043563655,432482.329353453,125803378300.42722,1713.1366666666665,304,170793.05883017572,47922915239.88069,494455.36,299,167988.04497626628,46665948793.08563,692,387034.2235069022,110824604390.0943,1.4712816196587124,1.3950309189896593,384229.2096529928,109567637943.29924,1.4606185695316443,1.3792085565543335,1935171.1175345113,554123021950.4714,200000.0,499881.11215125135,301994.33528112096,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MI,26,500k_1m,500000.0,1000000.0,35290.0,23646431000.0,0.007242941262188727,0.05939618694783665,4871390.0,379740366000.0,35283.19163521354,25269549417.945644,57,29107.549107419964,19848179639.915184,681891.1330069895,500048.5404968634,999305.0672653557,0.03785552478845231,758.3052577381669,0.07030263484469496,58215.09821483993,39696359279.83037,1516.6105154763338,32,17226.333755319356,10704645668.72068,927408.0,28,14854.184461039593,9299250066.246132,89,46333.882862739316,30552825308.635868,1.313199875503805,1.209076774710443,43961.73356845956,29147429706.161316,1.245968165889636,1.1534606028812577,231669.4143136966,152764126543.17935,500000.0,999305.0672653557,716192.2787258843,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MI,26,1m_plus,1000000.0,inf,15920.0,47835791000.0,0.0032674305722313556,0.12015612779085529,4871390.0,379740366000.0,15916.928615262103,51119295111.42799,33,17234.882391675997,26538233503.705482,1539797.771786523,1010259.9885344346,3234399.1242800346,0.11384197178069012,934.0729803439781,0.22433764179829355,34469.764783351995,53076467007.410965,1868.1459606879562,13,6358.716970190776,7213467109.094053,1344900.0,11,5175.751032052512,5698563228.238285,46,23593.599361866774,33751700612.79953,1.4822959838648657,0.6602536388506295,22410.63342372851,32236796731.943768,1.4079747396894056,0.6306189602512156,117967.99680933387,168758503063.99765,1010000.6799999999,3234399.1242800346,3211630.6070765285,True,True,True,True,,False,False,False,False,False,3234399.1242800346,934.0729803439781,puf,45.0,22659.5263815228,30730535783.16133,0.6011533554243269,False,mean_out_of_range,False +current,MN,27,100k_200k,100000.0,200000.0,578700.0,80251831000.0,0.19936954162575576,0.2912260823516967,2871840.0,264184944000.0,572557.4244225104,86196672199.31816,535,284627.56824782956,40148197268.975174,141055.19544760865,100002.59973293605,199764.4072893202,0.0046418980365818185,987.3485981038411,0.00749898805126543,569255.1364956591,80296394537.95035,1974.6971962076823,525,275243.4328414205,38186960490.65746,199600.0,502,261299.01746209883,36305907949.91876,1060,559871.0010892501,78335157759.63263,0.9778425310857578,0.9087956154327299,545926.5857099284,76454105218.89394,0.9534879165361584,0.8869728177220595,2799355.0054462506,391675788798.16315,100000.0,199764.4072893202,150546.77229320246,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MN,27,200k_500k,200000.0,500000.0,208180.0,59153904000.0,0.0717206690438048,0.21466375910760668,2871840.0,264184944000.0,205970.28618676035,63535867142.993095,279,144859.6276060056,41756935093.40708,288257.9210197826,200022.8612490445,499576.44866662665,0.009573554762513977,969.4692946889912,0.016563881763601195,289719.2552120112,83513870186.81416,1938.9385893779825,245,129277.31735776871,35128874794.16213,496653.44,223,115735.65126537715,31656496392.294914,524,274136.9449637743,76885809887.56921,1.3309538479506937,1.2101166371827567,260595.27887138276,73413431485.702,1.2652081215010405,1.1554643823539634,1370684.7248188714,384429049437.84607,200000.0,499576.44866662665,308471.0339499307,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MN,27,500k_1m,500000.0,1000000.0,28980.0,19405098000.0,0.009983980156064286,0.07041921159644003,2871840.0,264184944000.0,28672.39357139166,20842575807.41858,43,21795.04328035512,15035369684.147266,689852.7105793518,505129.9837183531,999136.5524512394,0.05990131001600984,901.4166666666666,0.1087352659017514,43590.08656071024,30070739368.294533,1802.8333333333333,22,10418.458700992489,6592376676.174978,959690.0,22,10418.458700992489,6532204977.927658,65,32213.501981347603,21627746360.322247,1.1235023647795188,1.0376714740135045,32213.50198134761,21567574662.074924,1.123502364779519,1.0347845132653084,161067.509906738,108138731801.61124,501092.0,999136.5524512394,726921.3766727376,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MN,27,1m_plus,1000000.0,inf,11400.0,31825471000.0,0.003927445610045993,0.11549153611619822,2871840.0,264184944000.0,11278.995400754484,34183016850.742085,20,10864.622269287387,21355821685.533054,1965629.4674783745,1049698.666966232,10250716.33209483,0.22679027259923074,472.4833333333333,0.41661673893464035,21729.244538574774,42711643371.06611,944.9666666666666,9,4864.997779372694,5550190027.900057,1469620.0,8,4496.542779372694,5008701190.800056,29,15729.620048660081,26906011713.43311,1.3945940653196722,0.787116357544346,15361.165048660081,26364522876.33311,1.3619267056029236,0.7712754842983017,78648.1002433004,134530058567.16554,1000065.96,10250716.33209483,3030679.208225893,True,True,True,True,,False,False,False,False,False,10250716.33209483,472.4833333333333,puf,28.0,15257.136715326746,22062719091.7905,0.6454292547707514,True,,False +current,MO,29,100k_200k,100000.0,200000.0,480730.0,65811105000.0,0.16748540212104743,0.27495853683603544,2880050.0,225671354000.0,482366.33237872267,69517766529.639,497,259801.65416414005,35561960111.34671,136881.19202227643,100002.21144975066,199037.38356867517,0.004835830650352446,864.0166666666667,0.00893047208281849,519603.3083282801,71123920222.69342,1728.0333333333333,483,249330.87649236,33729168823.4028,199974.12,468,240301.14165968972,32371157753.64464,980,509132.5306565,69291128934.74951,1.0554893583592029,0.9967398608125181,500102.7958238298,67933117864.99135,1.03676969608895,0.9772051269228846,2545662.6532825,346455644673.74756,100000.0,199974.12,144118.19785767756,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MO,29,200k_500k,200000.0,500000.0,150640.0,42660430000.0,0.05248268461613501,0.17823510809605933,2880050.0,225671354000.0,151152.75582869965,45063182160.42729,253,130125.53760154037,38551627358.97986,296264.88443052163,200022.8612490445,499254.7551839112,0.012179391236411857,1119.2010541078903,0.019613998520585787,260251.07520308075,77103254717.95972,2238.4021082157806,215,107422.67175129171,30415418077.43879,493921.36,199,99107.4770788207,27845938146.195568,468,237548.20935283208,68967045436.41864,1.5715770979527743,1.5304521813593266,229233.01468036108,66397565505.17543,1.5165652351065915,1.4734326854414457,1187741.0467641605,344835227182.0932,200000.0,499254.7551839112,298130.07320552645,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MO,29,500k_1m,500000.0,1000000.0,20830.0,13922543000.0,0.007257131708404755,0.05816832968108934,2880050.0,225671354000.0,20900.902176791114,14706698721.63459,27,13672.939474426787,8984748452.619383,657119.010101963,500102.02672912914,959641.3820149854,0.06926731136015714,997.6096016070517,0.11180422714951621,27345.878948853573,17969496905.238766,1995.2192032141033,12,6529.225038742228,3784324208.703922,680557.36,10,5300.181867285831,3038958402.402944,39,20202.164513169013,12769072661.323305,0.9665690189967973,0.8682487418158026,18973.121341712616,12023706855.022327,0.907765663952097,0.8175666805042118,101010.82256584507,63845363306.61652,500000.0,959641.3820149854,703639.4217454056,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MO,29,1m_plus,1000000.0,inf,9210.0,31535414000.0,0.0032087461850411805,0.13175483517498493,2880050.0,225671354000.0,9241.349450227852,33311574815.033253,26,12191.381924645782,17782406166.98819,1458604.6337404735,1000114.3062452227,2640482.4920435417,0.10648455493148162,717.1233333333333,0.21041373136246022,24382.763849291565,35564812333.97638,1434.2466666666667,9,4812.2676073104785,6059924826.146305,1781699.7999999998,8,3587.937400333035,4706315817.633341,35,17003.64953195626,23842330993.1345,1.839953095977452,0.7157371311780385,15779.319324978816,22488721984.62153,1.707469175358342,0.675102336334833,85018.24765978131,119211654965.67249,1000000.0,2640482.4920435417,3604622.354607739,True,True,False,False,mean_out_of_range,False,False,False,False,False,2640482.4920435417,717.1233333333333,puf,34.0,16286.526198622929,21948779386.831924,0.65889347797891,False,mean_out_of_range,False +current,MS,28,100k_200k,100000.0,200000.0,162360.0,22062994000.0,0.13204401467155719,0.27243644312770704,1245240.0,78974586000.0,164426.48882960988,24104866326.33833,473,92608.36827859363,12605083883.970646,136111.71558547267,100097.45404506061,199285.40739767582,0.005286512622312241,372.54840932345996,0.008952126254830117,185216.73655718725,25210167767.94129,745.0968186469199,413,81081.77890260139,10942421246.80062,199515.47999999998,393,77333.48340686673,10461173847.1835,886,173690.14718119503,23547505130.771263,1.0563392091963042,0.9768776483544295,169941.85168546037,23066257731.154144,1.0335430312664882,0.9569129079114891,868450.7359059751,117737525653.85632,100000.0,199515.47999999998,146599.65372925685,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MS,28,200k_500k,200000.0,500000.0,42400.0,11880308000.0,0.034483039061801085,0.146699439558459,1245240.0,78974586000.0,42939.65956131718,12979799398.745605,147,29002.85163509848,7858352433.318535,270951.02689173387,200022.8612490445,496715.8101668031,0.01992191055757617,344.418260138615,0.04260399680335647,58005.70327019696,15716704866.63707,688.83652027723,100,20294.092403553062,5605253524.540446,482814.0,94,18891.126365415614,5154217033.262748,247,49296.944038651534,13463605957.858982,1.14805158080623,1.0372738086507047,47893.97800051409,13012569466.581284,1.1153786147773765,1.0025246975572555,246484.72019325767,67318029789.29491,200000.0,496715.8101668031,302279.9791929102,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MS,28,500k_1m,500000.0,1000000.0,5720.0,3850091000.0,0.004651957156450524,0.04754137619572379,1245240.0,78974586000.0,5792.803129498451,4206406841.212859,20,4089.4090253246923,2679169913.9222293,655148.4327761779,500502.85073070985,846470.2823207797,0.10892921979935584,377.8664916951129,0.16219425422025127,8178.8180506493845,5358339827.844459,755.7329833902259,9,1947.0453976215065,1218424951.270633,807936.64,9,1947.0453976215065,1209815404.724741,29,6036.454422946197,3897594865.192863,1.0420610347013195,0.9265853286005605,6036.454422946199,3888985318.6469703,1.0420610347013197,0.9245385587870609,30182.272114730986,19487974325.964314,500000.0,846470.2823207797,726143.5866502606,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MS,28,1m_plus,1000000.0,inf,2590.0,7062788000.0,0.0021063931879732266,0.08721213636213887,1245240.0,78974586000.0,2622.9650533917807,7716430536.6382475,10,1902.027764462748,3317115692.7137675,1743989.1018892298,1014131.9465437671,3641972.458922861,0.16323343396361328,148.67333333333332,0.2775734597131328,3804.055528925496,6634231385.427535,297.34666666666664,4,621.6448047105655,677558768.0642955,1143187.0799999998,4,621.6448047105655,677503951.0162289,14,2523.672569173313,3994674460.778064,0.962144945816159,0.5176842377846882,2523.6725691733136,3994619643.7299967,0.9621449458161591,0.5176771338461759,12618.362845866566,19973372303.89032,1012006.8,3641972.458922861,2941873.177707823,True,True,True,True,,False,False,False,False,False,3641972.458922861,148.67333333333332,puf,13.0,2374.99923583998,3453210275.401805,0.44751394560032365,False,mean_out_of_range,False +current,MT,30,100k_200k,100000.0,200000.0,96230.0,13150795000.0,0.17372544771808204,0.2788484167530567,550380.0,47309400000.0,95615.011915078,14779773926.386997,652,55320.93636005122,7699064050.505949,139170.8918373561,100023.66529500371,199741.33721835958,0.003851508898315573,153.42578839827627,0.00660389028093587,110641.87272010244,15398128101.011898,306.85157679655254,636,53764.699769056075,7469080245.367098,199739.44,604,50952.35986741696,7085161823.481863,1288,109085.6361291073,15168144295.873045,1.1408839882380966,1.0262771522365894,106273.29622746818,14784225873.987812,1.1114708255420864,1.000301218924118,545428.1806455365,75840721479.36522,100000.0,199741.33721835958,154575.87287144712,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MT,30,200k_500k,200000.0,500000.0,29200.0,8358106000.0,0.05271519352975159,0.17722461837130182,550380.0,47309400000.0,29013.38821490468,9393418202.684988,290,24330.0370644928,6989303887.13266,287270.58115882747,200022.8612490445,499879.0912283243,0.00959009844758941,143.2071087834638,0.018078818039235604,48660.0741289856,13978607774.26532,286.4142175669276,215,17478.942604281634,5028347854.268615,497141.76,191,15595.270763067787,4444206138.162575,505,41808.97966877444,12017651741.401274,1.4410236873781064,1.279369392705861,39925.30782756059,11433510025.295235,1.376099459043886,1.217183114665023,209044.8983438722,60088258707.00637,200000.0,499879.0912283243,323761.50393422256,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MT,30,500k_1m,500000.0,1000000.0,4760.0,3207814000.0,0.008593298671288272,0.0680182342693571,550380.0,47309400000.0,4729.579722703639,3605163468.6647606,46,3707.5595374459363,2548285985.7341743,687321.6626723781,501450.93357377255,995391.9569918995,0.04770669613254512,158.72666666666666,0.08303180537885912,7415.1190748918725,5096571971.4683485,317.4533333333333,21,1737.87837084078,1144483214.480428,914885.6799999999,21,1664.8522187000667,1107444584.663544,67,5445.437908286716,3692769200.2146025,1.1513576739486402,1.0243000719138786,5372.4117561460025,3655730570.3977184,1.135917369223431,1.0140262992711635,27227.18954143358,18463846001.073013,500000.0,995391.9569918995,762258.7375700029,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,MT,30,1m_plus,1000000.0,inf,2250.0,6468084000.0,0.004061958405545928,0.1371487414126506,550380.0,47309400000.0,2235.6206672443677,7269280621.960948,15,1193.3386244367293,1593855566.3420389,1335627.2341342831,1000114.3062452227,2709860.630130855,0.13923152756479784,81.8916451835171,0.34960643454889184,2386.6772488734587,3187711132.6840777,163.7832903670342,5,321.9222125233948,383313020.0209942,1410540.6800000002,4,274.87887919006147,311216598.2011844,20,1515.2608369601242,1977168586.3630333,0.6777808324825692,0.2719895804255904,1468.2175036267909,1905072164.5432234,0.6567382048031073,0.26207162216132945,7576.3041848006205,9885842931.815166,1000114.3062452227,2709860.630130855,3251571.578518767,True,True,False,False,mean_out_of_range,False,False,False,False,False,2709860.630130855,81.8916451835171,puf,19.0,1433.369191776607,1755253641.1435754,0.24146180790446378,False,mean_out_of_range,False +current,NC,37,100k_200k,100000.0,200000.0,803940.0,110812148000.0,0.16327931580048377,0.26518004968331077,4943390.0,412484508000.0,807153.3369349535,122546428205.20479,834,435218.6791113942,60675145773.01545,139413.00933337386,100016.5132753994,199914.42780727363,0.0035701046343401973,1226.481953463598,0.005478161347575377,870437.3582227884,121350291546.0309,2452.963906927196,784,406249.08215141855,55743885405.59236,199091.52,763,393177.3841954069,54006976497.13619,1618,841467.7612628127,116419031178.60782,1.0425128940904378,0.9499993829576444,828396.0633068011,114682122270.15164,1.0263180803445773,0.9358259065544994,4207338.806314063,582095155893.0391,100000.0,199914.42780727363,151825.46190115114,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NC,37,200k_500k,200000.0,500000.0,307130.0,88280880000.0,0.06237775985994301,0.21126138755550877,4943390.0,412484508000.0,308357.5943140437,97629246594.98793,392,200302.5904282432,57539498778.691895,287262.8789057272,200024.88217197155,499602.61951483,0.008566634975294649,1034.8410797530018,0.01635974498568306,400605.1808564864,115078997557.38379,2069.6821595060037,328,166875.7680534527,46885805870.98432,480943.44,314,158405.2655125269,44466371830.25885,720,367178.3584816959,104425304649.67621,1.190755036529915,1.069610882924064,358707.8559407701,102005870608.95074,1.1632852978332933,1.0448290257950992,1835891.7924084794,522126523248.38104,200000.68,499602.61951483,316610.48210007243,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NC,37,500k_1m,500000.0,1000000.0,44590.0,29794970000.0,0.00905617918195832,0.07130113229925616,4943390.0,412484508000.0,44768.22560630093,32950062045.37458,64,30849.410624672913,20244134323.47068,656224.3463828029,500557.5079715778,981033.308383831,0.028219754225644083,590.9583333333333,0.05722780184445384,61698.82124934583,40488268646.94136,1181.9166666666665,38,19678.698267721502,12072142363.560331,941209.3600000001,32,15536.958516434934,9415665533.889324,102,50528.10889239441,32316276687.03101,1.1286600754907472,0.9807652757232808,46386.36914110785,29659799857.360004,1.036144911103628,0.9001439759511333,252640.54446197205,161581383435.15506,500000.68,981033.308383831,736014.4745325132,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NC,37,1m_plus,1000000.0,inf,17210.0,43980820000.0,0.003495331772179921,0.10524871364024771,4943390.0,412484508000.0,17278.7881292765,48638100585.6509,43,21530.438646380055,30648498770.860252,1423496.2544998233,1000114.3062452227,3441838.650499381,0.06371204776822814,790.4716666666666,0.12746208460794922,43060.87729276011,61296997541.720505,1580.9433333333332,25,12313.88347641405,14555788117.499462,2212866.08,25,12313.88347641405,14399648977.876219,68,33844.32212279411,45204286888.35972,1.9587208240287186,0.9294007443558719,33844.3221227941,45048147748.73647,1.9587208240287182,0.9261905215522843,169221.61061397055,226021434441.79858,1000000.0,3441838.650499381,2814902.3080640947,True,True,True,True,,False,False,False,False,False,3441838.650499381,326.35166666666663,puf,67.0,33517.97045612744,44081037108.37149,0.9063067138229525,True,,False +current,ND,38,100k_200k,100000.0,200000.0,78140.0,10797859000.0,0.21043843585047936,0.29603770645150473,368090.0,33720657000.0,77460.28385220295,11183950248.057602,557,39228.21206444794,5508912747.436175,140432.41987133128,100093.54126465309,199015.28027635784,0.004482615707732132,127.05414615106892,0.007558784527394073,78456.42412889587,11017825494.87235,254.10829230213784,590,41244.95908437393,5670405371.084368,199728.76,562,38785.83516962436,5340595397.034937,1147,80473.17114882186,11179318118.520544,1.0388958979593672,0.9995858234850551,78014.04723407229,10849508144.471111,1.007148997580824,0.9700962454080502,402365.85574410926,55896590592.60272,100000.0,199728.76,144383.02691217847,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,ND,38,200k_500k,200000.0,500000.0,24570.0,6989129000.0,0.0661693418076053,0.19161629349426576,368090.0,33720657000.0,24356.273025961433,7239034239.4039955,235,15431.608825897809,4393031293.5933075,284677.465788323,200214.8489271138,493644.37158523366,0.010361513686018245,116.90726559383495,0.017967061325263455,30863.217651795618,8786062587.186615,233.8145311876699,193,12676.431383740906,3486243548.9477863,487860.0,173,11443.919413807882,3151135327.305376,428,28108.04020963871,7879274842.541096,1.1540369981761274,1.0884428201281464,26875.52823970569,7544166620.898684,1.1034335265932917,1.0421509791781023,140540.20104819356,39396374212.705475,200000.0,493644.37158523366,297214.3657483181,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,ND,38,500k_1m,500000.0,1000000.0,3730.0,2517673000.0,0.010045243994398363,0.0690253633164574,368090.0,33720657000.0,3697.5538618980936,2607695615.6658397,37,2622.365029754589,1793016777.8328538,683740.3479258,508783.5437221706,986679.3027982432,0.05457035000031825,158.2702044592407,0.09004032026410816,5244.730059509178,3586033555.6657076,316.5404089184814,16,1194.0329682522215,782695963.4230337,965381.8,13,983.0959466061404,630788637.642693,53,3816.3979980068098,2575712741.2558875,1.0321412859818921,0.9877351964631862,3605.4609763607295,2423805415.475547,0.9750935648331329,0.9294817236008817,19081.98999003405,12878563706.279438,508783.5437221706,986679.3027982432,705248.8518253014,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,ND,38,1m_plus,1000000.0,inf,1720.0,5381091000.0,0.004632123236022838,0.14752978695562094,368090.0,33720657000.0,1705.0382419476464,5573498785.663948,16,1007.7008184483105,1362059244.883832,1351650.4303144,1010142.9233462916,2894677.5449687885,0.11768408154110009,55.37497311827401,0.2960779546737679,2015.401636896621,2724118489.767664,110.74994623654803,7,545.5551413215528,621705258.0461743,1239999.0,6,448.72654944461453,503069357.99352634,23,1553.2559597698632,1983764502.930006,0.9109801302729703,0.35592804075468876,1456.427367892925,1865128602.8773584,0.8541904410479757,0.33464232694816554,7766.279798849317,9918822514.65003,1008840.68,2894677.5449687885,3268840.9259943645,True,True,False,False,mean_out_of_range,False,False,False,False,False,2894677.5449687885,55.37497311827401,puf,22.0,1497.8809866515894,1823471811.691288,0.32716824418829854,False,mean_out_of_range,False +current,NE,31,100k_200k,100000.0,200000.0,176950.0,24298200000.0,0.18598124947448078,0.29194016056937117,940690.0,79864152000.0,174950.70156814932,26121486943.112747,476,92006.04718347391,12831182708.684715,139460.21051309165,100022.8089622065,199774.0785222284,0.005451614256519827,353.29345327476415,0.009536033476582379,184012.09436694783,25662365417.36943,706.5869065495283,484,93473.63739917599,13021661766.463778,199892.0,458,87644.7137247546,12149836875.698349,960,185479.6845826499,25852844475.14849,1.0601825709764254,0.9897156517716887,179650.76090822852,24981019584.383064,1.026865049970939,0.9563398760103746,927398.4229132496,129264222375.74246,100000.0,199892.0,149307.7004491893,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NE,31,200k_500k,200000.0,500000.0,54430.0,15383215000.0,0.05720802152526697,0.18482761098242498,940690.0,79864152000.0,53815.013768603385,16537539808.117315,239,44604.455174335766,12903120304.527914,289278.7335726058,200050.6883339712,489704.6558505362,0.011653151392267662,365.6089845817243,0.019396225630058127,89208.91034867153,25806240609.05583,731.2179691634486,186,33031.83366763688,9185808848.83794,492103.04,174,31048.939069414075,8603427861.386396,425,77636.28884197264,22088929153.365856,1.4426511005980083,1.335684110796437,75653.39424374985,21506548165.91431,1.4058046062953413,1.3004684140114964,388181.4442098632,110444645766.82928,200025.0,492103.04,307303.4577158392,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NE,31,500k_1m,500000.0,1000000.0,7650.0,5150065000.0,0.008040443958631127,0.061877456068461796,940690.0,79864152000.0,7563.565227444715,5536515283.176611,41,7343.875530209159,4758366373.388276,647936.6859929275,502954.0592417388,999013.6375383695,0.0444543365711957,301.19666666666666,0.09108542072866499,14687.751060418317,9516732746.776552,602.3933333333333,23,4432.9839755718995,2735921986.6794987,815561.3600000001,21,3948.271661062823,2521043474.0593705,64,11776.859505781058,7494288360.067775,1.5570513576121785,1.3536110670262396,11292.147191271983,7279409847.447647,1.4929661940770935,1.314799919286241,58884.29752890529,37471441800.338875,502954.0592417388,999013.6375383695,731998.0877651629,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NE,31,1m_plus,1000000.0,inf,3280.0,10269299000.0,0.003447406037164719,0.12338448111361675,940690.0,79864152000.0,3242.9403851004795,11039886071.537018,23,4476.264908153319,7321827065.833071,1635700.124113898,1027453.8627333817,8693214.579718677,0.1729063613026819,145.62972815536517,0.393722113875332,8952.529816306638,14643654131.666142,291.25945631073034,13,2589.045575786963,3162584092.0768623,1780519.0,11,2065.1746798686304,2460296078.011916,36,7065.310483940281,10484411157.909931,2.1786741798897946,0.9496847240969987,6541.439588021949,9782123143.844986,2.0171322353245382,0.8860710228763329,35326.55241970141,52422055789.54965,1000000.68,8693214.579718677,3404282.7682738784,True,True,True,True,,False,False,True,False,True,8693214.579718677,145.62972815536517,puf,35.0,6919.680755784915,9218420681.869246,0.8350104903379514,False,mean_out_of_range,False +current,NH,33,100k_200k,100000.0,200000.0,159640.0,22293532000.0,0.2180070192688489,0.28003047615525734,731910.0,76794934000.0,159561.5174730632,24092953269.440628,494,74178.36521207512,10551713565.213982,142247.85805196367,100002.59973293605,199719.34143610642,0.005900088732899496,353.63940838949685,0.008581097823025052,148356.73042415024,21103427130.427963,707.2788167789937,494,74683.76987168481,10529110549.63192,199923.28,472,71112.39375476527,10033736610.342756,988,148862.1350837599,21080824114.8459,0.9329450950407918,0.8749788321544086,145290.7589668404,20585450175.55674,0.9105626548792884,0.854417884986612,744310.6754187995,105404120574.2295,100000.0,199923.28,150994.7614625058,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NH,33,200k_500k,200000.0,500000.0,63870.0,18227814000.0,0.08722192633864558,0.2289607332606366,731910.0,76794934000.0,63838.60010651808,19699071053.70543,260,37990.15395371898,11346655548.729527,298673.5869128734,200022.8612490445,499980.13737467653,0.012547541464087717,354.43039917804526,0.019070073895368463,75980.30790743796,22693311097.459053,708.8607983560905,237,34772.789358941634,9857205459.366861,499192.28,228,33333.533841586286,9510445339.528057,497,72762.94331266062,21203861008.09639,1.1397954089101545,1.0763888789622853,71323.68779530528,20857100888.257584,1.1172501852530903,1.0587860123655084,363814.7165633031,106019305040.48195,200000.0,499980.13737467653,308576.1752425098,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NH,33,500k_1m,500000.0,1000000.0,8670.0,5789741000.0,0.011839895120652219,0.07272530566469305,731910.0,76794934000.0,8665.737637756565,6257059642.014753,39,5829.367045876163,3707973548.258481,636085.1047939403,501825.07217428,978001.6622612216,0.05435080909013221,221.89356553468843,0.11418847681681951,11658.734091752325,7415947096.516962,443.78713106937687,21,3028.950338809614,1869794103.671434,985004.0800000001,19,2688.936108460945,1679228955.0538583,60,8858.317384685775,5577767651.929915,1.0222231222521834,0.8914359093649125,8518.303154337107,5387202503.31234,0.9829865050636789,0.8609798869645547,44291.58692342888,27888838259.64958,500102.68,985004.0800000001,722045.8203988064,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NH,33,1m_plus,1000000.0,inf,3690.0,12262696000.0,0.005039124912941948,0.15403250592266715,731910.0,76794934000.0,3688.1859150313408,13252478866.307795,22,3353.8682917511355,6208010906.952921,1851000.2083926704,1021637.4892126623,5780900.516183994,0.18007584103673435,193.38038807364012,0.3239264892499996,6707.736583502271,12416021813.905842,386.76077614728024,6,870.579198770596,990968205.7400928,1420579.0,6,870.579198770596,963781946.9847448,28,4224.447490521731,7198979112.693013,1.145399821984254,0.5432175508685556,4224.447490521731,7171792853.937666,1.145399821984254,0.5411661415413193,21122.237452608657,35994895563.465065,1021637.4892126623,5780900.516183994,3593224.195205783,True,True,True,True,,False,False,False,False,False,5780900.516183994,193.38038807364012,puf,27.0,4031.0671024480907,6081066327.458246,0.4588625561153195,True,,False +current,NJ,34,100k_200k,100000.0,200000.0,880310.0,123592362000.0,0.18914801636413642,0.2373921948340216,4638510.0,504015160000.0,877364.9653852105,134048575515.1745,714,416598.08824126166,58121904383.13623,139515.53313292327,100025.09041367954,199820.45130824417,0.0036274702033819196,1121.04,0.005997503535301849,833196.1764825233,116243808766.27246,2242.08,697,405934.0199321633,56688070975.90026,199917.36000000002,677,392725.6087061443,54715146326.08694,1411,822532.108173425,114809975359.0365,0.9375027960140727,0.8564803834565168,809323.696947406,112837050709.22318,0.9224481588366927,0.8417624004997342,4112660.5408671247,574049876795.1825,100000.0,199917.36000000002,152785.42089530546,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NJ,34,200k_500k,200000.0,500000.0,461890.0,135262843000.0,0.09924410409790979,0.2598084756990054,4638510.0,504015160000.0,460344.76929919556,146706407506.66043,489,276783.5625807471,81160824341.37593,293228.4836015093,200022.8612490445,498979.9508653032,0.005627327974463265,944.2442572037847,0.0103808930770519,553567.1251614942,162321648682.75186,1888.4885144075695,474,264483.58282447164,75760689558.06033,494727.88,457,253329.49595512846,72617028570.34183,963,541267.1454052187,156921513899.43625,1.1757864572442414,1.0696295858264544,530113.0585358755,153777852911.71777,1.1515566025500659,1.0482013398408403,2706335.7270260938,784607569497.1813,200000.0,498979.9508653032,318688.11658270494,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NJ,34,500k_1m,500000.0,1000000.0,81250.0,54361330000.0,0.017457800467546754,0.10441547708908212,4638510.0,504015160000.0,80978.18204672029,58960430334.76714,101,58316.80957454626,40571449378.97844,695707.6300121672,500107.1523672831,993581.6483309965,0.022319636971462796,964.29,0.037097464935218996,116633.61914909253,81142898757.95688,1928.58,60,33665.31128845201,22601804060.382217,996347.2,55,31056.210667323878,20723265062.691147,161,91982.12086299827,63173253439.36066,1.135887698861025,1.071451702110616,89373.02024187014,61294714441.669586,1.1036679014392599,1.0395906897837885,459910.6043149914,315866267196.8033,500055.07999999996,996347.2,728102.6672190538,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NJ,34,1m_plus,1000000.0,inf,32050.0,84867370000.0,0.006886430830583059,0.16301048793040301,4638510.0,504015160000.0,31942.778271967825,92047355290.60652,42,24008.963635322543,40342881645.93451,1680325.8257503929,1001301.3855404691,4723464.539888776,0.07945201779672802,678.5958322404506,0.15469206571393615,48017.92727064509,80685763291.86902,1357.1916644809012,18,11146.094701491296,15436208488.279058,2200598.0,17,10137.669701491297,14190415397.612408,60,35155.05833681385,55779090134.21357,1.100563577704355,0.6059825397276336,34146.633336813844,54533297043.54692,1.0689938441196916,0.5924482769915288,175775.29168406923,278895450671.0679,1000000.0,4723464.539888776,2881632.7279642094,True,True,True,True,,False,False,False,False,False,4723464.539888776,678.5958322404506,puf,59.0,34476.4625045734,52573766783.70949,0.5711599927855251,True,,False +current,NM,35,100k_200k,100000.0,200000.0,140990.0,19278068000.0,0.14377492020435842,0.28269407056190976,987790.0,64857077000.0,142019.4284286632,20541220244.143734,571,79940.70213474534,11000445775.468174,137607.5701327491,100003.36712954857,198529.1504269944,0.005846023938421336,428.5920093845521,0.008117482842584805,159881.40426949068,22000891550.936348,857.1840187691042,514,72902.13746996969,10009672895.834215,199862.0,494,69901.5962732988,9544792372.148193,1085,152842.83960471503,21010118671.30239,1.0762107783125494,1.0228271943723664,149842.29840804415,20545238147.616367,1.0550830971926521,1.0001956019859033,764214.1980235751,105050593356.51196,100000.0,199862.0,144636.69141198983,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NM,35,200k_500k,200000.0,500000.0,42330.0,11809183000.0,0.0431661278973721,0.17317015440969008,987790.0,64857077000.0,42639.069475745186,12582953276.562672,218,30254.827024988626,8290651469.172991,274027.3961019649,200043.07047831497,495829.4333200209,0.013598454138704093,227.37666666666667,0.03003309773013417,60509.65404997725,16581302938.345982,454.75333333333333,174,22848.743780593235,6080581451.06657,471060.0,168,21802.698574526577,5828519160.354329,392,53103.57080558186,14371232920.239563,1.2454204901396664,1.1421192310240702,52057.525599515204,14119170629.52732,1.2208879377428161,1.1220871856709542,265517.8540279093,71856164601.19781,200000.0,495829.4333200209,295103.843289084,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NM,35,500k_1m,500000.0,1000000.0,4770.0,3201822000.0,0.004864219940242497,0.04695159776356609,987790.0,64857077000.0,4804.827814772136,3411614218.0090227,36,4740.285520402397,3193285640.8707457,673648.375636173,501920.2233846399,973489.189821545,0.06560566449290717,215.20282770000577,0.1237892168272154,9480.571040804794,6386571281.741491,430.40565540001154,14,1946.011305372048,1152267771.7884505,840000.0,11,1631.546137354175,978172564.1595473,50,6686.296825774444,4345553412.659197,1.3915788626634762,1.273752873264554,6371.831657756572,4171458205.030293,1.3261311129957214,1.222722716715815,33431.484128872224,21727767063.295982,501920.2233846399,973489.189821545,710038.8087831645,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NM,35,1m_plus,1000000.0,inf,2070.0,5372992000.0,0.0021108878985958007,0.07878968886179759,987790.0,64857077000.0,2085.113957353946,5725045271.238917,19,2705.355638917659,5252395995.349629,1941480.7871437464,1009867.7113847615,9483030.982302524,0.18093193005272465,100.21333333333332,0.33376495561199526,5410.711277835318,10504791990.699259,200.42666666666665,6,716.4550295530461,800827464.6775199,1171059.28,5,626.1883333333333,702277335.6777333,25,3421.810668470705,6053223460.027149,1.6410665020980704,1.0573232478067747,3331.543972250992,5954673331.027363,1.5977754887213897,1.0401093875959435,17109.053342353523,30266117300.135746,1009867.7113847615,9483030.982302524,2745675.003060323,True,True,True,True,,False,False,False,False,False,9483030.982302524,100.21333333333332,puf,24.0,3321.597335137372,5102897315.187339,0.8913287272718904,False,mean_out_of_range,False +current,NV,32,100k_200k,100000.0,200000.0,253300.0,34760786000.0,0.16189544864788857,0.23257198885347005,1553270.0,145994535000.0,251467.34352130588,38040496257.510925,517,132230.03239254878,18147961717.39367,137245.3850991896,100093.54126465309,199843.79845491512,0.004941644289637585,483.4483333333333,0.00866007903154111,264460.06478509755,36295923434.78734,966.8966666666666,493,125808.06340363578,17089085895.221548,199405.52000000002,485,124724.69981774088,16861526813.995483,1010,258038.09579618456,35237047612.61522,1.0261296444415733,0.9263035732783802,256954.73221028966,35009488531.38915,1.021821476348156,0.9203215513908204,1290190.4789809228,176185238063.0761,100000.0,199843.79845491512,151274.10074337505,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NV,32,200k_500k,200000.0,500000.0,83380.0,23745722000.0,0.053291916732179034,0.1588741345578779,1553270.0,145994535000.0,82776.73550259173,25986151431.46921,210,55778.25301946997,15773786478.397839,282794.55925039167,200022.8612490445,494836.1856156825,0.01286983985531143,645.84366440954,0.024413934647707976,111556.50603893994,31547572956.795677,1291.68732881908,173,45212.917961939616,12381233627.383072,481998.0,162,41473.268639018905,11346057038.651564,383,100991.1709814096,28155020105.780914,1.2200429307609935,1.0834624811616085,97251.52165848887,27119843517.0494,1.174865390233273,1.0436267790007292,504955.854907048,140775100528.90457,200000.0,494836.1856156825,313930.6143651387,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NV,32,500k_1m,500000.0,1000000.0,13530.0,9181639000.0,0.008647632926197918,0.06143106324363856,1553270.0,145994535000.0,13432.108795275439,10047934589.77931,41,9932.45439428219,6659346235.542843,670463.3085832667,501193.11300958827,976242.6000231099,0.060666244024976335,464.2632429093443,0.10150845771589319,19864.90878856438,13318692471.085686,928.5264858186886,31,7343.966342817983,4654831434.306921,907838.6799999999,30,7188.964412815764,4527904435.804379,72,17276.420737100172,11314177669.849762,1.2862031569590113,1.1260202351793238,17121.418807097954,11187250671.347221,1.2746634998311046,1.1133880870131077,86382.10368550086,56570888349.24881,501193.11300958827,976242.6000231099,748053.3952579013,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NV,32,1m_plus,1000000.0,inf,8490.0,36071403000.0,0.005426341725308228,0.24134085853078885,1553270.0,145994535000.0,8428.573811669512,39474771106.28822,19,4881.129299330515,11823404158.57036,2422268.1747422735,1029163.937201363,7555970.288568098,0.24525323196444654,383.76647498183513,0.3624116962728428,9762.25859866103,23646808317.14072,767.5329499636703,8,2002.5555227846125,2782165061.1249094,2771052.68,8,2002.5555227846125,2781313369.458243,27,6883.684822115129,14605569219.69527,0.8167081378090969,0.3699975657963636,6883.684822115128,14604717528.028603,0.8167081378090968,0.3699759902015521,34418.424110575645,73027846098.47635,1003002.04,7555970.288568098,4683446.095190469,True,True,True,True,,False,False,False,False,False,7555970.288568098,383.76647498183513,puf,26.0,6499.918347133293,11705841136.98401,0.2965398103377299,True,,False +current,NY,36,100k_200k,100000.0,200000.0,1689140.0,234086438000.0,0.17254909171516333,0.22254413651002117,9767160.0,1018899559000.0,1685314.5866366746,254038592796.2696,1311,814671.8216983038,113347641086.65048,139132.8852523223,100035.19502831477,199781.38394988913,0.0019839446822394005,1195.0833333333333,0.003305068999157834,1629343.6433966076,226695282173.30096,2390.1666666666665,1316,815433.2674740725,113082422743.32288,199722.96000000002,1256,775901.4321971858,107593365371.98003,2627,1630105.0891723763,226430063829.9734,0.9672408356860673,0.8913215166939721,1590573.2538954895,220941006458.6305,0.9437841851649447,0.8697143375999479,8150525.445861882,1132150319149.867,100000.0,199781.38394988913,150736.60123196692,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NY,36,200k_500k,200000.0,500000.0,716560.0,207028428000.0,0.07319806360598734,0.19682029909945953,9767160.0,1018899559000.0,714937.1989298553,224674316749.37024,782,474681.10610095604,136476540946.7938,287512.05639469397,200022.8612490445,499091.1016262907,0.004847093878963261,1325.4385904491876,0.009543183364127359,949362.2122019121,272953081893.5876,2650.877180898375,700,419839.57185073243,118180009081.14862,499490.0,673,403304.3527697989,112999348399.57431,1482,894520.6779516884,254656550027.94244,1.2511877676677623,1.1334475329105735,877985.4588707549,249475889346.3681,1.2280595556993767,1.1103889975313228,4472603.389758442,1273282750139.7122,200000.0,499490.0,314257.4160159398,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NY,36,500k_1m,500000.0,1000000.0,128400.0,86985377000.0,0.013116321546009788,0.082696314142999,9767160.0,1018899559000.0,128109.21115132495,94399500268.92628,131,78341.61894300021,53677446003.61563,685171.5183811847,500767.7694513679,988361.4136925482,0.022140582153160004,1411.2316666666666,0.03328366769323867,156683.23788600042,107354892007.23126,2822.463333333333,81,51311.14765987056,33416644636.122402,996134.04,75,46239.25154537231,30286285137.25468,212,129652.76660287079,87094090639.73804,1.0120487468283803,0.9226117764566918,124580.87048837251,83963731140.87032,0.9724583374509683,0.8894510129997888,648263.833014354,435470453198.6902,500020.4,996134.04,736867.3916617897,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,NY,36,1m_plus,1000000.0,inf,71680.0,254646534000.0,0.007322258009485838,0.24209045815930502,9767160.0,1018899559000.0,71517.6655399297,276351110771.3443,72,41626.02455139547,80200002190.60068,1926679.356362222,1000910.4568507039,8648376.407284494,0.06331446262348057,904.4116666666666,0.10819232627416359,83252.04910279094,160400004381.20135,1808.8233333333333,34,19193.190343368315,24257024429.4765,2237291.2800000003,33,18630.4688527839,23624965711.94137,106,60819.21489476379,104457026620.07718,0.8504082793475305,0.377986635655342,60256.493404179375,103824967902.54205,0.8425399927314043,0.37569947742474563,304096.07447381894,522285133100.38586,1000000.0,8648376.407284494,3864095.796262423,True,True,True,True,,False,False,False,False,False,8648376.407284494,444.455,puf,105.0,60374.75989476379,100613212483.97754,0.3640774672594891,True,,False +current,OH,39,100k_200k,100000.0,200000.0,929850.0,126466789000.0,0.16373827233539007,0.27668137746727534,5692070.0,438525537000.0,932009.7078121038,135933652407.5176,865,498832.45195207174,69737464381.0322,139801.3784149966,100157.95038435851,199799.01407117903,0.002808842580934428,1120.24,0.004223664433991521,997664.9039041435,139474928762.0644,2240.48,866,491389.2395942964,68655634403.24841,199810.04,834,471346.90245620545,65708691028.531586,1731,990221.6915463682,138393098784.28058,1.0624585594402416,1.0180929911997787,970179.3544082772,135446155409.56378,1.0409541298510472,0.996413713680757,4951108.457731841,691965493921.4028,100000.0,199810.04,145850.03918749123,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,OH,39,200k_500k,200000.0,500000.0,279500.0,79492606000.0,0.04921745132843096,0.17391224921938517,5692070.0,438525537000.0,280149.178183022,85443145654.40378,425,232878.75238812141,67124257307.42396,288236.9328205307,200338.88701122918,489976.89163117734,0.007061419855490764,996.8596223046392,0.01336450580810713,465757.50477624283,134248514614.84792,1993.7192446092783,335,183412.83062288054,51485879407.49599,489280.0,313,168641.0950648868,47281504049.112144,760,416291.58301100193,118610136714.91995,1.4859639628820822,1.3881761469160836,401519.8474530082,114405761356.5361,1.4332358569001207,1.3389694454752272,2081457.9150550095,593050683574.5997,200000.0,489976.89163117734,304991.59843540075,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,OH,39,500k_1m,500000.0,1000000.0,40440.0,27159266000.0,0.0071211224748541965,0.05941847015567176,5692070.0,438525537000.0,40533.92760544333,29192314071.382893,77,41280.0921878485,27525218312.871326,666791.5901838476,500453.27696167195,972803.8071367044,0.028620158537618654,1060.6129418763105,0.05240952123995389,82560.184375697,55050436625.74265,2121.225883752621,42,22240.536817877564,14663861607.927067,955284.88,40,20911.790789021652,13617502190.11503,119,63520.62900572606,42189079920.7984,1.5670978056712135,1.4452119080945414,62191.882976870154,41142720502.98636,1.5343167230732007,1.409368246805703,317603.14502863033,210945399603.992,500453.27696167195,972803.8071367044,720194.5578908726,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,OH,39,1m_plus,1000000.0,inf,17100.0,47138553000.0,0.0030111571295748456,0.10312873347210677,5692070.0,438525537000.0,17139.71716253909,50667180918.89995,33,17537.084096342965,72760442979.13649,4148947.6003772677,1009346.9861974814,121938370.30972688,0.6659514220050751,397.3722163466534,0.8702395005223454,35074.16819268593,145520885958.27298,794.7444326933067,9,5343.782053923079,6487329840.656529,2205198.0,8,4515.991129168616,5624625699.362212,42,22880.866150266043,79247772819.79301,1.334961711052906,1.5640849043218013,22053.07522551158,78385068678.4987,1.2866650608279129,1.5470580217195267,114404.33075133021,396238864098.9651,1009346.9861974814,121938370.30972688,2956127.0141399507,True,True,True,True,,False,False,False,False,False,121938370.30972688,397.3722163466534,puf,41.0,22483.493933919388,30792852352.1179,0.6077474963804727,True,,False +current,OK,40,100k_200k,100000.0,200000.0,263390.0,35943824000.0,0.15466871803303717,0.27309948262651323,1713370.0,125419368000.0,265004.7414162649,38374051433.322784,510,154258.71127246454,21689753196.255997,140606.34253546793,100012.70434757129,199520.51864240924,0.0057730281647092405,686.5984330587439,0.00902885976438034,308517.4225449291,43379506392.51199,1373.1968661174878,507,156268.8061800277,21448410862.408295,199060.12,476,145181.29627372028,19997135030.67754,1017,310527.51745249226,43138164058.66429,1.1717809869851383,1.1241493261043713,299440.0075461848,41686888226.93353,1.1299420755488656,1.0863301285601026,1552637.5872624614,215690820293.32147,100000.0,199520.51864240924,144805.15038425475,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,OK,40,200k_500k,200000.0,500000.0,77660.0,22012020000.0,0.045603753530679476,0.16724629170130764,1713370.0,125419368000.0,78136.10318686029,23500292779.95936,183,54485.26675676838,15740081093.914215,288886.92358212447,200022.8612490445,488067.09456405864,0.012228282745836075,449.2389064980956,0.021283470110238272,108970.53351353676,31480162187.82843,898.4778129961912,133,37177.17070219559,10597265597.811459,490723.16000000003,119,33400.28543430779,9451462607.301952,316,91662.43745896398,26337346691.725674,1.173112475800794,1.1207241943038984,87885.55219107617,25191543701.216167,1.1247752141017366,1.071967227689141,458312.18729481986,131686733458.62837,200000.0,490723.16000000003,300761.0031915601,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,OK,40,500k_1m,500000.0,1000000.0,11380.0,7671779000.0,0.006682599989429982,0.0582898156780689,1713370.0,125419368000.0,11449.766343889649,8190481956.8192215,32,8990.269041346844,6538015781.70101,727232.4945596445,501941.9468620085,998163.8268728611,0.07495714187699432,511.57899564549547,0.11468188738605255,17980.53808269369,13076031563.40202,1023.1579912909909,18,4905.229525856743,3219150999.623665,943006.2,17,4629.173789540224,3151986175.1528077,50,13895.498567203587,9757166781.324675,1.2136054265089125,1.1912811520451572,13619.442830887068,9690001956.853817,1.189495263207297,1.183080801342359,69477.49283601793,48785833906.623375,501941.9468620085,998163.8268728611,715340.5327952568,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,OK,40,1m_plus,1000000.0,inf,5250.0,15861834000.0,0.003082921787742303,0.12051746800528616,1713370.0,125419368000.0,5282.18570346403,16934281498.34108,19,5861.7838204179825,7938966338.9499,1354360.1371474324,1070443.7982636588,2308452.8248579963,0.0836325312710072,420.87833333333333,0.15181060525306547,11723.567640835965,15877932677.8998,841.7566666666667,14,4420.2896379531885,5077095376.219342,1425610.0,13,4156.847971286521,4779161131.279702,33,10282.073458371171,13016061715.169239,1.9465566028146721,0.7686220237005226,10018.631791704503,12718127470.229603,1.8966829933931209,0.7510284668100916,51410.36729185586,65080308575.84619,1007755.4,2308452.8248579963,3205923.163064045,True,True,False,False,mean_out_of_range,False,False,False,False,False,2308452.8248579963,226.83999999999997,puf,32.0,10055.23345837117,12492412276.378452,0.7376995757158187,False,mean_out_of_range,False +current,OR,41,100k_200k,100000.0,200000.0,386310.0,53351259000.0,0.18684071793730866,0.293447158369056,2030990.0,174318031000.0,379471.6297234945,57309205534.6456,599,202715.66441236454,28509717051.24951,140638.94437508786,100002.59973293607,199950.93826526785,0.004103340465158433,623.9810866516748,0.006626119082490955,405431.3288247291,57019434102.49902,1247.9621733033496,591,199244.93403675576,27854737204.21956,199851.16,558,187367.26895683387,26101937344.19194,1190,401960.5984491203,56364454255.46907,1.0592639000233366,0.9835148425045712,390082.9333691984,54611654395.44145,1.027963364885633,0.9529298807401304,2009802.9922456015,281822271277.34534,100000.0,199950.93826526785,151023.68937673807,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,OR,41,200k_500k,200000.0,500000.0,137800.0,39131297000.0,0.06664764290792662,0.2152333070142837,2030990.0,174318031000.0,135360.6962695699,42034313428.48463,275,89021.2069109907,25424870829.885715,285604.65210617945,200053.17509295017,499093.35311382415,0.008609087284723687,527.9223924449368,0.01607874547977816,178042.4138219814,50849741659.77143,1055.8447848898736,250,78952.41337474264,22381859564.44615,490278.8,229,71589.48241068375,20266763355.26853,525,167973.62028573334,47806730394.33186,1.240933483019436,1.1373263054639438,160610.68932167446,45691634185.15425,1.1865385872559298,1.0870079812982323,839868.1014286667,239033651971.6593,200019.04,499093.35311382415,310535.58815014944,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,OR,41,500k_1m,500000.0,1000000.0,17580.0,11686918000.0,0.00850265284703447,0.06428138607173584,2030990.0,174318031000.0,17268.802905798537,12553930277.981806,49,14501.704310864334,9970607058.884531,687547.2596289795,503000.55244302604,996271.464995443,0.043714637548628706,449.0156546752878,0.07771054888549227,29003.408621728668,19941214117.769062,898.0313093505756,21,5872.211493245651,3761882627.9280076,938535.48,18,4853.860604826048,2913375247.372345,70,20373.915804109984,13732489686.812538,1.1798105471033438,1.0938797159721203,19355.564915690382,12883982306.256876,1.1208399922840715,1.0262907329391453,101869.57902054992,68662448434.06269,503000.55244302604,996271.464995443,726971.6578771325,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,OR,41,1m_plus,1000000.0,inf,6320.0,16704586000.0,0.00305669886196006,0.09187999281200684,2030990.0,174318031000.0,6208.124821652262,17943841820.961777,20,6381.271735559696,10041731320.875908,1573625.4052492809,1065974.5320301708,4051297.856923506,0.11427881208495277,283.25666666666666,0.23611801737311988,12762.543471119392,20083462641.751816,566.5133333333333,10,3140.5112530588513,3900138877.223988,2250998.0,9,2701.27607327741,3321743867.524803,30,9521.782988618548,13941870198.099894,1.533761524157688,0.7769724196862442,9082.547808837106,13363475188.400711,1.463009857205131,0.7447387979529368,47608.91494309274,69709350990.49947,1000172.56,4051297.856923506,2890380.321990065,True,True,True,True,,False,False,False,False,False,4051297.856923506,283.25666666666666,puf,29.0,9238.526321951882,12794313071.473932,0.7130197200316252,False,mean_out_of_range,False +current,PA,42,100k_200k,100000.0,200000.0,1120820.0,154512752000.0,0.17787574946755666,0.26988994658326626,6325490.0,549715592000.0,1125151.2744995349,166217570670.44208,1035,611586.59180774,84691971596.10585,138479.11764345848,100014.33565911409,199922.8966237266,0.002490456102528217,1330.9516666666666,0.0038723145382239016,1223173.18361548,169383943192.2117,2661.903333333333,963,553329.6253069221,76494125597.2237,199815.71999999997,930,534475.892972745,73674789870.0392,1998,1164916.217114662,161186097193.32956,1.0353418633710516,0.9697295932264083,1146062.484780485,158366761466.14505,1.0185852433844964,0.9527678742227393,5824581.08557331,805930485966.6478,100000.0,199922.8966237266,147729.08713486133,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,PA,42,200k_500k,200000.0,500000.0,405170.0,116054874000.0,0.064301062982254,0.2027149431950296,6325490.0,549715592000.0,406735.7308836179,124846389511.8783,496,281953.2288937286,83112907528.66936,294775.51243080664,200022.8612490445,499853.3135445599,0.005460495072524228,928.0731653235216,0.010037435882818675,563906.4577874572,166225815057.3387,1856.1463306470432,419,237997.5332961773,68620083011.87828,495471.6,399,224170.15890120086,64101423832.20688,915,519950.76218990586,151732990540.54764,1.2783503457154666,1.215357457542745,506123.38779492944,147214331360.87622,1.2443543789364058,1.1791637061868718,2599753.8109495295,758664952702.7382,200000.0,499853.3135445599,306947.1896178245,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,PA,42,500k_1m,500000.0,1000000.0,61070.0,40814233000.0,0.009691897021808752,0.07129088713795599,6325490.0,549715592000.0,61305.99769248105,43906037334.9469,78,42952.21368873756,28708253971.990047,668376.5865952935,504956.2897256236,998116.4419337735,0.04226064282119469,1403.9599999999998,0.07069121494747173,85904.42737747512,57416507943.980095,2807.9199999999996,45,24961.210563093166,17178209176.198032,999999.0,40,22270.934768834653,14670024162.302727,123,67913.42425183071,45886463148.18808,1.1077778163319907,1.045106002122967,65223.14845757221,43378278134.29277,1.0638950659402056,0.9879798034008853,339567.1212591536,229432315740.9404,502114.16,999999.0,716178.4978230901,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,PA,42,1m_plus,1000000.0,inf,25310.0,77084708000.0,0.004016733479973465,0.13464511799328174,6325490.0,549715592000.0,25407.807460237356,82924112953.47581,43,23563.440388308598,39078090441.44594,1658420.4087971465,1001463.0593746327,4290874.53601252,0.0673385283283313,892.4949999999999,0.11208542211731996,47126.880776617196,78156180882.89188,1784.9899999999998,14,8601.058638541275,10497604666.46077,2100075.6,13,8054.240772261293,9584501949.45888,57,32164.49902684987,49575695107.9067,1.2659297374315586,0.5978441413744264,31617.68116056989,48662592390.904816,1.2444080903104624,0.5868328361643945,160822.49513424936,247878475539.5335,1000017.0,4290874.53601252,3263725.6513868887,True,True,True,True,,False,False,False,False,False,4290874.53601252,366.05592484320715,puf,56.0,31798.443102006662,48004995061.24048,0.5789027262573608,True,,False +current,RI,44,100k_200k,100000.0,200000.0,101150.0,13995857000.0,0.17718569902079281,0.280723473261187,568360.0,47930497000.0,100705.2638954578,15074496968.727064,314,49380.20137390369,6870088562.116194,139126.37800110062,100022.8089622065,199100.2530047842,0.008025909553832294,278.18370070523565,0.014140461593494412,98760.40274780738,13740177124.232388,556.3674014104713,297,46615.42693433666,6529460185.011171,199001.36,293,46151.01898367345,6457546149.504407,611,95995.62830824035,13399548747.127365,0.9532334715680153,0.8888886159800571,95531.22035757714,13327634711.620602,0.9486219156999396,0.8841180398436889,479978.14154120174,66997743735.636826,100000.0,199100.2530047842,149689.26534342743,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,RI,44,200k_500k,200000.0,500000.0,35060.0,9898504000.0,0.06141503319494806,0.1985403554044424,568360.0,47930497000.0,34905.84826668068,10661367041.899094,158,22864.224771416255,6662591996.454368,291398.11487436114,200025.6439575372,497612.1644613938,0.01627993562869328,251.26166666666666,0.027857072800883037,45728.44954283251,13325183992.908735,502.5233333333333,151,22016.163093001553,6368029736.603348,494532.0,144,20756.847614691393,6009746331.478523,309,44880.387864417804,13030621733.057714,1.285755542209765,1.2222280390354696,43621.07238610765,12672338327.932892,1.2496780497308833,1.1886222731222644,224401.93932208902,65153108665.288574,200000.0,497612.1644613938,305432.11442524614,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,RI,44,500k_1m,500000.0,1000000.0,4770.0,3191742000.0,0.008355667665142678,0.06401872354037395,568360.0,47930497000.0,4749.027274160492,3437724828.4230723,46,7064.825755636004,4988511483.858623,706105.3812797874,500394.42657472077,983742.7165854553,0.04423850374919508,259.57666666666665,0.06721991736067516,14129.651511272008,9977022967.717245,519.1533333333333,21,2915.3578241470577,1931955042.3940325,936119.68,23,3188.0849076220793,2160259982.94195,67,9980.183579783064,6920466526.252653,2.10152163877545,2.0130949600835732,10252.910663258084,7148771466.800572,2.1589496272308817,2.079506599159597,49900.91789891532,34602332631.26327,500394.42657472077,983742.7165854553,723879.7821035414,True,True,True,True,,False,True,True,True,True,,,,,,,,,, +current,RI,44,1m_plus,1000000.0,inf,1900.0,5648283000.0,0.0033282533676668945,0.11329107047336347,568360.0,47930497000.0,1891.6460840471561,6083587804.734831,13,1900.2468940873343,3893332916.5658255,2048856.3505510932,1099602.9674187214,4855839.771984622,0.24045399834123354,192.79208347502157,0.37297706912938294,3800.4937881746687,7786665833.131651,385.58416695004314,5,619.7195713413516,765915251.7716842,1625904.0,3,346.9924878663301,423532649.30806947,18,2519.9664654286858,4659248168.33751,1.3321553575377298,0.765871771376627,2247.2393819536646,4316865565.873895,1.1879808812575132,0.7095920539708651,12599.83232714343,23296240841.68755,1017360.4,4855839.771984622,3216028.545740999,True,True,True,True,,False,False,False,False,False,4855839.771984622,192.79208347502157,puf,17.0,2327.1743819536646,3723080701.6757207,0.6119876660246545,True,,False +current,SC,45,100k_200k,100000.0,200000.0,390410.0,53612230000.0,0.15692414053676007,0.2675120053680605,2481150.0,191369595000.0,389352.33129278227,57354616827.70162,574,217088.8342249439,30278871376.94668,139476.8712313053,100035.6962853344,199504.8452102432,0.005170491713521919,1002.4216666666666,0.008196564673038888,434177.6684498878,60557742753.89336,2004.8433333333332,545,203290.16440855298,27624876493.956005,199379.0,521,193090.70223269562,26264930937.592953,1119,420378.9986334968,57903747870.90269,1.0796878940924675,1.0095743128203734,410179.53645763954,56543802314.53963,1.0534919236150555,0.9858631343384656,2101894.993167484,289518739354.5134,100000.0,199504.8452102432,147307.75243406088,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,SC,45,200k_500k,200000.0,500000.0,131330.0,37435945000.0,0.052787703636414794,0.18679627241393276,2481150.0,191369595000.0,130974.21087749056,40049150745.22945,259,93264.07383063203,26308067452.057808,282081.4743717219,200032.96586367974,499524.7798623374,0.00929822093467373,870.5216666666666,0.018290884785476268,186528.14766126405,52616134904.115616,1741.0433333333333,214,76066.525074465,21165633139.60317,494040.0,206,73120.97337747093,20251308892.04447,473,169330.598905097,47473700591.66098,1.2928545075448774,1.1853859497211918,166385.04720810294,46559376344.10228,1.2703649527137417,1.162555896385601,846652.994525485,237368502958.3049,200004.08000000002,499524.7798623374,305778.90469361364,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,SC,45,500k_1m,500000.0,1000000.0,19070.0,12762489000.0,0.007665129889183203,0.06368172012016313,2481150.0,191369595000.0,19018.337024546905,13653371000.660797,44,15606.61043971533,10622376516.796186,680633.1559199181,503048.34189577424,928639.819876852,0.04098418617351434,520.7835960486059,0.06206216172511869,31213.22087943066,21244753033.592373,1041.5671920972118,29,10204.039023906127,6607546329.951423,892730.2000000001,25,8611.528514520243,5613667719.115264,73,25810.64946362146,17229922846.747612,1.3571454449622877,1.2619537582267204,24218.138954235576,16236044235.91145,1.2734099160708585,1.1891601154854472,129053.2473181073,86149614233.73807,503048.34189577424,928639.819876852,717905.6183008238,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,SC,45,1m_plus,1000000.0,inf,8410.0,23441693000.0,0.0033803745342438772,0.11696835411719354,2481150.0,191369595000.0,8387.216275639195,25078033870.39889,15,5937.138826516318,9106995736.121948,1533903.1143163582,1025578.1481697378,3543269.190361533,0.12554714535008518,577.6283333333333,0.22775365415497814,11874.277653032635,18213991472.243896,1155.2566666666667,12,4949.3897204128425,6578193875.370864,2595198.0,9,3485.994720412843,4877885770.973554,27,10886.52854692916,15685189611.492811,1.297990678808326,0.6254553164954044,9423.13354692916,13984881507.0955,1.1235114532933654,0.5576546223427307,54432.64273464579,78425948057.46405,1025578.1481697378,3543269.190361533,2990030.666460628,True,True,True,True,,False,False,False,False,False,3543269.190361533,283.8655448063136,puf,26.0,10602.663002122845,14679377572.375408,0.5853480240212275,False,mean_out_of_range,False +current,SD,46,100k_200k,100000.0,200000.0,83620.0,11389374000.0,0.1879523488424365,0.2820126738855975,441520.0,38863829000.0,82984.72106091256,12279095605.71681,434,41775.629468871135,5728233215.513945,137119.01623845796,100043.01819147696,199641.77401803195,0.0052057520534059655,152.58333333333331,0.009550885071275172,83551.25893774227,11456466431.02789,305.16666666666663,426,39962.66631323195,5428033323.803623,199632.0,398,37360.12735342505,5077589311.346325,860,81738.29578210309,11156266539.31757,0.9849800630420319,0.908557673752741,79135.75682229619,10805822526.86027,0.9536183987918553,0.8800177858236868,408691.47891051543,55781332696.587845,100000.0,199641.77401803195,147968.14942239417,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,SD,46,200k_500k,200000.0,500000.0,24210.0,6924886000.0,0.054416722859069455,0.17146733588807775,441520.0,38863829000.0,24026.071476736346,7465848189.083076,174,16261.941863704129,4718733827.334925,290170.37859832175,200022.8612490445,495882.89876013447,0.021446194410408844,306.4866666666666,0.03388445200213645,32523.883727408258,9437467654.66985,612.9733333333332,161,15014.370327836892,4174566764.329191,487356.83999999997,132,12088.996608636018,3340290546.320983,335,31276.31219154102,8893300591.664116,1.3017655517184672,1.1911976196714433,28350.938472340145,8059024373.655908,1.1800072475348884,1.0794519483318992,156381.5609577051,44466502958.32058,200000.0,495882.89876013447,310739.4480330257,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,SD,46,500k_1m,500000.0,1000000.0,4030.0,2733704000.0,0.00905821532928748,0.06768933697776132,441520.0,38863829000.0,3999.3832321870086,2947257046.2371736,25,2149.544503162362,1495854886.3403323,695893.8901426157,501325.03920749534,927723.821471256,0.09095593729489675,146.65666666666667,0.14896969082275752,4299.089006324724,2991709772.6806645,293.31333333333333,16,1370.439673585749,867559025.312661,867619.08,12,992.5211809562761,592072670.1793457,41,3519.9841767481107,2363413911.652993,0.8801317534212032,0.8019028793808177,3142.0656841186383,2087927556.519678,0.7856375600195838,0.7084307624899499,17599.920883740553,11817069558.264965,501325.03920749534,927723.821471256,736927.8899100415,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,SD,46,1m_plus,1000000.0,inf,2080.0,6239959000.0,0.004675207911890312,0.15450783533199444,441520.0,38863829000.0,2064.1977972578106,6727415671.550786,22,2459.337332055243,4629878347.788642,1882571.4908818547,1008492.5795717854,6903860.982391347,0.16751618974234123,112.33997639440817,0.3055641881863314,4918.674664110486,9259756695.577284,224.67995278881634,11,1066.512192970793,1405215908.8870435,2199998.0,10,1016.3998277061869,1344960220.563573,33,3525.8495250260357,6035094256.675685,1.7080967384569252,0.8970895439384216,3475.73715976143,5974838568.352215,1.6838198182261326,0.8881328076127204,17629.247625130178,30175471283.378426,1000358.4,6903860.982391347,3259094.492052961,True,True,True,True,,False,False,False,False,False,6903860.982391347,112.33997639440817,puf,32.0,3413.5095486316277,5259514676.883566,0.7818031371430266,True,,False +current,TN,47,100k_200k,100000.0,200000.0,517050.0,70720057000.0,0.1586247307935378,0.24975703537225308,3247910.0,267534018000.0,515198.8493916394,74859842782.64197,659,305657.5399925761,42449793127.74367,138880.24201455884,100018.35527462994,199903.05257298384,0.004275909464960794,930.0555968572402,0.00744746054585718,611315.0799851522,84899586255.48734,1860.1111937144804,606,280076.2439439662,38329208255.727264,199520.0,596,275980.63214165176,37819321445.16164,1265,585733.7839365423,80779001383.47093,1.1369081756067438,1.0790698775312078,581638.1721342278,80269114572.9053,1.1289586007830603,1.0722586581696323,2928668.919682712,403895006917.3547,100000.0,199903.05257298384,145302.8143813568,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,TN,47,200k_500k,200000.0,500000.0,173850.0,49800401000.0,0.05333509225114892,0.17587656234651208,3247910.0,267534018000.0,173227.5794734291,52715599329.5159,270,123855.81887311846,36464696621.20764,294412.46243394626,200022.8612490445,491079.99330877117,0.012909472407182359,1012.9316666666666,0.02293179187611883,247711.63774623693,72929393242.41528,2025.8633333333332,213,98231.95906953052,27798110925.584396,492489.6,206,95094.02824459763,27041928598.6123,483,222087.77794264897,64262807546.79204,1.2820578490892924,1.2190472718539456,218949.8471177161,63506625219.81995,1.2639433500327828,1.2047027071218759,1110438.889713245,321314037733.9602,200000.0,492489.6,304314.12532437884,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,TN,47,500k_1m,500000.0,1000000.0,27470.0,18459634000.0,0.008427466115266385,0.06519258690496878,3247910.0,267534018000.0,27371.651470434845,19540217551.93314,43,19238.83994953701,13273977768.951532,689957.2845228112,508819.7529008904,986609.7225382066,0.04322501984473594,672.824754933915,0.06494782361695194,38477.67989907402,26547955537.903065,1345.64950986783,25,11926.247793060207,8146985316.952826,976406.56,20,8929.565811803915,6347996173.296843,68,31165.087742597214,21420963085.90436,1.138589966932021,1.0962499792529259,28168.405761340924,19621973942.248375,1.0291087401783807,1.0041840061451694,155825.43871298607,107104815429.5218,500021.76,986609.7225382066,713885.2243913476,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,TN,47,1m_plus,1000000.0,inf,13590.0,46625536000.0,0.004169248798925015,0.16466411564122832,3247910.0,267534018000.0,13541.344866516545,49354885200.62156,21,10448.672905597012,20791403721.794838,1989860.7133789752,1023723.3922253085,11062369.107687714,0.31598161510879447,593.8783333333333,0.5777799984603312,20897.345811194024,41582807443.589676,1187.7566666666667,10,4661.398218130071,5757173856.265249,1533266.8,10,4661.398218130071,5717327801.667108,31,15110.071123727083,26548577578.06008,1.115847153489865,0.537911849458131,15110.071123727083,26508731523.461945,1.115847153489865,0.5371045118574828,75550.35561863541,132742887890.30042,1019461.04,11062369.107687714,3644755.0584625127,True,True,True,True,,False,False,False,False,False,11062369.107687714,593.8783333333333,puf,30.0,14516.192790393749,19978876249.66835,0.4048003793030146,False,mean_out_of_range,False +current,TX,48,100k_200k,100000.0,200000.0,2156120.0,298758539000.0,0.1577097950179352,0.23530574793973377,13641000.0,1252113837000.0,2151319.313839654,330087074707.18256,2237,1230441.683556818,172261542773.6562,139999.76193565104,100001.34620662153,199846.67975078413,0.001690116448076457,1622.5333333333333,0.0026187649179509774,2460883.367113636,344523085547.3124,3245.0666666666666,2189,1199161.0581087437,165802663999.16086,199965.6,2132,1169616.4630495491,162116122195.78027,4426,2429602.7416655617,338064206772.817,1.1293547759440834,1.024166750766327,2400058.146606367,334377664969.43646,1.1156215310142716,1.0129983588907867,12148013.708327807,1690321033864.085,100000.0,199965.6,153434.71914359674,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,TX,48,200k_500k,200000.0,500000.0,902260.0,260627984000.0,0.06599597408904988,0.20527367322928622,13641000.0,1252113837000.0,900251.0825487294,287958058415.16174,1104,609971.8886246646,176962000764.63678,290115.0103222662,200022.8612490445,499879.0912283243,0.00285252542616592,1163.862914100993,0.004948659024779727,1219943.7772493293,353924001529.27356,2327.725828201986,951,531349.6157356194,149912242572.2105,497960.48000000004,899,496590.568999551,140394770934.02484,2055,1141321.504360284,326874243336.8474,1.2677813184395763,1.1351453233705948,1106562.4576242156,317356771698.6616,1.2291709269500588,1.1020937335294658,5706607.52180142,1634371216684.237,200000.0,499879.0912283243,319864.16234003805,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,TX,48,500k_1m,500000.0,1000000.0,144090.0,96559988000.0,0.010539489622161235,0.07605178507514297,13641000.0,1252113837000.0,143769.17793590142,106685499532.0507,191,98560.4156626492,65844055442.09381,668057.810018412,502365.1531600684,993786.4723737781,0.012066643211263476,962.4471291863716,0.021262415949631075,197120.8313252984,131688110884.18762,1924.8942583727433,87,46537.919815812886,30501595760.487743,986640.0,85,46145.271654110824,30501389631.134293,278,145098.3354784621,96345651202.58154,1.0092450799374626,0.9030810337410208,144705.68731676,96345445073.2281,1.006513978825671,0.903079101619464,725491.6773923105,481728256012.9077,500000.0,993786.4723737781,742060.9971047881,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,TX,48,1m_plus,1000000.0,inf,69410.0,228634677000.0,0.005077007250150679,0.18007536740713692,13641000.0,1252113837000.0,69255.45589930542,252609856642.6299,98,54086.873177709465,93625588339.44711,1731022.3874807488,1001301.3855404691,9096752.894042121,0.06662181908578975,685.685,0.14041483101918986,108173.74635541893,187251176678.89423,1371.37,65,37237.46321261783,46574704291.940186,2293601.72,60,33818.87988999409,42165995385.89578,163,91324.3363903273,140200292631.3873,1.3186590890847518,0.5550072134743748,87905.75306770355,135791583725.3429,1.2692971539385272,0.5375545734046665,456621.6819516365,701001463156.9365,1000000.0,9096752.894042121,3647508.39283932,True,True,True,True,,False,False,False,False,False,9096752.894042121,685.685,puf,162.0,90638.65139032732,133962785623.23602,0.5303149584252159,True,,False +current,UT,49,100k_200k,100000.0,200000.0,301730.0,41562869000.0,0.19560721671539613,0.2850079776839072,1514460.0,141245443000.0,296239.3054267988,45100736037.488304,699,164586.70819406788,22901619317.81398,139146.22613880926,100022.8089622065,199577.48287629482,0.003956123366127194,495.9360301374587,0.006638113674658658,329173.41638813575,45803238635.62796,991.8720602749174,705,164379.25523244395,22729850492.45117,199942.0,692,160490.1344489277,22110623754.057365,1404,328965.96342651185,45631469810.26516,1.1104737197265668,1.0117677408265733,325076.8426429956,45012243071.871346,1.0973454119285415,0.9980378820083246,1644829.8171325591,228157349051.3258,100000.0,199942.0,152244.2674259941,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,UT,49,200k_500k,200000.0,500000.0,97900.0,27797383000.0,0.06346716109249091,0.1906142695234783,1514460.0,141245443000.0,96118.47678813379,30163520069.222477,331,73947.08990000651,21225888431.558903,287041.5652632334,200022.8612490445,499949.82353077084,0.00840365802728015,367.69809171304945,0.016287729455208358,147894.17980001302,42451776863.117805,735.3961834260989,273,61665.77584593896,16954846208.931282,497287.60000000003,257,57403.44450825064,15613666922.409111,604,135612.86574594548,38180734640.49019,1.410892788541229,1.2657917429023187,131350.53440825717,36839555353.96802,1.3665482308649415,1.2213281231575313,678064.3287297274,190903673202.45093,200000.0,499949.82353077084,313816.0432536763,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,UT,49,500k_1m,500000.0,1000000.0,14130.0,9472981000.0,0.009160275651040823,0.0649588255673129,1514460.0,141245443000.0,13872.871062475284,10279329263.077147,59,12538.37832673637,8170828788.565315,651665.5165159712,502263.35443345265,962217.1234539783,0.030212912939579523,329.63367944342656,0.05803442956314425,25076.75665347274,16341657577.13063,659.2673588868531,35,7529.408400513259,4871610711.047146,945070.0399999999,34,7334.830067179926,4708556376.384028,94,20067.786727249633,13042439499.612461,1.4465489253721222,1.2688025809680281,19873.2083939163,12879385164.949345,1.432523109630228,1.2529402293991567,100338.93363624817,65212197498.0623,500000.68,962217.1234539783,740966.2510943171,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,UT,49,1m_plus,1000000.0,inf,7210.0,22499384000.0,0.004674139238783038,0.15428443914624032,1514460.0,141245443000.0,7078.79691156736,24414550852.831833,29,6608.266974530539,9004237854.544617,1362571.7437338086,1000114.3062452227,2424096.757810547,0.06488175971391327,385.90244259079606,0.11842388605673412,13216.533949061079,18008475709.089233,771.8048851815921,18,4237.74671267726,5486175125.810253,2450075.52,17,3886.2586702206427,5081238884.701215,47,10846.013687207796,14490412980.35487,1.5321831976115152,0.5935154436262805,10494.525644751182,14085476739.24583,1.4825295563434273,0.5769295869562172,54230.068436038986,72452064901.77435,1000000.0,2450075.52,3448968.9643357852,True,True,False,False,mean_out_of_range,False,False,False,False,False,2450075.52,141.91317396069655,survey,46.0,10704.1005132471,14142714986.868265,0.5792740186833237,False,mean_out_of_range,False +current,VA,51,100k_200k,100000.0,200000.0,818340.0,114540074000.0,0.1963354742122853,0.26835489542282787,4160340.0,410639684000.0,816822.326784339,123458958011.66893,768,429368.6289443888,60647714448.86057,141248.5923761225,100012.70434757129,199864.2458795209,0.0042817201538324955,1390.0959482770402,0.006813164575462482,858737.2578887776,121295428897.72115,2780.1918965540804,783,437435.57384457043,61200039288.399284,199804.32,755,415645.15877548954,58156533577.9763,1551,866804.2027889593,121847753737.25986,1.061190633955108,0.986949474543137,845013.7877198784,118804248026.83688,1.034513577813823,0.9622975111745873,4334021.013944796,609238768686.2993,100000.0,199864.2458795209,151145.42534323392,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,VA,51,200k_500k,200000.0,500000.0,388790.0,111756124000.0,0.0932781839076599,0.2618324043415633,4160340.0,410639684000.0,388068.95963839383,120458230369.77316,457,233681.04275999946,68034195912.12231,291141.27148943086,200022.8612490445,494215.4344831103,0.006726070617915509,976.2717000765768,0.012317993324286116,467362.0855199989,136068391824.24461,1952.5434001531537,411,206752.23902885645,58005991976.16076,495701.36,389,194715.49673494988,54599807801.16942,868,440433.2817888559,126040187888.28307,1.1349356109266138,1.0463393617968224,428396.53949494933,122634003713.29172,1.103918591927922,1.0180624714213344,2202166.4089442794,630200939441.4153,200000.0,495701.36,310404.18816804426,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,VA,51,500k_1m,500000.0,1000000.0,49620.0,32900926000.0,0.011904790466570859,0.07708327965672694,4160340.0,410639684000.0,49527.975969693405,35462820126.85819,71,34335.189975669055,22478628004.264217,654681.917303887,501160.7743548385,983158.7860654357,0.0307976391008252,779.5433333333333,0.05696010647166535,68670.37995133811,44957256008.528435,1559.0866666666666,39,19462.708864964014,11985054746.005154,952827.36,36,17533.167567932913,10982244366.665905,110,53797.89884063306,34463682750.26937,1.0862123433744286,0.971825777729614,51868.35754360197,33460872370.930122,1.0472537293940836,0.9435479821185493,268989.4942031653,172318413751.34686,501160.7743548385,983158.7860654357,716015.9371050858,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,VA,51,1m_plus,1000000.0,inf,19040.0,53174870000.0,0.004568061476894582,0.12458291827166504,4160340.0,410639684000.0,19004.688884783605,57315433920.58533,36,19903.353001686744,41459233276.53853,2083027.5819870648,1006963.7091236128,13503190.231190326,0.21719172531743142,666.8499999999999,0.3867971198279722,39806.70600337349,82918466553.07706,1333.6999999999998,20,10815.364876892696,14309887001.860022,2276810.92,19,10347.77055787162,13131013594.202648,56,30718.717878579446,55769120278.39855,1.6163757304743283,0.9730209903962465,30251.123559558364,54590246870.74118,1.5917715750547954,0.9524528235515046,153593.58939289724,278845601391.99274,1006963.7091236128,13503190.231190326,3015857.5216917023,True,True,True,True,,False,False,False,False,False,13503190.231190326,666.8499999999999,puf,55.0,30051.867878579447,46764517872.729294,0.8159149233263228,True,,False +current,VT,50,100k_200k,100000.0,200000.0,59930.0,8224299000.0,0.17881545576607488,0.2929571967124302,336880.0,27149664000.0,60239.3507384753,8910884168.531477,523,33886.587578974766,4720318991.674651,139297.5607435732,100010.25990273057,199816.61093147082,0.0043952453932020324,123.80499999999999,0.007200466645013234,67773.17515794953,9440637983.349302,247.60999999999999,504,32417.078216913775,4482181330.835603,199950.96,482,30956.385218745727,4283266229.023574,1027,66303.66579588855,9202500322.510254,1.1006703256769985,1.0327258382516755,64842.97279772049,9003585220.698225,1.0764221725966383,1.0104031261560014,331518.3289794427,46012501612.55127,100000.0,199950.96,147924.6382853199,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,VT,50,200k_500k,200000.0,500000.0,19010.0,5397017000.0,0.05672087125167835,0.1922467764035974,336880.0,27149664000.0,19108.1271072654,5847573555.21671,247,15498.596432498465,4575343193.144066,295210.1639055643,200022.8612490445,499889.1958429595,0.011007813206450449,113.26706793339629,0.018779249586618127,30997.19286499693,9150686386.288132,226.53413586679258,188,11589.941874414439,3266965346.935578,489495.48,179,11088.045597124106,3131604516.8332133,435,27088.538306912906,7842308540.079643,1.417644866754793,1.3411218287426927,26586.64202962257,7706947709.97728,1.3913787510610416,1.3179736239660966,135442.69153456454,39211542700.39822,200000.0,499889.1958429595,306025.46876471804,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,VT,50,500k_1m,500000.0,1000000.0,2650.0,1772000000.0,0.00790690735491571,0.06312029178102915,336880.0,27149664000.0,2663.6789497240043,1919931017.4201806,34,2078.2628615276885,1423453306.1403036,684924.5745044745,505622.81933958456,984478.662277113,0.050616975145378135,123.42999999999999,0.07355264637963572,4156.525723055377,2846906612.280607,246.85999999999999,22,1359.0448353982717,836699618.0567997,892668.0,18,1060.4397316603752,627984343.8827521,56,3437.307696925961,2260152924.197103,1.2904361831151294,1.1772052764864855,3138.7025931880635,2051437650.0230556,1.1783336702470388,1.0684954987495232,17186.538484629804,11300764620.985516,500013.6,984478.662277113,720781.6909087761,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,VT,50,1m_plus,1000000.0,inf,1060.0,2725790000.0,0.0031627629419662836,0.09709518066242181,336880.0,27149664000.0,1065.4715798896016,2953345805.8542633,18,1091.4991515261283,1719892257.3979218,1575715.6155304175,1102546.4566354712,4277047.810939148,0.2094226841454338,84.21333333333332,0.4391695533785714,2182.9983030522567,3439784514.7958436,168.42666666666665,8,513.567801873538,622904708.3528328,1599176.36,8,513.567801873538,620863412.3748012,26,1605.066953399666,2342796965.7507544,1.506438072769594,0.7932687601657585,1605.0669533996663,2340755669.772723,1.5064380727695943,0.7925775793450145,8025.33476699833,11713984828.753773,1057341.72,4277047.810939148,2771867.2760471688,True,True,True,True,,False,False,False,False,False,4277047.810939148,84.21333333333332,puf,25.0,1520.853620066333,1982612512.7655323,0.6713106568270817,False,mean_out_of_range,False +current,WA,53,100k_200k,100000.0,200000.0,798150.0,111566500000.0,0.211045271015286,0.25686316119269464,3757410.0,416412736000.0,792983.6117655458,119833431275.18062,759,377324.35459295096,52766736623.941795,139844.50243309993,100022.8089622065,199995.1149964993,0.0036542758100511184,1142.937983677023,0.00603015032678394,754648.7091859019,105533473247.88359,2285.875967354046,746,368620.69386813755,51694695033.08523,199796.28,732,361742.2159918736,50496311806.59975,1505,745945.0484610886,104461431657.02702,0.9406815442254503,0.8717219439135148,739066.5705848245,103263048430.54153,0.9320073701640855,0.8617215357324824,3729725.2423054427,522307158285.13513,100000.0,199995.1149964993,151117.15992260716,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WA,53,200k_500k,200000.0,500000.0,381320.0,111273945000.0,0.10082789293184095,0.25618960235448845,3757410.0,416412736000.0,378851.7331810285,119519198333.51166,481,225350.66083103084,65442282248.48668,290401.99841062666,200024.88217197155,498364.1429649174,0.005910453740029853,911.3738325183641,0.010296460632430237,450701.3216620617,130884564496.97336,1822.7476650367282,417,193972.28634243505,55538200661.93635,484726.0,400,186020.11220781592,53036467270.23448,898,419322.94717346586,120980482910.42303,1.1068259966837708,1.012226358587461,411370.7730388468,118478749518.72116,1.0858357954041076,0.9912947139095831,2096614.7358673294,604902414552.1152,200000.68,498364.1429649174,315477.5017919774,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WA,53,500k_1m,500000.0,1000000.0,67020.0,44630153000.0,0.01772129808111817,0.10275344466388767,3757410.0,416412736000.0,66586.18262297423,47937188782.71072,93,45233.849020205904,29806525016.79259,658942.9301821751,500596.75952317537,994059.3467315907,0.022007401723313277,764.538720021424,0.03819003476359896,90467.69804041181,59613050033.58518,1529.077440042848,70,34690.899234443474,21593022340.288876,861992.72,63,31151.06159815639,19503119684.53119,163,79924.74825464938,51399547357.08147,1.2003203233199458,1.072226984149298,76384.9106183623,49309644701.32378,1.1471585786929797,1.0286302962994789,399623.74127324694,256997736785.40735,500596.75952317537,994059.3467315907,719926.9712477998,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WA,53,1m_plus,1000000.0,inf,23370.0,60595722000.0,0.006179449957560902,0.1395114905251461,3757410.0,416412736000.0,23218.72706503891,65085785498.845535,42,18785.132001870938,27057826451.566616,1440385.217887835,1020214.2434189179,2925122.89599132,0.050858629186781384,491.17105230104187,0.10697275418313361,37570.264003741875,54115652903.13323,982.3421046020837,17,7699.3236149253735,10077246685.38643,2091029.2000000002,16,7116.543987151381,9374510006.370962,59,26484.455616796306,37135073136.95306,1.1406506283746578,0.5705558111088902,25901.67598902232,36432336457.93758,1.1155510772174586,0.5597587273273946,132422.27808398154,185675365684.7653,1000510.0,2925122.89599132,2803159.07571208,True,True,True,True,,False,False,False,False,False,2925122.89599132,385.4030207076997,puf,58.0,26099.05259608861,36007721936.89674,0.5532348063546907,False,mean_out_of_range,False +current,WI,55,100k_200k,100000.0,200000.0,562410.0,76968654000.0,0.1909951335142276,0.3019089530541686,2940980.0,245188540000.0,561712.8677626731,82933181778.6864,536,280757.1735331486,39645597351.24869,141209.56145958562,100022.8089622065,199311.65100220373,0.00479820491964292,958.4733333333332,0.008157419691169225,561514.3470662972,79291194702.49738,1916.9466666666665,509,262332.80067422707,36672569924.523605,199485.68,503,257753.52460501314,36151966029.289986,1045,543089.9742073757,76318167275.77231,0.9668462400915379,0.9202368176278733,538510.6981381618,75797563380.53867,0.9586938969069259,0.9139594279984375,2715449.8710368783,381590836378.8616,100000.0,199485.68,147643.3717977886,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WI,55,200k_500k,200000.0,500000.0,159080.0,44879178000.0,0.05402376529479086,0.17603823036728272,2940980.0,245188540000.0,158882.813256674,48356997735.10427,249,124055.69012783337,35094758835.20778,282895.19649638265,200154.22123930245,493536.56459451315,0.011334653036992229,983.2066666666666,0.019830787948268216,248111.38025566674,70189517670.41556,1966.4133333333332,211,105892.10390831027,29208426723.495865,487209.0,191,94672.8404446072,26070817675.54723,460,229947.7940361436,64303185558.70364,1.4472792199661308,1.3297596743071458,218728.53057244056,61165576510.755005,1.3766657707595236,1.2648753929227594,1149738.970180718,321515927793.5182,200010.2,493536.56459451315,304356.37904386735,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WI,55,500k_1m,500000.0,1000000.0,21750.0,14544149000.0,0.007386326974866112,0.05704931253772261,2940980.0,245188540000.0,21723.039906541737,15671217958.849848,50,23859.8970000063,15549657873.733858,651706.8314976278,503280.6061425887,873526.1766181096,0.038830129140020285,723.601763029781,0.0668546330159963,47719.7940000126,31099315747.467716,1447.203526059562,30,13219.268070358648,8426669935.003896,997674.0,28,11984.59516697495,7605452570.823157,80,37079.16507036495,23976327808.73775,1.7069049833673982,1.529959437211314,35844.49216698125,23155110444.557014,1.6500679610769824,1.4775565310468333,185395.82535182475,119881639043.68875,502000.0,997674.0,721409.9880252291,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WI,55,1m_plus,1000000.0,inf,9770.0,29043605000.0,0.003317904116985835,0.11392331712685033,2940980.0,245188540000.0,9757.889649973002,31294279525.44637,18,9448.520571904113,14467396597.578827,1531181.1502637481,1007824.1994646289,3309200.834355031,0.15761045052163672,825.5545304915129,0.28983747709379265,18897.041143808226,28934793195.157654,1651.1090609830258,5,2780.210648504565,3187676257.0233493,1393019.0,5,2780.210648504565,3165957463.180747,23,12228.731220408677,17655072854.602177,1.2532147481748281,0.5641629435899388,12228.731220408677,17633354060.759575,1.2532147481748281,0.5634689255722067,61143.65610204339,88275364273.01088,1000000.0,3309200.834355031,3207074.546649844,True,True,True,True,,False,False,False,False,False,3309200.834355031,362.28666666666663,puf,22.0,11866.44455374201,16456193514.993141,0.5258530876741255,False,mean_out_of_range,False +current,WV,54,100k_200k,100000.0,200000.0,122970.0,16583210000.0,0.15816280595248813,0.3129470084179094,776010.0,50488126000.0,122735.91904719031,17701587788.770992,619,66140.28379574249,9139273079.362259,138180.13100135143,100006.19287242476,199984.85895635295,0.004287808375984143,227.8210264687401,0.0064965383412542484,132280.56759148499,18278546158.724518,455.6420529374802,581,61039.185359035786,8332981181.819972,199480.36,561,58899.26647113211,8077281496.148703,1200,127179.46915477829,17472254261.18223,1.0362041539435534,0.9870444657097801,125039.5502668746,17216554575.510963,1.018769006152132,0.9725994515832241,635897.3457738914,87361271305.91116,100000.0,199984.85895635295,144224.99889347772,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WV,54,200k_500k,200000.0,500000.0,27070.0,7502011000.0,0.03481716806647031,0.14157282574171398,776010.0,50488126000.0,27018.470591261626,8007949384.276364,198,20231.067014856024,5603462663.582577,276973.1650568829,200066.16783271145,480012.07791994937,0.012542688617788119,172.04024055303486,0.023037056537774003,40462.13402971205,11206925327.165154,344.0804811060697,148,14913.172244125082,3921841837.104858,470001.36,130,12935.396552710954,3375164513.321848,346,35144.239258981106,9525304500.687435,1.3007486541576314,1.1894811072845195,33166.46356756698,8978627176.904425,1.2275477790476323,1.1212142767203286,175721.19629490553,47626522503.43718,200006.8,480012.07791994937,296387.96012629644,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WV,54,500k_1m,500000.0,1000000.0,3290.0,2204033000.0,0.004231565679301341,0.041593004840700325,776010.0,50488126000.0,3283.7372827946338,2352673797.1025085,35,3919.7193904597925,2586388968.0747023,659840.3381552557,501283.6569079612,976992.9912297912,0.06245444110656889,204.67663133717923,0.09447788695959904,7839.438780919585,5172777936.149405,409.35326267435846,15,1939.3128633399647,1280315476.432811,894483.4,14,1819.7969743261638,1177254571.5037978,50,5859.032253799758,3866704444.5075135,1.7842573108690998,1.6435361541704785,5739.516364785956,3763643539.5785,1.7478610103367724,1.5997302916425153,29295.16126899879,19333522222.537567,501283.6569079612,976992.9912297912,716462.2484964019,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WV,54,1m_plus,1000000.0,inf,1240.0,3107850000.0,0.0015948758183384996,0.05864922171953438,776010.0,50488126000.0,1237.639583788859,3317444548.3915315,17,1852.5881194858393,4013109918.7761726,2166218.101349995,1059124.7992797098,9744778.5647615,0.20103108107369116,82.78893358916176,0.33509076005980026,3705.1762389716787,8026219837.552345,165.57786717832352,10,1125.4217730367222,1404638051.3549938,2847267.6,10,1125.4217730367222,1399482056.1813345,27,2978.009892522562,5417747970.131166,2.406201233000164,1.6331088255138946,2978.0098925225616,5412591974.957507,2.4062012330001634,1.6315546186240886,14890.04946261281,27088739850.65583,1030774.8,9744778.5647615,2680460.9288882334,True,True,True,True,,False,False,True,False,True,9744778.5647615,82.78893358916176,puf,26.0,2895.2209589333997,4610988144.6920395,1.3899216934696572,True,,False +current,WY,56,100k_200k,100000.0,200000.0,57590.0,7888421000.0,0.20396670798654154,0.25240162301452307,280750.0,30549840000.0,57263.65326722154,8638796649.596874,552,28977.921773840862,4024545650.9698887,138883.17051787174,100022.8089622065,199601.43357941834,0.004391049761799673,96.98333333333332,0.007517532775052554,57955.843547681725,8049091301.939777,193.96666666666664,519,26628.192802618512,3672510198.0456214,199516.0,495,25375.451553345956,3487391854.7910833,1071,55606.11457645938,7697055849.015511,0.9710542622380861,0.8909870391930906,54353.37332718682,7511937505.760972,0.9491775362907102,0.8695583204995934,278030.5728822969,38485279245.07755,100000.0,199601.43357941834,150860.03348902354,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WY,56,200k_500k,200000.0,500000.0,15500.0,4381357000.0,0.054896405170887196,0.14018795622166233,280750.0,30549840000.0,15412.16575172658,4798127809.391488,188,9817.82465887261,2732435256.5009413,278313.71525173576,200022.8612490445,485982.043249832,0.012853587327688324,76.04666666666667,0.026571758528712353,19635.64931774522,5464870513.001883,152.09333333333333,145,7556.659264736294,1979158844.0043168,474648.8,127,6683.721965653912,1709998609.3852253,333,17374.483923608906,4711594100.505258,1.127322675053796,0.9819651096586348,16501.546624526523,4442433865.886167,1.0706831791422893,0.925868180749768,86872.41961804453,23557970502.526287,200000.0,485982.043249832,311320.8024546432,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WY,56,500k_1m,500000.0,1000000.0,2410.0,1634199000.0,0.008535505578183106,0.05228859868517547,280750.0,30549840000.0,2396.343191074907,1789650025.7750647,29,1368.1537158267536,857851910.7073076,627014.2753578835,512171.0322905025,920105.1617456047,0.061924781229265674,83.75166666666667,0.09969891822235843,2736.307431653507,1715703821.4146152,167.50333333333333,12,542.3280103876401,350237381.0480898,920000.0,13,610.9396011223125,395973712.8128186,41,1910.4817262143933,1208089291.7553973,0.7972487969711155,0.675042200629252,1979.093316949066,1253825623.520126,0.8258805851850133,0.7005982205806508,9552.408631071967,6040446458.776987,512171.0322905025,920105.1617456047,746825.4265251118,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +current,WY,56,1m_plus,1000000.0,inf,1730.0,9317608000.0,0.006127147157782894,0.29813056146637007,280750.0,30549840000.0,1720.1965645475475,10203933179.106064,10,510.4780601956929,735453252.7438661,1440714.7144814187,1000397.5186330611,2679498.995954483,0.25593532389582,70.24763462700443,0.5244170723355129,1020.9561203913858,1470906505.4877322,140.49526925400886,9,475.35215386488744,524089151.1764771,1462336.0,6,289.3538964635483,326262896.31856245,19,985.8302140605804,1259542403.9203432,0.5730916073070272,0.12343695140021368,799.8319566592412,1061716149.0624285,0.4649654424054823,0.10404969636967402,4929.151070302902,6297712019.601716,1000397.5186330611,2679498.995954483,5931841.3891786495,True,False,False,False,amount_cap|mean_out_of_range,False,False,False,False,False,2679498.995954483,70.24763462700443,puf,18.0,915.582579433576,1071313937.4691075,0.10499029331775397,False,amount_cap|mean_out_of_range,False +demographic_midrank6_earn,AK,02,100k_200k,100000.0,200000.0,72120.0,10028423000.0,0.20727711674426624,0.3199851628615256,348250.0,30289519000.0,72184.25590619072,10858613770.685642,480,34092.88072450682,4716524912.240611,138343.39639273295,100034.3888173803,199957.1373796083,0.0054041324925502236,129.45999999999998,0.00959483786593535,68185.76144901363,9433049824.481222,258.91999999999996,477,34446.28783107328,4829864871.900757,199808.68,457,32954.97155840823,4601843387.096263,957,68539.16855558008,9546389784.141369,0.9495030141289019,0.8791536365270853,67047.85228291505,9318368299.336874,0.9288431589576701,0.8581545026026363,342695.8427779004,47731948920.70685,100000.0,199957.1373796083,150429.11552343614,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AK,02,200k_500k,200000.0,500000.0,24460.0,6808021000.0,0.07029947692130827,0.21722914045904193,348250.0,30289519000.0,24481.7928378456,7371614717.659699,157,11909.734849751916,3280221506.999077,275423.5546282884,201106.5356483012,494099.19167168206,0.01782243618016887,179.73601038200735,0.029288422528845448,23819.469699503832,6560443013.998154,359.4720207640147,223,16290.245853620207,4437560538.973768,497843.36,203,14718.662144223279,3990690407.561447,380,28199.980703372123,7717782045.972844,1.1518756363209925,1.0469594982336576,26628.396993975195,7270911914.560524,1.087681656745793,0.9863391119915792,140999.90351686062,38588910229.86422,200000.0,497843.36,301106.00013999635,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AK,02,500k_1m,500000.0,1000000.0,2870.0,1915583000.0,0.00824854860033339,0.06112208651647122,348250.0,30289519000.0,2872.5570500661033,2074162203.0394325,14,1136.1650627955185,787985075.9485289,693548.0607102127,522851.5625951146,982860.6002249272,0.14661489510365483,117.54499999999999,0.2581045588598689,2272.330125591037,1575970151.8970578,235.08999999999997,14,1290.4213372674158,899698798.2563313,993613.0,14,1290.4213372674158,859768797.745878,28,2426.586400062934,1687683874.2048602,0.8447478527909805,0.8136701516071234,2426.5864000629344,1647753873.694407,0.8447478527909807,0.7944190050709747,12132.93200031467,8438419371.024302,503222.8,993613.0,722061.2739411744,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AK,02,1m_plus,1000000.0,inf,1080.0,2528808000.0,0.0031039834454216243,0.08068876230345777,348250.0,30289519000.0,1080.9622348680807,2738152286.976728,13,1005.3331649292764,2222364117.103596,2210574.7573342375,1029464.6820943941,9019612.873113945,0.2841605434730095,70.015,0.4613631184218627,2010.666329858553,4444728234.207192,140.03,10,802.0532521890672,935870221.1120284,1950003.4,8,637.5125607349346,760796045.8711413,23,1807.3864171183438,3158234338.215625,1.6720162451733709,1.1534180743842855,1642.845725664211,2983160162.9747376,1.519799371959282,1.0894792729985554,9036.93208559172,15791171691.078125,1000895.04,9019612.873113945,2533069.3327236255,True,True,True,True,,False,False,False,False,False,9019612.873113945,70.015,puf,22.0,1737.3714171183437,2526726142.904552,0.9227851039995961,True,,False +demographic_midrank6_earn,AL,01,100k_200k,100000.0,200000.0,337310.0,46273164000.0,0.15755964948338036,0.2777399863679626,2149560.0,159215844000.0,338683.9201434951,49542379432.97288,678,198984.76815837016,27250655121.315853,136948.44773056853,100063.38499946671,199993.75000161887,0.00398082561617923,664.6133333333333,0.005715146026852228,397969.5363167403,54501310242.63171,1329.2266666666667,620,179324.70705922286,24438373441.8444,199618.36,605,174844.95602389995,23703453288.31297,1298,378309.475217593,51689028563.16025,1.1169986312232043,1.04332955249135,373829.7241822701,50954108409.62882,1.1037716937488036,1.0284953809811639,1891547.376087965,258445142815.80124,100000.0,199993.75000161887,146279.10121030413,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AL,01,200k_500k,200000.0,500000.0,102970.0,28835057000.0,0.04809794286354889,0.17307328148339768,2149560.0,159215844000.0,103389.41406177015,30872263994.42667,210,59530.73411554198,16915066112.88686,284140.05579129525,200079.338317216,497286.47443977586,0.013641211723661208,564.8266666666666,0.023513388421455773,119061.46823108396,33830132225.77372,1129.6533333333332,225,64525.55820799478,17794868985.238434,485893.0,220,62892.02590178503,17162150745.562168,435,124056.29232353676,34709935098.12529,1.1998935621147748,1.1243080554244882,122422.760017327,34077216858.449028,1.1840937597749162,1.1038133408227186,620281.4616176838,173549675490.62646,200000.0,497286.47443977586,298601.78892185225,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AL,01,500k_1m,500000.0,1000000.0,13670.0,9198596000.0,0.006385344070551746,0.05521165415972842,2149560.0,159215844000.0,13725.680200295212,9848480066.81857,20,5523.557433531112,3474257930.7783213,628989.1926691327,506652.9063668878,982622.0572780576,0.09723295402799506,343.78666666666663,0.23287560544672925,11047.114867062224,6948515861.556643,687.5733333333333,21,6033.990834712825,3631929795.856325,940814.92,17,5131.529249652672,2941327691.302324,41,11557.548268243936,7106187726.634646,0.8420382887833389,0.7215517194959621,10655.086683183785,6415585622.080645,0.7762884263436806,0.6514290102181342,57787.74134121968,35530938633.17323,500000.0,982622.0572780576,717522.1863763625,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AL,01,1m_plus,1000000.0,inf,6570.0,19010645000.0,0.0030688888473683227,0.11410536532894479,2149560.0,159215844000.0,6596.760710749052,20353753805.457275,22,5371.213719528707,17525487938.24563,3262854.3292787443,1055690.03208747,36855448.37377946,0.36156907011826056,171.93317831695256,0.507207677558397,10742.427439057414,35050975876.49126,343.8663566339051,19,4938.266470688135,5932706378.396601,2073417.4,18,4561.2808249050295,5395832280.355074,41,10309.480190216844,23458194316.64223,1.5628094821475218,1.1525242243203604,9932.494544433735,22921320218.6007,1.5056623970381844,1.1261470703480263,51547.400951084215,117290971583.21115,1014300.0,36855448.37377946,3085416.4184388216,True,True,True,True,,False,False,False,False,False,36855448.37377946,171.93317831695256,puf,40.0,10137.54701189989,17121519939.441965,0.8411971621102796,True,,False +demographic_midrank6_earn,AR,05,100k_200k,100000.0,200000.0,184970.0,25143019000.0,0.14314458400080485,0.24477600092236568,1295860.0,95807833000.0,185495.34062328297,26273747409.574898,613,121191.62057475785,16364426494.965279,135029.3561333374,100028.73711609327,198903.35687548007,0.0038167519780601344,378.7497054515345,0.00660535777540221,242383.2411495157,32728852989.930557,757.499410903069,562,109613.62239580293,15256715047.44149,199068.0,541,104588.39383016556,14477698667.500599,1175,230805.2429705608,31621141542.40677,1.2442643690942963,1.2035261300747349,225780.01440492342,30842125162.465878,1.217173507681001,1.1738761388573802,1154026.2148528039,158105707712.03384,100000.0,199068.0,141641.010072234,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AR,05,200k_500k,200000.0,500000.0,55710.0,15903490000.0,0.043112854920715996,0.1548259850143228,1295860.0,95807833000.0,55868.22417755903,16618699575.842514,153,30185.547912342437,8490408080.572322,281273.9429222259,200129.2187691291,488669.1167505768,0.01633736404470748,425.3669290886247,0.031339838241504964,60371.095824684875,16980816161.144644,850.7338581772494,155,29173.615403372918,8115371081.516266,499681.36,145,27370.85486000207,7536663000.7138195,308,59359.163315715356,16605779162.088587,1.062485235382845,0.9992225376182436,57556.4027723445,16027071081.28614,1.0302171515138936,0.9643998321375047,296795.8165785768,83028895810.44293,200000.0,499681.36,297462.4631530325,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AR,05,500k_1m,500000.0,1000000.0,8210.0,5514101000.0,0.006353554817789954,0.05368168363003732,1295860.0,95807833000.0,8233.31754618129,5762080395.551717,19,3606.1394896481347,2588847330.9779296,717899.9421429851,546150.0313253157,966990.665846648,0.09446636659202454,353.87,0.12051324987517738,7212.278979296269,5177694661.955859,707.74,12,2535.7066967808414,1625777309.0600111,827513.08,11,2357.9666967808416,1497737954.6442604,31,6141.846186428977,4214624640.037941,0.7459746514061805,0.7314414847962899,5964.106186428977,4086585285.62219,0.7243867557610723,0.7092204559965882,30709.230932144885,21073123200.189705,500000.68,966990.665846648,699849.1632603479,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AR,05,1m_plus,1000000.0,inf,3420.0,17657157000.0,0.002646669607410675,0.17189854082830527,1295860.0,95807833000.0,3429.7132774591973,18451232248.172237,14,2570.109686137893,6004077512.730783,2336117.2268694565,1033413.4803480797,18367522.455692887,0.3873983216236325,126.63490990365885,0.6404645449484518,5140.219372275786,12008155025.461567,253.2698198073177,10,1969.3470381924483,2290176546.512284,2200012.96,10,1969.3470381924483,2289030225.0917234,24,4539.456724330341,8294254059.243068,1.3235674113531917,0.4495230425634412,4539.456724330341,8293107737.822507,1.3235674113531917,0.4494609154705109,22697.283621651703,41471270296.21534,1010880.0,18367522.455692887,5379817.715211837,True,True,True,True,,False,False,False,False,False,18367522.455692887,126.63490990365885,puf,23.0,4412.821814426683,5968284507.91297,0.3234626515800419,False,mean_out_of_range,False +demographic_midrank6_earn,AZ,04,100k_200k,100000.0,200000.0,567820.0,78260266000.0,0.1674481424468154,0.258134759792734,3373850.0,287127454000.0,564944.9153941881,83037330213.79538,625,312934.8527695419,43150491335.30071,137889.69478282597,100144.64496746776,199282.61079643155,0.004344480767834303,983.0152684952828,0.007520022545364252,625869.7055390838,86300982670.60143,1966.0305369905657,590,295863.2625008974,40663017765.7142,198917.68,571,282692.03165020427,38753822651.60279,1215,608798.1152704393,83813509101.01492,1.0776238508946536,1.009347348779412,595626.8844197462,81904313986.9035,1.054309664870866,0.9863553389303978,3043990.5763521967,419067545505.0746,100000.0,199282.61079643155,146983.05613717472,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AZ,04,200k_500k,200000.0,500000.0,204990.0,58519083000.0,0.06045083780101562,0.19302016470907551,3373850.0,287127454000.0,203952.05911495656,62091130879.615204,185,92418.79233236346,25446044873.018936,275334.09851870756,201169.28933982362,497934.39031910297,0.016823391092742043,969.0483333333333,0.03364973577865381,184837.58466472692,50892089746.03787,1938.0966666666666,224,112003.32488096142,31133604561.709717,491090.0,209,104137.43431787501,28781969664.678772,409,204422.11721332488,56579649434.72865,1.0023047479903273,0.9112356085835764,196556.22665023847,54228014537.69771,0.9637373974216683,0.8733616825700465,1022110.5860666244,282898247173.64325,200000.0,497934.39031910297,304439.83330718835,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AZ,04,500k_1m,500000.0,1000000.0,29880.0,20029953000.0,0.008811508041828122,0.06606707810467641,3373850.0,287127454000.0,29728.706406921807,21252596067.432247,31,17030.48951087482,10845365224.323654,636820.5222403235,501285.4210636946,886803.9583904942,0.058504023154640324,847.1571611486024,0.10517932086632664,34060.97902174964,21690730448.64731,1694.3143222972049,30,14928.496649956216,9077654664.113232,910480.08,29,14403.5719671015,8576789146.570451,61,31958.986160831028,19923019888.43689,1.075021083103365,0.9374393521254178,31434.06147797632,19422154370.894104,1.0573639178143805,0.9138720892859232,159794.93080415513,99615099442.18445,500268.68,910480.08,714884.6564842106,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,AZ,04,1m_plus,1000000.0,inf,14180.0,45796317000.0,0.004181632665097817,0.15105521476488337,3373850.0,287127454000.0,14108.201367140271,48591757882.661064,22,10599.015290125353,34990060778.26507,3301255.8073072885,1037870.0922781207,11365735.468112998,0.21466119895919777,660.8466666666666,0.2808474009439998,21198.030580250706,69980121556.53014,1321.6933333333332,11,5876.469823582646,8199709878.210753,2155028.3200000003,10,5559.174823582646,7764055815.179177,33,16475.485113707997,43189770656.47583,1.1677948651967371,0.8888291458969255,16158.190113707999,42754116593.444244,1.1453047552427484,0.8798635500425092,82377.42556853998,215948853282.37915,1037870.0922781207,11365735.468112998,3444220.6074430733,True,True,True,True,,False,False,False,False,False,11365735.468112998,660.8466666666666,puf,32.0,15814.638447041332,35678762258.15825,0.7342554336954633,True,,False +demographic_midrank6_earn,CA,06,100k_200k,100000.0,200000.0,3252990.0,453934849000.0,0.17600569193228116,0.22134471029512734,18487690.0,1987000701000.0,3253938.670679515,492741720846.0508,3661,1726793.2795508697,239473808529.67456,138681.22569480957,100008.49325183225,199980.2349844821,0.0008897756432160718,1341.3933333333332,0.0015023612724190175,3453586.5591017394,478947617059.3491,2682.7866666666664,3428,1639418.2520879824,227725359541.59036,199986.0,3324,1583764.675215677,218892508698.46567,7089,3366211.5316388514,467199168071.2649,1.0345036807150056,0.9481623907735505,3310557.9547665464,458366317228.14026,1.0174002308639725,0.9302364663603337,16831057.65819426,2335995840356.324,100000.0,199986.0,151429.32019156718,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,CA,06,200k_500k,200000.0,500000.0,1626920.0,477270483000.0,0.08802584093970989,0.23272347788404874,18487690.0,1987000701000.0,1627394.459282665,518072317251.07275,1518,722888.0976048999,211969037100.75153,293225.2416425935,200022.8612490445,499933.15533837216,0.002784248746653476,1261.3316666666665,0.005014113141985694,1445776.1952097998,423938074201.50305,2522.663333333333,1783,851007.2026135796,243845460102.59082,497219.2,1704,810585.8703272371,231738400172.2893,3301,1573895.3002184795,455814497203.34235,0.9671258810308551,0.8798279352618672,1533473.967932137,443707437273.04083,0.9422878142328646,0.8564584952683496,7869476.501092398,2279072486016.712,200000.0,499933.15533837216,318344.64858595654,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,CA,06,500k_1m,500000.0,1000000.0,317160.0,213715326000.0,0.017160201922920847,0.10421045448109822,18487690.0,1987000701000.0,317252.4934883645,231985840559.27975,255,116625.26789518281,79783122740.86862,684098.0876680503,500930.68074849487,994329.5817083254,0.009009371231907237,760.6274813681191,0.015831778570725562,233250.53579036563,159566245481.73724,1521.2549627362382,269,129606.66803546494,86044428882.48149,991818.6799999999,240,114702.5010677051,75571412149.70258,524,246231.93593064777,165827551623.3501,0.7761386938939174,0.7148175562075991,231327.76896288793,155354534890.5712,0.7291598134322372,0.6696724874071492,1231159.679653239,829137758116.7505,500000.0,994329.5817083254,731234.0968812213,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,CA,06,1m_plus,1000000.0,inf,132720.0,400221114000.0,0.007180924452043306,0.19515317391356118,18487690.0,1987000701000.0,132758.70518279652,434436000817.56104,140,68407.88631255171,322802373205.07153,4718788.879548273,1010421.9416061614,239981461.1298356,0.28913538935887007,388.91999999999996,0.3653564627046506,136815.77262510342,645604746410.1431,777.8399999999999,108,53507.29216257929,69490312656.51846,3160005.48,102,50344.335864136316,64588769577.8262,248,121915.17847513099,392292685861.58997,0.9183215391206551,0.9029930418366297,118752.22217668802,387391142782.8977,0.8944966886591516,0.8917104983331721,609575.892375655,1961463429307.9497,1000000.68,239981461.1298356,3272372.988418218,True,True,True,True,,False,False,False,False,False,239981461.1298356,388.91999999999996,puf,247.0,121526.258475131,298959095998.9743,0.6881545162840234,True,,False +demographic_midrank6_earn,CO,08,100k_200k,100000.0,200000.0,581520.0,81135957000.0,0.18838743954153614,0.25829961207762075,2972380.0,297676269000.0,559959.0575444712,86143028408.32648,569,312760.40747765184,43038877283.11988,137609.73657190034,100153.89538640706,199122.30999819026,0.0054660092839552655,1206.235898209532,0.009744870009462808,625520.8149553037,86077754566.23976,2412.471796419064,565,309786.1441913132,43285888407.5609,199191.36,554,301955.6431578521,42273761845.70089,1134,622546.551668965,86324765690.68079,1.1117715541542486,1.002109715501211,614716.050635504,85312639128.82077,1.0977874941985093,0.9903603426203038,3112732.7583448254,431623828453.40393,100000.0,199191.36,153838.0837807684,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,CO,08,200k_500k,200000.0,500000.0,257510.0,74198170000.0,0.08342215152761895,0.23621288558745118,2972380.0,297676269000.0,247962.334757664,78777095907.74701,220,114548.711319934,32015062999.008972,279488.63527229964,200853.78562150232,499785.29412644776,0.010841806591928158,934.9126862897944,0.019198784841835154,229097.422639868,64030125998.017944,1869.8253725795887,283,148922.4648858587,41937931417.28938,496561.36,265,138821.98294622503,38977830955.05299,503,263471.1762057927,73952994416.29837,1.062545150106308,0.9387626386088417,253370.69426615903,70992893954.06197,1.021811213843347,0.9011869901525585,1317355.8810289635,369764972081.4918,200000.0,499785.29412644776,317697.8309416897,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,CO,08,500k_1m,500000.0,1000000.0,38030.0,25370899000.0,0.012320082414645446,0.08076928666485682,2972380.0,297676269000.0,36619.96656764383,26936590805.255203,21,12867.099387218406,9091127451.634668,706540.5479548392,510721.3072911734,954473.9081067834,0.11732055946184522,1394.3763504611175,0.13899423353415213,25734.198774436813,18182254903.269337,2788.752700922235,17,8404.345746841505,5973596769.111459,980514.24,15,7530.3213818583345,5517635468.550416,38,21271.44513405991,15064724220.746126,0.5808701407405065,0.5592661792154882,20397.42076907674,14608762920.185085,0.5570027141176915,0.5423389702803438,106357.22567029955,75323621103.73064,507878.08,980514.24,735571.1468359304,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,CO,08,1m_plus,1000000.0,inf,15610.0,47266883000.0,0.005056967827836324,0.15047604039499143,2972380.0,297676269000.0,15031.230032104131,50183822260.727684,15,7423.608717939905,71661566549.08746,9653198.231731962,1006729.1472210533,125397728.4296138,0.7587054726183184,433.5806030785683,0.8396350683483795,14847.21743587981,143323133098.17493,867.1612061571366,13,7617.498400192488,9824303047.565695,2027867.6,12,6978.775056734023,9017215747.798136,28,15041.107118132391,81485869596.65315,1.0006571043093058,1.623747772206293,14402.383774673926,80678782296.8856,0.9581640187737732,1.6076651530790698,75205.53559066195,407429347983.26575,1000067.68,125397728.4296138,3338637.1011250336,True,True,True,True,,False,False,False,False,False,125397728.4296138,433.5806030785683,puf,27.0,14607.526515053823,27115846879.458687,0.5403304423202279,True,,False +demographic_midrank6_earn,CT,09,100k_200k,100000.0,200000.0,346700.0,48601609000.0,0.1902415469540501,0.21907630202483674,1823240.0,217323692000.0,346855.9980685023,53340200502.92582,467,187275.69600970944,26012443073.173203,138899.19315437798,100183.89787502098,199910.91699217993,0.0059199320109075155,877.0000633170466,0.00909993678710283,374551.3920194189,52024886146.346405,1754.0001266340932,459,185776.04340216832,25801077183.39982,199435.0,449,182354.50644972283,25519256539.22057,926,373051.7394118777,51813520256.57302,1.0755233915205407,0.9713784306778326,369630.2024594323,51531699612.39377,1.0656589608302873,0.9660949738943547,1865258.6970593885,259067601282.8651,100000.35999999999,199910.91699217993,153781.97522878472,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,CT,09,200k_500k,200000.0,500000.0,164030.0,47639359000.0,0.0900066943953644,0.21473887007637185,1823240.0,217323692000.0,164103.80548940419,52284132422.259186,174,64582.98734392067,19052324550.979523,295005.31540173414,200366.51440020083,495933.89537498687,0.012331672690964371,510.1683333333333,0.02166220268885893,129165.97468784134,38104649101.959045,1020.3366666666666,227,85390.16696983099,24679510270.717487,499145.6,207,75957.89480489532,22381042480.62805,401,149973.15431375167,43731834821.69701,0.9138919957796781,0.8364265178679494,140540.882148816,41433367031.607574,0.8564145220745073,0.7924654213821848,749865.7715687584,218659174108.48505,200000.0,499145.6,318604.0218039615,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,CT,09,500k_1m,500000.0,1000000.0,30840.0,20858997000.0,0.01692255352772687,0.09402388152843177,1823240.0,217323692000.0,30853.876493892738,22892721149.82712,34,13135.161077551358,8865273431.832596,674926.8912266168,512253.1660839974,984282.1694202507,0.15164843986707033,1440.483383892624,0.2716477884717155,26270.322155102716,17730546863.66519,2880.966767785248,32,11135.513305922732,7194801114.931974,984077.32,28,9773.603153426993,6363961131.912221,66,24270.674383474085,16060074546.76457,0.7866329013237042,0.7015362849027604,22908.76423097835,15229234563.744816,0.7424922516790701,0.6652435271487952,121353.37191737042,80300372733.82285,500097.04,984282.1694202507,741972.281971069,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,CT,09,1m_plus,1000000.0,inf,16460.0,54752381000.0,0.009031946532632434,0.24680148257097687,1823240.0,217323692000.0,16467.406196156757,60090664499.452805,16,6179.089611251984,16603010083.713982,2686967.0337002836,1007826.2187769552,7674629.74696965,0.1889406370318825,408.74718459249914,0.2617284086614693,12358.179222503968,33206020167.427963,817.4943691849983,14,6861.844757823652,8533555853.885227,1900719.0,13,6415.855937351987,7909842146.203199,30,13040.934369075638,25136565937.599213,0.7919240112094396,0.4183106668395739,12594.945548603971,24512852229.917183,0.7648408862072912,0.4079311226478516,65204.67184537819,125682829687.99606,1007826.2187769552,7674629.74696965,3649066.755484361,True,True,True,True,,False,False,False,False,False,7674629.74696965,408.74718459249914,puf,29.0,12632.187184483138,21999582635.735523,0.3661064962251475,True,,False +demographic_midrank6_earn,DC,11,100k_200k,100000.0,200000.0,70930.0,9850931000.0,0.20344184712462354,0.19717523234354584,348690.0,46825089000.0,70938.13767388498,10343872070.191944,736,42897.02912054044,5935776409.469141,138372.66895079467,100006.35170579643,199770.5887593509,0.004213992703815703,130.85,0.0072465284810890335,85794.05824108089,11871552818.938282,261.7,749,44703.740416827386,6291486834.312745,199360.0,732,43723.6999656141,6136675175.55497,1485,87600.76953736783,12227263243.781887,1.23488961523185,1.1820779646934472,86620.72908615455,12072451585.02411,1.2210741912110123,1.1671114552753832,438003.8476868392,61136316218.90944,100000.0,199770.5887593509,145815.38801800142,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,DC,11,200k_500k,200000.0,500000.0,39740.0,11892240000.0,0.11398250394378316,0.2380338655387201,348690.0,46825089000.0,39744.55930015775,12487328272.629202,475,24338.70905048401,7262764029.695391,298403.8313055458,200174.15784836916,497155.7580438242,0.007198945205196084,105.50949314392214,0.01301964608265222,48677.41810096802,14525528059.390781,211.01898628784429,565,29736.40816410325,9007774261.582886,499004.0,550,28895.857880358042,8766832321.177399,1040,54075.11721458726,16270538291.278278,1.3605665320428557,1.3029639275954201,53234.56693084205,16029596350.87279,1.3394177182543512,1.2836690123705512,270375.5860729363,81352691456.39139,200000.0,499004.0,314189.6272725721,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,DC,11,500k_1m,500000.0,1000000.0,7580.0,5053560000.0,0.02174100100387208,0.1011515426472939,348690.0,46825089000.0,7580.869640040155,5306440390.155936,78,3818.1028578365713,2664034790.83831,697737.8268818604,500514.6589712257,994890.3107053452,0.036560663599097584,106.00333333333333,0.058805551720447144,7636.205715673143,5328069581.67662,212.00666666666666,92,4798.331639168806,3157532318.5834823,999276.08,83,4290.029278889504,2833157333.908137,170,8616.434497005375,5821567109.421793,1.1366023828579823,1.0970757572668632,8108.132136726075,5497192124.746447,1.0695517165868489,1.0359472114196133,43082.17248502688,29107835547.108963,500514.6589712257,999276.08,699977.7917468356,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,DC,11,1m_plus,1000000.0,inf,3370.0,13410961000.0,0.009665854008317798,0.2684324305109062,348690.0,46825089000.0,3370.386634160333,14082046145.926048,44,2198.3869206352915,5627088708.025835,2559644.3716103053,1017087.984947781,22694329.41520695,0.28691788991657896,71.14166666666667,0.45013268797229405,4396.773841270583,11254177416.05167,142.28333333333333,31,1486.619741959795,1744852275.947395,1397627.4,29,1384.8288182107954,1618982538.2589602,75,3685.0066625950863,7371940983.973228,1.093348349191141,0.5234992775610198,3583.215738846087,7246071246.284796,1.063146792278559,0.5145609644505456,18425.033312975433,36859704919.86614,1001373.6,22694329.41520695,4178169.3539840183,True,True,True,True,,False,False,False,False,False,22694329.41520695,71.14166666666667,puf,74.0,3613.8649959284194,5757428565.493048,0.4088488637113775,True,,False +demographic_midrank6_earn,DE,10,100k_200k,100000.0,200000.0,96120.0,13335670000.0,0.18944007568142848,0.2987687403274699,503140.0,42387377000.0,95314.87967835393,14188087771.962938,404,41873.7312494528,5726232054.950653,136749.9834404053,100352.98701543483,198363.80137257266,0.006454767994643747,237.21666666666664,0.010346447909443024,83747.4624989056,11452464109.901306,474.4333333333333,421,44734.70315344065,6206422753.347822,198540.0,407,43185.319498549936,5944968520.112755,825,86608.43440289344,11932654808.298475,0.9086559695103122,0.8410333372675195,85059.05074800274,11671200575.063408,0.8924005468510255,0.8226056084969288,433042.1720144672,59663274041.49238,100000.0,198540.0,148854.90932624092,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,DE,10,200k_500k,200000.0,500000.0,33790.0,9489115000.0,0.06659571532746014,0.21259156348143737,503140.0,42387377000.0,33506.96820985829,10095660472.870888,139,14561.712190676793,4093619754.814141,281122.1442376193,200277.81244584205,475740.1297349499,0.020396868558837402,189.1829129623759,0.03865344812063737,29123.424381353587,8187239509.628282,378.3658259247518,142,13873.901748808064,3838078236.9062347,494469.99999999994,129,12681.743888077443,3554916794.9167633,281,28435.613939484858,7931697991.720376,0.848647772648038,0.7856541940009252,27243.456078754236,7648536549.730904,0.8130683715734917,0.757606356739521,142178.0696974243,39658489958.60188,200251.6,494469.99999999994,301300.3268347203,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,DE,10,500k_1m,500000.0,1000000.0,3930.0,2611383000.0,0.007745521196712588,0.058504717754906156,503140.0,42387377000.0,3897.0815349139716,2778302943.1751003,20,1897.479905535379,1409630205.9134958,742895.9863033516,508564.120243329,971808.4366870015,0.09368615533728232,135.89389580682516,0.13911313181023352,3794.959811070758,2819260411.8269916,271.7877916136503,22,2330.1882000196833,1672728530.491612,987894.04,20,2099.1573298548387,1485163557.852753,42,4227.6681055550625,3082358736.405108,1.084829267152705,1.1094393950007937,3996.637235390218,2894793763.7662487,1.025546219545146,1.0419287683790237,21138.34052777531,15411793682.02554,502851.36,987894.04,712918.8646129858,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,DE,10,1m_plus,1000000.0,inf,1660.0,4274659000.0,0.003271645085634325,0.0957683029618671,503140.0,42387377000.0,1646.0955083860542,4547895762.808417,4,423.0753952976581,556545418.7327228,1315475.7400655758,1225648.60121899,1347215.3720501827,0.3061023750794122,126.45333333333332,0.32896181517253065,846.1507905953162,1113090837.4654455,252.90666666666664,3,300.74242827208656,332685138.92891496,1110687.2,3,300.74242827208656,332685138.92891496,7,723.8178235697446,889230557.6616377,0.4397179992790489,0.19552571211801914,723.8178235697446,889230557.6616378,0.4397179992790489,0.19552571211801917,3619.089117848723,4446152788.308188,1099999.0,1347215.3720501827,2762838.3284196486,True,False,False,False,amount_cap|mean_out_of_range,False,False,False,False,False,1347215.3720501827,126.45333333333332,puf,6.0,597.3644902364113,718870683.1479852,0.15806665777758902,False,amount_cap|mean_out_of_range,False +demographic_midrank6_earn,FL,12,100k_200k,100000.0,200000.0,1654530.0,228173416000.0,0.14748833129494993,0.20737743283796525,11130320.0,1121782194000.0,1641592.323578807,260628679766.27945,1656,921711.5154005699,125798884741.92,136484.01114664236,100070.78458928458,199970.95046714763,0.0016094015549115838,1082.3947096801235,0.0028178283597704665,1843423.0308011398,251597769483.84,2164.789419360247,1521,841240.0879100991,114870119698.90913,199720.0,1489,824152.7265724783,112083992411.82726,3177,1762951.6033106688,240669004440.82916,1.0739277821836353,0.9234171951323651,1745864.241973048,237882877153.74725,1.0635187658327492,0.9127271694238345,8814758.016553344,1203345022204.1458,100000.0,199970.95046714763,158765.77638843204,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,FL,12,200k_500k,200000.0,500000.0,653190.0,189337847000.0,0.05822674905776767,0.17208138151346888,11130320.0,1121782194000.0,648082.3495726526,216269160353.89426,547,300992.4459698708,86994429717.45358,289025.2924359493,200128.81664747745,497938.6990091946,0.00546977290441212,990.5749999999999,0.010364434652329559,601984.8919397416,173988859434.90717,1981.1499999999999,570,312084.2207247651,87291108727.91214,499187.0,531,287911.28375601093,80046701681.14584,1117,613076.6666946359,174285538445.36572,0.9459857487229831,0.8058732838291497,588903.7297258817,167041131398.59943,0.9086865737266361,0.7723761035797243,3065383.3334731795,871427692226.8286,200000.0,499187.0,333706.29596146656,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,FL,12,500k_1m,500000.0,1000000.0,120680.0,81928683000.0,0.010757672463282356,0.07446161018308743,11130320.0,1121782194000.0,119736.33697152088,93582174731.87158,96,53238.83907429842,36684091655.194534,689047.5504922147,504510.54682561336,997910.7228898109,0.03587195146377826,1373.5649999999998,0.06251047703977454,106477.67814859684,73368183310.38907,2747.1299999999997,67,36908.20610611791,23854214887.512848,990880.0,63,34629.17862378518,22305230036.673477,163,90147.04518041633,60538306542.70738,0.7528795974596891,0.6468999755152052,87868.0176980836,58989321691.86801,0.7338458810459759,0.6303478398624758,450735.22590208164,302691532713.5369,500000.0,997910.7228898109,781568.7125465511,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,FL,12,1m_plus,1000000.0,inf,72950.0,290759506000.0,0.006502918513394497,0.2642593558204649,11130320.0,1121782194000.0,72379.56398800504,332116981490.41,64,34642.27131501388,88915833450.59607,2566686.018998418,1003509.3657837842,48330579.9025057,0.18686769262823888,343.7884806792528,0.29980910620352585,69284.54263002776,177831666901.19214,687.5769613585056,54,30008.071801161317,36469087480.217674,2289205.6,53,29591.052835820312,34715032797.49151,118,64650.343116175194,125384920930.81374,0.8932126632717661,0.3775323994820611,64233.32415083419,123630866248.08759,0.8874511065233707,0.37225096317954304,323251.715580876,626924604654.0687,1000000.0,48330579.9025057,4588546.313230754,True,True,True,True,,False,False,False,False,False,48330579.9025057,343.7884806792528,puf,117.0,64306.55463549594,108769424295.78409,0.32750335080028076,True,,False +demographic_midrank6_earn,GA,13,100k_200k,100000.0,200000.0,745870.0,103159160000.0,0.15278460580436884,0.25090203433030794,4932040.0,405672589000.0,753539.7872113793,114033384485.3369,810,461839.8052074164,62713303024.97791,135790.16429043573,100012.50466157004,199777.235066327,0.0037902655086923835,1345.9083333333333,0.0062379589987422955,923679.6104148328,125426606049.95583,2691.8166666666666,781,448684.922117173,61051557246.18608,198791.87999999998,755,432160.23786974885,58819163510.420456,1591,910524.7273245894,123764860271.164,1.2083299950148132,1.0853388315162955,894000.0430771653,121532466535.39838,1.1864005832864997,1.0657621632814533,4552623.636622947,618824301355.8201,100000.0,199777.235066327,151330.2766763513,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,GA,13,200k_500k,200000.0,500000.0,295600.0,85038313000.0,0.06055093980957999,0.20682880441947638,4932040.0,405672589000.0,298639.6571784409,94002380809.55121,288,162208.8604075425,45810910002.6804,282419.2826925887,200150.21160227276,498387.11416409875,0.00839270088061909,927.5316666666666,0.01488285426938606,324417.720815085,91621820005.3608,1855.0633333333333,314,179992.70963018353,50308444633.98255,493148.68,302,172485.23402965543,47911419304.88381,602,342201.570037726,96119354636.66293,1.1458678102930462,1.0225204277687467,334694.0944371979,93722329307.56421,1.120728899836682,0.9970208041586267,1711007.8501886302,480596773183.3147,200000.0,498387.11416409875,314768.5799591701,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,GA,13,500k_1m,500000.0,1000000.0,46120.0,30879362000.0,0.009447257591399964,0.07510428298002819,4932040.0,405672589000.0,46594.25233108828,34134420633.203114,30,17148.940579886174,11888969752.271845,693277.2142330648,504987.0767546874,986398.2524075554,0.0587871551953806,860.339687888059,0.09273935231915417,34297.88115977235,23777939504.54369,1720.679375776118,22,12141.545032925364,8040918646.224129,950002.72,21,11540.338099378281,7661431959.566891,52,29290.48561281154,19929888398.495975,0.6286287288114408,0.5838648504585967,28689.278679264455,19550401711.838737,0.615725701002881,0.5727474305751579,146452.4280640577,99649441992.47987,504987.0767546874,986398.2524075554,732588.6547261579,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,GA,13,1m_plus,1000000.0,inf,19740.0,54395277000.0,0.004043557347229733,0.13229930970027876,4932040.0,405672589000.0,19942.986578830933,60129197798.11509,21,12070.442970612354,27405434106.43422,2270458.0248759417,1001718.7295897113,9951077.265147153,0.25294470042722217,696.613958009246,0.4066155178632616,24140.885941224707,54810868212.86844,1393.227916018492,13,7714.510364479574,9881904400.343311,2204688.0,13,7714.510364479574,9677976068.38448,34,19784.953335091926,37287338506.777534,0.9920757483782918,0.6201203387407641,19784.953335091926,37083410174.818695,0.9920757483782918,0.6167288361193,98924.76667545963,186436692533.88766,1001718.7295897113,9951077.265147153,3015054.8194191228,True,True,True,True,,False,False,False,False,False,9951077.265147153,696.613958009246,puf,33.0,19088.339377082684,30355279186.64755,0.5048342618600362,True,,False +demographic_midrank6_earn,HI,15,100k_200k,100000.0,200000.0,131140.0,18094971000.0,0.1885658413136629,0.3085593459561336,689960.0,57676242000.0,130102.88787277487,19938286333.829025,711,63289.22963397915,8661036661.571964,136848.50821634853,100049.87526235322,199958.07397488118,0.005335338301765343,233.29833333333332,0.009810725488238123,126578.4592679583,17322073323.14393,466.59666666666664,657,58025.108337394835,7989147287.035843,199097.44,622,55609.94836761913,7662519665.630491,1368,121314.33797137399,16650183948.607807,0.9324492327180698,0.8350860083876748,118899.17800159828,16323556327.202456,0.9138857710665694,0.8187040778678404,606571.6898568699,83250919743.03903,100000.0,199958.07397488118,153250.1442498824,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,HI,15,200k_500k,200000.0,500000.0,41940.0,11726380000.0,0.06030540936933828,0.1999607594415645,689960.0,57676242000.0,41608.32024846864,12920933783.164724,208,18783.4281154143,5325564384.495544,283524.62350177765,200176.84949444057,492737.7432466265,0.013931899993231307,169.10932848303818,0.025733897168283955,37566.8562308286,10651128768.991089,338.21865696607637,234,21411.062785571296,5897939337.57342,484280.8,209,18954.235139513068,5198869283.318352,442,40194.490900985606,11223503722.068962,0.9660205137087919,0.8686294590173179,37737.66325492736,10524433667.813896,0.9069739664945082,0.8145257799809068,200972.45450492803,56117518610.34481,200000.0,492737.7432466265,310537.2604807393,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,HI,15,500k_1m,500000.0,1000000.0,5180.0,3457928000.0,0.007448307594973111,0.0589653336301783,689960.0,57676242000.0,5139.034308227648,3810183425.315505,31,2974.169024830131,1946914302.0506852,654607.8201328462,500450.6836462433,963008.5438664235,0.07089125915114267,143.3208533930572,0.14431161514741545,5948.338049660262,3893828604.1013703,286.6417067861144,25,2397.838828531912,1490610622.8952136,838873.24,21,2009.546823551051,1235271722.55535,56,5372.0078533620435,3437524924.945899,1.0453341097103406,0.9021940786646648,4983.715848381182,3182186024.606035,0.9697767225259035,0.8351792208907979,26860.039266810218,17187624624.729496,500015.64,963008.5438664235,741420.118409282,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,HI,15,1m_plus,1000000.0,inf,1960.0,4917011000.0,0.0028182785494492856,0.08384593145902883,689960.0,57676242000.0,1944.499467978029,5417901649.28073,13,1041.4217735022723,2394579817.948511,2299337.1935134465,1072424.9737480786,6386811.738517932,0.2242385239349526,84.32442228863398,0.33450092795169484,2082.8435470045447,4789159635.897022,168.64884457726797,7,613.4321207713836,753113714.0236222,1636020.3599999999,6,477.0269612482046,591362644.8267184,20,1654.8538942736561,3147693531.972134,0.851043634377767,0.5809801904377528,1518.448734750477,2985942462.7752295,0.7808943945505024,0.5511252614140083,8274.269471368281,15738467659.86067,1052201.36,6386811.738517932,2786270.574254509,True,True,True,True,,False,False,False,False,False,6386811.738517932,64.33833333333332,puf,19.0,1590.515560940323,2736776709.402121,0.5051359154453182,True,,False +demographic_midrank6_earn,IA,19,100k_200k,100000.0,200000.0,289160.0,39515430000.0,0.19511470985155197,0.3096123710966054,1485900.0,122342275000.0,289920.94736842107,42437229693.794754,417,137924.2156816767,18574535286.25294,134672.03851368776,100066.42917929149,199879.81507081285,0.006007213036430867,568.2662123024107,0.01144986767669467,275848.4313633534,37149070572.50588,1136.5324246048215,445,146627.90501195047,19789247044.10143,199273.72,421,137885.79036792502,18649186669.65093,862,284552.12069362716,38363782330.35437,0.9814817565839029,0.9040124109695122,275810.0060496017,37223721955.90387,0.9513283139873033,0.8771477833141117,1422760.603468136,191818911651.77185,100000.0,199879.81507081285,146375.17598846368,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,IA,19,200k_500k,200000.0,500000.0,81450.0,22945776000.0,0.05495951417004048,0.17978536774145143,1485900.0,122342275000.0,81664.34210526316,24642403400.75669,112,37671.77858509093,10513685130.90092,279086.5078789203,200037.22131023425,498968.2730252205,0.026288456838577893,601.9777435513239,0.052358429497907796,75343.55717018186,21027370261.80184,1203.9554871026478,152,48783.32315618465,13399748213.324036,496521.56,130,40493.122869561616,10983917063.350037,264,86455.10174127556,23913433344.22496,1.058664032703983,0.9704180617175779,78164.90145465254,21497602194.250957,0.9571484865928396,0.8723825287914422,432275.5087063778,119567166721.1248,200000.0,498968.2730252205,301752.30419407884,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,IA,19,500k_1m,500000.0,1000000.0,10560.0,7062917000.0,0.007125506072874494,0.055339559236190085,1485900.0,122342275000.0,10587.78947368421,7585154230.567849,23,7702.920986193789,5023951884.48151,652213.867114321,522984.86141086783,878795.4783713992,0.06671310281643736,478.39166666666665,0.08503589483877423,15405.841972387578,10047903768.96302,956.7833333333333,22,7578.885975491559,5061501432.872723,862924.7200000001,21,7167.081798304885,4768488031.921668,45,15281.806961685348,10085453317.354233,1.4433425409211287,1.3296306193366885,14870.002784498673,9792439916.40318,1.4044482865340153,1.2910007652764741,76409.03480842675,50427266586.771164,506009.51999999996,878795.4783713992,716405.8417879044,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,IA,19,1m_plus,1000000.0,inf,4310.0,12915938000.0,0.0029082321187584347,0.10119930845031289,1485900.0,122342275000.0,4321.342105263158,13870951869.10055,7,1836.5660179329836,2363822337.010253,1287088.1383674326,1066089.8662698723,1470277.8599598904,0.22649895714433757,413.255,0.23206071671560558,3673.1320358659673,4727644674.020506,826.51,6,1505.166018302784,1629998873.7575648,1135009.8800000001,5,1183.9390253177269,1288789383.3043323,13,3341.7320362357677,3993821210.767818,0.7733088366611199,0.2879269749082327,3020.5050432507105,3652611720.314585,0.6989738302764552,0.263328123028909,16708.66018117884,19969106053.83909,1000000.0,1470277.8599598904,3209871.2694388367,True,True,False,False,mean_out_of_range,False,False,False,False,False,1470277.8599598904,260.1769926152568,puf,12.0,3081.5550436205112,3611288738.8546576,0.26034902095647083,False,mean_out_of_range,False +demographic_midrank6_earn,ID,16,100k_200k,100000.0,200000.0,159150.0,21677262000.0,0.17990165602215566,0.28481408744373965,869500.0,72860958000.0,156424.48991126433,23249226666.845253,630,82906.34335063717,11208746651.674635,135197.6965655004,100106.1678501211,199995.4009862171,0.004022925553291999,237.02393276200064,0.007329930355127556,165812.68670127433,22417493303.34927,474.0478655240013,632,81669.12376420545,11175965740.006195,199703.8,618,79452.94270355158,10815357806.358294,1262,164575.46711484264,22384712391.68083,1.0521080631824478,0.9628153534931434,162359.28605418873,22024104458.03293,1.0379403260083575,0.9473048189357877,822877.3355742132,111923561958.40414,100000.0,199995.4009862171,148629.07131763033,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,ID,16,200k_500k,200000.0,500000.0,47390.0,13485953000.0,0.053569208161419773,0.17718978517693623,869500.0,72860958000.0,46578.42649635449,14463910530.556015,155,20027.983885614733,5734527176.877388,286325.73351510736,200038.35221555457,497226.73376798874,0.01637149011201849,202.8787125580323,0.03083236460491072,40055.967771229465,11469054353.754776,405.7574251160646,192,23925.113311583416,6406951213.829483,468017.68,175,21541.322914306416,5740160904.614752,347,43953.09719719815,12141478390.706871,0.9436363678072762,0.8394326254339831,41569.30679992115,11474688081.49214,0.8924583745475948,0.7933323465497844,219765.48598599073,60707391953.534355,200038.35221555457,497226.73376798874,310528.1053598504,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,ID,16,500k_1m,500000.0,1000000.0,7030.0,4728593000.0,0.007946645566043067,0.062128229118043374,869500.0,72860958000.0,6909.608319674447,5071495213.383397,23,2611.843264670732,1737083899.3688478,665079.6863906906,501034.36037724675,994395.7294516955,0.07592290788621815,146.495,0.13599743151424734,5223.686529341464,3474167798.7376957,292.99,23,2642.522801931784,1659554053.6353104,838496.3200000001,21,2421.985951036863,1478866288.4481232,46,5254.366066602515,3396637953.0041585,0.760443403375154,0.6697507953947422,5033.829215707595,3215950187.816971,0.7285259862522524,0.6341226901546224,26271.83033301258,16983189765.020792,501034.36037724675,994395.7294516955,733977.2355753945,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,ID,16,1m_plus,1000000.0,inf,3230.0,9952358000.0,0.003651161476290058,0.13076244415385124,869500.0,72860958000.0,3174.6849036342055,10674070692.672844,10,1076.2233913084426,1567020487.4471788,1456036.4512631886,1087475.1422240478,2415255.222298391,0.15210895012705636,165.7166455890547,0.24376199351782313,2152.4467826168852,3134040974.8943577,331.4332911781094,6,557.0538948074108,611984226.6540214,1227125.0799999998,5,455.44222814074413,506114453.9941895,16,1633.2772861158535,2179004714.1012,0.514469100302259,0.20413999277679187,1531.6656194491868,2073134941.4413683,0.4824622493072682,0.19422158622806013,8166.386430579268,10895023570.506,1022090.68,2415255.222298391,3362245.7083705384,True,True,False,False,mean_out_of_range,False,False,False,False,False,2415255.222298391,84.53434877508805,puf,15.0,1548.7429373407654,1974832686.7585752,0.1850121423792132,False,amount_cap|mean_out_of_range,False +demographic_midrank6_earn,IL,17,100k_200k,100000.0,200000.0,1124270.0,156259052000.0,0.18429870202253673,0.2580538337054279,6112890.0,580846466000.0,1126597.6926065446,167928278048.45697,1016,570523.5901274787,79017682556.9837,138500.28977649787,100044.99772436282,199667.09200010795,0.0030267824228047443,1310.8466666666666,0.004920695375595337,1141047.1802549574,158035365113.9674,2621.693333333333,978,555068.2338948403,77864770637.98871,199999.0,944,531713.0237536278,74373891884.4015,1994,1125591.8240223192,156882453194.9724,0.9991071625738038,0.9342229612436257,1102236.6138811065,153391574441.3852,0.9783764169895686,0.9134350463423611,5627959.120111596,784412265974.862,100000.0,199999.0,149057.89276021943,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,IL,17,200k_500k,200000.0,500000.0,447940.0,128317099000.0,0.07342965709658276,0.2119091272031327,6112890.0,580846466000.0,448867.4165691298,137899655753.98077,431,245145.54620230725,71495072272.10909,291643.36607244547,200034.9755448185,495855.17702466005,0.0063092239833707235,958.5283333333333,0.011545143096691234,490291.0924046145,142990144544.21817,1917.0566666666666,500,269212.6072215666,76953903012.37225,496893.39999999997,479,256675.23631648495,73209603898.05162,931,514358.1534238738,148448975284.48135,1.145902185004462,1.0764999700167566,501820.7825187922,144704676170.1607,1.1179710622669068,1.0493476243937867,2571790.767119369,742244876422.4067,200007.4,496893.39999999997,307216.898940899,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,IL,17,500k_1m,500000.0,1000000.0,68110.0,45643960000.0,0.011165097881073921,0.07537866582921034,6112890.0,580846466000.0,68251.01518623796,49052592525.08871,55,33073.34884246679,21948702222.613075,663637.1274997874,502583.77328526875,988147.9660365044,0.04216596173721122,1190.0849999999998,0.07683014453542227,66146.69768493358,43897404445.22615,2380.1699999999996,57,35179.73768955142,23345894588.96895,967990.64,52,32299.56879911755,21153391995.56748,112,68253.0865320182,45294596811.58203,1.0000303489372957,0.9233884384075196,65372.91764158434,43102094218.18056,0.9578306998540594,0.8786914615396796,341265.432660091,226472984057.91016,500000.0,988147.9660365044,718708.6139486406,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,IL,17,1m_plus,1000000.0,inf,30430.0,100562853000.0,0.004988311973588011,0.16607440921250047,6112890.0,580846466000.0,30493.00238022642,108072758178.0677,25,13061.254556513682,27544761819.608772,2108890.9721824634,1047244.9945800311,18701692.467423104,0.23230587960910162,342.15139267601825,0.41817624836521144,26122.509113027365,55089523639.217545,684.3027853520365,16,8210.685328902198,9906596365.950151,2212967.96,14,7103.068518632262,8613522720.815596,41,21271.939885415883,37451358185.55892,0.6976007026192327,0.3465383767096203,20164.323075145945,36158284540.42437,0.6612770636263013,0.3345735331455835,106359.69942707941,187256790927.79462,1044246.72,18701692.467423104,3544182.26288366,True,True,True,True,,False,False,False,False,False,18701692.467423104,342.15139267601825,puf,40.0,20929.788492739863,31052548062.431507,0.2873300227173559,False,mean_out_of_range,False +demographic_midrank6_earn,IN,18,100k_200k,100000.0,200000.0,544590.0,74363014000.0,0.16798326922543053,0.2906339906727545,3246780.0,246316586000.0,545404.7188557433,80203298479.47289,594,295580.5939602,40786045607.81267,137986.2089772528,100070.78458928458,199595.6904238321,0.004481033273509059,950.2271620677257,0.007814483345601232,591161.1879204,81572091215.62534,1900.4543241354513,570,289102.28181436524,39368718092.246445,199933.96000000002,559,282294.831222997,38461947866.13081,1164,584682.8757745653,80154763700.05911,1.072016532972482,0.9993948530754481,577875.425183197,79247993473.94348,1.0595350667217862,0.9880889561446914,2923414.378872826,400773818500.29553,100000.0,199933.96000000002,147052.8136385381,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,IN,18,200k_500k,200000.0,500000.0,153020.0,43024986000.0,0.047200278846242824,0.16815514470432025,3246780.0,246316586000.0,153248.9213524043,46404060414.13467,165,83545.6671934853,24181637133.701378,289442.14518867363,201039.6352994187,499182.91430568707,0.017652437172608303,872.8549999999999,0.03376295824412165,167091.3343869706,48363274267.402756,1745.7099999999998,204,101039.34454922189,27006558097.418324,474605.68,186,91002.36855179993,24321364082.601013,369,184585.01174270717,51188195231.1197,1.2044783748803283,1.103097331877617,174548.03574528522,48503001216.30239,1.1389837801461744,1.0452318349608989,922925.0587135358,255940976155.59848,200000.0,499182.91430568707,302801.87295691296,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,IN,18,500k_1m,500000.0,1000000.0,20910.0,14090422000.0,0.006449861656482404,0.05506979015298082,3246780.0,246316586000.0,20941.281829033942,15197048379.019861,23,11511.544550248296,8208854394.475688,713097.565547677,504104.25871800724,995132.089067733,0.06975579130405818,604.1413407262296,0.11028756905001169,23023.089100496592,16417708788.951376,1208.2826814524592,21,11282.35322345437,7795386119.12309,960002.7200000001,21,10860.394978208626,7581034197.820257,44,22793.897773702665,16004240513.59878,1.0884671702426627,1.0531150598752637,22371.939528456922,15789888592.295944,1.0683175801320552,1.0390102208330483,113969.48886851332,80021202567.9939,504104.25871800724,995132.089067733,725698.0973318445,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,IN,18,1m_plus,1000000.0,inf,9520.0,27067715000.0,0.002936522380187111,0.10578912292127882,3246780.0,246316586000.0,9534.242133543908,29193545400.167686,7,3419.143269994638,6280283721.700287,1836800.3987472965,1339413.005899969,3230438.2266493253,0.28286802658477134,549.9227467328591,0.4286992326034724,6838.286539989276,12560567443.400574,1099.8454934657182,4,2045.8786765715263,2518870474.7219377,1509979.0,3,1697.6552551506034,2138553358.177967,11,5465.021946566165,8799154196.422224,0.5731994079884772,0.30140752264956766,5116.798525145241,8418837079.878254,0.5366759574044204,0.2883800841753841,27325.109732830824,43995770982.11112,1065173.08,3230438.2266493253,3061968.1135910433,True,True,True,True,,False,False,False,False,False,3230438.2266493253,549.9227467328591,puf,10.0,4915.099199833306,7022662733.672401,0.24055532267184182,False,mean_out_of_range,False +demographic_midrank6_earn,KS,20,100k_200k,100000.0,200000.0,242000.0,33272131000.0,0.1771466217700022,0.28385483932929817,1361370.0,112582214000.0,241162.0964790279,35802904142.43161,484,136025.86755579145,18496143020.824158,135975.1887870732,100080.89759444346,197886.11851760073,0.004944404358871309,533.0571843695162,0.007795290310329869,272051.7351115829,36992286041.648315,1066.1143687390324,462,129546.18255843362,17861790953.25487,199944.2,452,126394.43947768642,17366356245.908684,946,265572.0501142251,36357933974.079025,1.1012180354690186,1.0155023690100498,262420.3070334779,35862499266.73284,1.0881490535404208,1.0016645332474747,1327860.2505711254,181789669870.39514,100000.0,199944.2,148459.91416211263,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,KS,20,200k_500k,200000.0,500000.0,79430.0,22503048000.0,0.05814362052558378,0.19198046180028217,1361370.0,112582214000.0,79154.98067491398,24214693986.884617,154,43264.65053265623,12703198282.917953,293616.1075270805,200169.38077115305,472797.98925310693,0.016604949019383194,473.28166666666664,0.028709117883984135,86529.30106531247,25406396565.835907,946.5633333333333,185,50806.19715892726,14130555077.575089,496663.0,170,46412.426523912145,12908869932.99216,339,94070.84769158349,26833753360.493042,1.188438767712272,1.108159920378386,89677.07705656838,25612068215.910114,1.132930313316204,1.0577076972264179,470354.23845791747,134168766802.46521,200000.0,496663.0,305914.9756644285,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,KS,20,500k_1m,500000.0,1000000.0,11280.0,7597910000.0,0.008257082204816631,0.06482011994628381,1361370.0,112582214000.0,11240.944001171218,8175828696.178868,28,7206.956302851187,5037384230.45356,698961.3949040722,504845.0580236572,951558.6290066135,0.07334475955656941,388.27427329661987,0.1222734188052362,14413.912605702373,10074768460.90712,776.5485465932397,32,8733.820875123278,6018510313.03398,954750.0,29,8038.456878923409,5444078842.401502,60,15940.777177974463,11055894543.487543,1.4180995098199547,1.3522659236555101,15245.413181774595,10481463072.85506,1.3562395809627859,1.2820061992925287,79703.88588987231,55279472717.43771,504845.0580236572,954750.0,727325.8095874343,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,KS,20,1m_plus,1000000.0,inf,4950.0,13690751000.0,0.0036234536271136813,0.1168000307946139,1361370.0,112582214000.0,4932.861064343752,14732108553.278406,14,4500.418160679259,11712640272.23517,2602567.106890208,1007502.650708799,15208012.690568037,0.495024594648673,381.2493532849869,0.7510577968840969,9000.836321358518,23425280544.47034,762.4987065699738,11,3610.33745853609,4428177298.975367,2204149.4,9,2971.522695478685,3714064120.705836,25,8110.75561921535,16140817571.210535,1.6442294873947298,1.0956216832666932,7471.940856157944,15426704392.941006,1.514727611156018,1.047148433447297,40553.77809607675,80704087856.05267,1000000.0,15208012.690568037,2986524.120812291,True,True,True,True,,False,False,False,False,False,15208012.690568037,381.2493532849869,puf,24.0,7729.506265930362,10342772568.181597,0.7020564999760316,False,mean_out_of_range,False +demographic_midrank6_earn,KY,21,100k_200k,100000.0,200000.0,307990.0,41822750000.0,0.15548375697301664,0.2862417243031326,1975890.0,139288462000.0,307218.80056541384,44668384961.681015,353,180465.11658051948,24289833377.17569,134595.7259631288,100082.49711116414,199123.7208860234,0.007649132107244993,994.885,0.013823994381167172,360930.23316103895,48579666754.35138,1989.77,313,159783.4234977507,22074359978.401188,199723.47999999998,304,154040.99598495517,21199810263.109367,666,340248.54007827013,46364193355.57687,1.1075121035954423,1.0379643991013021,334506.11256547464,45489643640.28506,1.0888204496269125,1.0183856810428351,1701242.7003913508,231820966777.88437,100000.0,199723.47999999998,145396.00076385983,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,KY,21,200k_500k,200000.0,500000.0,83860.0,23695359000.0,0.04233536108236363,0.16217490284932848,1975890.0,139288462000.0,83650.01660903147,25307599754.134605,98,50967.91889410999,14197346809.756992,278554.5715384836,200884.50660067616,450844.38169868337,0.022587489731552265,714.4119995583718,0.04440822895741574,101935.83778821999,28394693619.513985,1428.8239991167436,96,47407.887953878075,12762765505.992966,490000.0,90,44522.38000524137,11883294650.45689,194,98375.80684798807,26960112315.749954,1.1760404939042977,1.065297087739242,95490.29889935136,26080641460.213882,1.1415454864242254,1.030545832619033,491879.03423994035,134800561578.74977,200000.0,490000.0,302541.47912987036,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,KY,21,500k_1m,500000.0,1000000.0,12010.0,8063977000.0,0.006063053739556251,0.055191174210705955,1975890.0,139288462000.0,11979.9272534518,8612652897.24233,13,6532.520031965432,3884999931.3472524,594716.8799080402,504836.2246826363,764225.1450802769,0.12339743382111854,652.1287996959154,0.24781756965715768,13065.040063930865,7769999862.694505,1304.2575993918308,10,5004.718709375211,3426964446.348623,992887.48,8,3936.0231091447367,2549562509.5710306,23,11537.238741340645,7311964377.695876,0.9630474791085561,0.848979340620714,10468.543141110169,6434562440.918283,0.8738402929862406,0.7471057428749456,57686.19370670323,36559821888.47938,504836.2246826363,992887.48,718923.6391031297,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,KY,21,1m_plus,1000000.0,inf,4810.0,12629941000.0,0.0024282504985233613,0.08644137675515912,1975890.0,139288462000.0,4797.955877527324,13489286731.057106,8,3901.4084102351094,8222006132.402483,2107445.637024964,1192662.2415131298,4886663.291355625,0.292149396154822,491.55302576541294,0.44218444387801903,7802.816820470219,16444012264.804966,983.1060515308259,8,3950.5880523930173,4899587691.457986,1623080.0,6,2954.345382064018,3457964152.1932836,16,7851.996462628126,13121593823.860466,1.636529526960705,0.972741856961934,6855.753792299127,11679970284.595766,1.4288905457447245,0.8658701173357333,39259.98231314063,65607969119.30233,1018499.0,4886663.291355625,2811465.3563694186,True,True,True,True,,False,False,False,False,False,4886663.291355625,491.55302576541294,puf,15.0,7360.443436862713,10719539697.09784,0.7946706086703361,False,mean_out_of_range,False +demographic_midrank6_earn,LA,22,100k_200k,100000.0,200000.0,282520.0,38919889000.0,0.1461910232129736,0.27466789367064565,1970500.0,140655941000.0,288069.41124116443,43283078822.52269,710,166912.0115185576,22735114052.740345,136210.17352734142,100020.7540152294,199767.47474400513,0.003629973899423569,493.424021077774,0.006163212959686893,333824.0230371152,45470228105.48069,986.848042155548,643,150847.6107965033,20362126917.837067,199959.83,633,148409.45950273113,20017343684.4487,1353,317759.62231506093,43097240970.57741,1.1030661705662341,0.9957064548779607,315321.4710212888,42752457737.18904,1.0946024073250513,0.987740680659308,1588798.1115753045,215486204852.88702,100000.0,199959.83,150252.2556492025,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,LA,22,200k_500k,200000.0,500000.0,87420.0,24600044000.0,0.04523580365736285,0.17360898099388733,1970500.0,140655941000.0,89137.1511068335,27357879758.84326,184,45637.07053701867,13236149720.77216,290030.66071113414,201264.80630038265,498551.86543825455,0.020235164130981722,567.9583333333333,0.03754050148506719,91274.14107403734,26472299441.54432,1135.9166666666665,203,49676.17541415269,13767850356.788845,489280.0,185,44940.538829973004,12339902984.455593,387,95313.24595117135,27004000077.561005,1.0692875503384176,0.9870647987197229,90577.60936699167,25576052705.227753,1.0161600212960784,0.9348696949719013,476566.2297558568,135020000387.80502,200000.0,498551.86543825455,306918.93805371947,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,LA,22,500k_1m,500000.0,1000000.0,12570.0,8472356000.0,0.0065043931820298675,0.05979164475386497,1970500.0,140655941000.0,12816.906765189853,9422165940.927351,26,6716.797397249907,4575565486.958141,681212.3719604136,502430.3337572321,978136.5604644474,0.10192884047120596,479.39166666666665,0.1862409107981063,13433.594794499813,9151130973.916283,958.7833333333333,13,3653.5785283536916,2270411229.3165565,842372.4,11,3264.795917321522,1950367411.2790713,39,10370.375925603597,6845976716.274697,0.8091169043820367,0.726582057585891,9981.59331457143,6525932898.237213,0.7787833287264749,0.6926149400415799,51851.87962801799,34229883581.373486,502430.3337572321,978136.5604644474,735135.7167173544,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,LA,22,1m_plus,1000000.0,inf,5660.0,15655732000.0,0.002928788019911619,0.11048661861065752,1970500.0,140655941000.0,5771.176793235845,17410848272.981735,21,4697.40896173586,9749207204.850586,2075443.565647711,1103015.256503519,3559412.3171674986,0.1136786546968335,321.1128107550717,0.15581856415700554,9394.81792347172,19498414409.70117,642.2256215101434,9,2193.627312757084,2595677022.991792,1335409.0399999998,9,2193.627312757084,2561082394.9514256,30,6891.036274492944,12344884227.842375,1.1940435237696478,0.7090340478699848,6891.036274492944,12310289599.802011,1.1940435237696478,0.7070470896530181,34455.18137246472,61724421139.211876,1029302.92,3559412.3171674986,3016862.746847101,True,True,True,True,,False,False,False,False,False,3559412.3171674986,250.70668437599758,puf,29.0,6640.329590116948,11452515767.478226,0.6577804589366454,True,,False +demographic_midrank6_earn,MA,25,100k_200k,100000.0,200000.0,700180.0,98269106000.0,0.19472541041735614,0.22552595106228232,3567790.0,422208182000.0,694739.3720329391,106678115746.86644,961,362558.51604153676,50655499071.50015,139716.75420719333,100027.42363767595,199666.73746047055,0.002485220605446384,686.2583333333333,0.003976781853040843,725117.0320830735,101310998143.0003,1372.5166666666667,926,354457.62711418327,50001493504.55617,198768.16,897,341432.0264249782,48019467406.215164,1887,717016.14315572,100656992576.05632,1.0320649325769387,0.9435580284798292,703990.542466515,98674966477.71532,1.0133160301632325,0.9249785280409192,3585080.7157786,503284962880.2816,100000.0,199666.73746047055,153551.27410543332,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MA,25,200k_500k,200000.0,500000.0,368850.0,108127103000.0,0.1025800046165869,0.2481498889354337,3567790.0,422208182000.0,365983.91467101255,117379673823.50407,446,163921.73259617965,46817023410.61609,285605.9576063022,200959.58484059008,499295.61148796947,0.005337659470841604,562.0339076000586,0.009797599413746217,327843.4651923593,93634046821.23218,1124.0678152001171,574,208996.42190605734,60194350034.020294,492552.04,554,200765.82346895617,57422848223.63899,1020,372918.154502237,107011373444.6364,1.018946843162377,0.91166868980691,364687.5560651358,104239871634.25508,0.9964578809234224,0.8880572610126143,1864590.772511185,535056867223.182,200000.0,499295.61148796947,320723.5867975731,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MA,25,500k_1m,500000.0,1000000.0,66250.0,44351516000.0,0.01842463143784433,0.10178598579042769,3567790.0,422208182000.0,65735.21579762662,48146730442.393555,73,28242.64896158545,20348013810.760765,720471.1512166348,502941.84907707525,992370.2081362162,0.02491555237712562,533.4943062122924,0.038581473723143384,56485.2979231709,40696027621.52153,1066.9886124245847,68,26378.64011458181,17967451934.519325,959000.0,67,26133.767839499196,17770644682.330177,141,54621.28907616726,38315465745.28009,0.830928877518637,0.795806182335136,54376.41680108465,38118658493.09094,0.8272037467479938,0.7917185267377405,273106.4453808363,191577328726.40045,500000.0,992370.2081362162,732434.3558956096,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MA,25,1m_plus,1000000.0,inf,27450.0,86021156000.0,0.007634054837265312,0.197417111115033,3567790.0,422208182000.0,27236.704507846807,93382093416.49301,40,14720.083386326827,27369837020.23521,1859353.3950805245,1044458.5031931738,5763022.924778389,0.06803818092440167,518.0427010359515,0.10625908305558812,29440.166772653654,54739674040.47042,1036.085402071903,33,11448.731351926657,13093022402.569166,1602093.2799999998,30,10163.253045717212,11425566969.617464,73,26168.81473825348,40462859422.804375,0.9607922548307681,0.4333042657582774,24883.336432044038,38795403989.85268,0.9135957114369408,0.4154480004728689,130844.0736912674,202314297114.02188,1000133.96,5763022.924778389,3428538.6247660737,True,True,True,True,,False,False,False,False,False,5763022.924778389,268.8433333333333,puf,72.0,25899.97140492015,38913509129.63054,0.4167127519413448,True,,False +demographic_midrank6_earn,MD,24,100k_200k,100000.0,200000.0,624880.0,87558352000.0,0.20155988929817883,0.28072111339962047,3095140.0,295351996000.0,623856.0757623652,92889613494.59271,548,318629.76236209844,44518943075.0893,139719.97701990223,100076.94450343952,199831.1544507232,0.004448944309150072,1360.1729591796561,0.006730342291212659,637259.5247241969,89037886150.1786,2720.3459183593122,533,319689.03600272216,44882167930.06517,199973.28,518,309993.31778749294,43518492436.12248,1081,638318.7983648205,89401111005.15448,1.0231827871272738,0.9624446441512936,628623.0801495914,88037435511.21179,1.007641192532109,0.9477640416313782,3191593.9918241026,447005555025.7724,100000.0,199973.28,148895.90260234245,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MD,24,200k_500k,200000.0,500000.0,284340.0,80616057000.0,0.0917160717626491,0.25846339911613764,3095140.0,295351996000.0,283874.0823554458,85524615358.08778,245,145432.97220265967,41665055577.989624,286489.7481427369,200045.2567787945,497424.63216745714,0.011175604459437952,937.1287650863135,0.02211768394103241,290865.94440531934,83330111155.97925,1874.257530172627,293,169110.56510708347,48279130387.76268,481441.36,278,159007.93961341726,45125331531.30245,538,314543.5373097432,89944185965.75229,1.1080389400110695,1.051676006833354,304440.91181607696,86790387109.29208,1.0724505361319987,1.0148000870381535,1572717.686548716,449720929828.7615,200000.0,497424.63216745714,301276.58942460374,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MD,24,500k_1m,500000.0,1000000.0,33480.0,22263897000.0,0.010799233602776577,0.07138035163629473,3095140.0,295351996000.0,33425.13989329789,23619503336.625412,23,12933.415739589813,8549424485.544591,661033.7638319619,501277.32441774395,933834.9423040044,0.08974300847631739,929.8649999999999,0.14515588524511894,25866.831479179626,17098848971.089182,1859.7299999999998,24,14349.299746093257,9302786856.077919,986351.36,23,13825.443435746954,8825300785.583239,47,27282.71548568307,17852211341.62251,0.8162333971608464,0.7558250098316042,26758.859175336765,17374725271.12783,0.8005608730661502,0.735609255770668,136413.57742841536,89261056708.11255,501277.32441774395,986351.36,706638.8775641709,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MD,24,1m_plus,1000000.0,inf,13290.0,37103420000.0,0.004286792550206114,0.11895739395978748,3095140.0,295351996000.0,13268.223093844952,39362576663.47513,12,6523.563045642859,11184429255.807604,1714466.3395684932,1014334.7902655562,5063906.82496489,0.19495530712169346,1225.889419026026,0.28499826808928697,13047.126091285718,22368858511.615208,2451.778838052052,9,5481.166716522772,6390315793.421815,1737229.24,9,5481.166716522772,6287755805.684367,21,12004.72976216563,17574745049.229416,0.9047729810734455,0.4464836029277822,12004.72976216563,17472185061.49197,0.9047729810734455,0.443878082750222,60023.648810828156,87873725246.14708,1007937.3200000001,5063906.82496489,2966680.34484099,True,True,True,True,,False,False,False,False,False,5063906.82496489,306.5,puf,20.0,11698.22976216563,16022657607.377678,0.40705306830803173,False,mean_out_of_range,False +demographic_midrank6_earn,ME,23,100k_200k,100000.0,200000.0,121480.0,16599287000.0,0.1705940176941441,0.28817562204511815,710860.0,54409847000.0,121268.46341805927,17566567623.817863,282,67075.83277526175,9347353983.51207,139355.01948712993,100126.89110820816,198747.5181003582,0.009285832162301525,503.67628035813533,0.013800566895485058,134151.6655505235,18694707967.02414,1007.3525607162707,271,65324.50880750058,8741707679.875284,199375.8,257,61842.359773125776,8306798966.109192,553,132400.34158276234,18089061663.387352,1.0917953262615951,1.0297436614117523,128918.19254838752,17654152949.62126,1.0630809438390976,1.0049859100354155,662001.7079138117,90445308316.93677,100000.0,199375.8,144856.85007205143,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,ME,23,200k_500k,200000.0,500000.0,36740.0,10449572000.0,0.051593877264429155,0.18141212397889436,710860.0,54409847000.0,36676.02359219211,11058493848.437809,78,16940.667261366547,4831674141.779121,285211.5602788462,205355.88117830074,495943.99478545453,0.029519583058053626,287.5909530861445,0.05895976202070691,33881.334522733094,9663348283.558243,575.181906172289,106,23165.522222652075,6250686146.172866,488958.16000000003,100,21390.444159144095,5891584999.905234,184,40106.189484018614,11082360287.951988,1.0935261120444024,1.0021581998273255,38331.11142051064,10723259141.684357,1.045127242983639,0.9696853195970435,200530.94742009306,55411801439.75994,200006.8,495943.99478545453,301518.3426480299,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,ME,23,500k_1m,500000.0,1000000.0,5300.0,3531289000.0,0.007442774891166971,0.06130572983020796,710860.0,54409847000.0,5290.770959134953,3737065755.760724,17,3999.567172061515,2412848010.1153173,603277.2813443341,521666.32717093115,770804.4791421902,0.09253837541076575,424.47329207792023,0.1724880050375015,7999.13434412303,4825696020.230635,848.9465841558405,9,1997.3849975888597,1168399985.2613864,704689.3200000001,5,1266.2313907931666,758437874.2582055,26,5996.952169650373,3581247995.3767037,1.1334741601875886,0.958304784938872,5265.798562854681,3171285884.3735228,0.9952800080606107,0.8486031800443848,29984.760848251866,17906239976.88352,503285.24,770804.4791421902,706336.7105900458,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,ME,23,1m_plus,1000000.0,inf,2060.0,5352577000.0,0.0028928521275101812,0.09292460613033514,710860.0,54409847000.0,2056.4128633618875,5664484615.043534,11,2518.4467451293062,3723893926.405193,1478647.0802319841,1001491.6921502809,2754259.6673034932,0.19465403694131758,263.1817887474989,0.383002427928744,5036.8934902586125,7447787852.810386,526.3635774949978,6,1499.4285774949976,1689945957.7689548,1387557.96,6,1499.4285774949976,1689945957.7689548,17,4017.8753226243034,5413839884.174147,1.953827168760147,0.9557515382416726,4017.875322624304,5413839884.174148,1.9538271687601472,0.9557515382416728,20089.376613121516,27069199420.870735,1001491.6921502809,2754259.6673034932,2754546.3831533613,True,True,False,False,mean_out_of_range,False,False,False,False,False,2754259.6673034932,263.1817887474989,puf,16.0,3754.6935338768044,4688968898.258123,0.8277838527101528,False,mean_out_of_range,False +demographic_midrank6_earn,MI,26,100k_200k,100000.0,200000.0,820010.0,112767563000.0,0.16829935574971316,0.28325472260908835,4871390.0,379740366000.0,819851.7986055952,120508059164.18417,823,459992.9937419209,63189760561.546585,137371.1369982283,100163.16353446226,199855.1446373064,0.003839948433094142,1353.7312633654808,0.006240222094696768,919985.9874838418,126379521123.09317,2707.4625267309616,770,425316.1646107923,58295770359.265,199887.36,735,403793.4193757032,55113534321.98343,1593,885309.1583527131,121485530920.81158,1.0798404783138218,1.008111256321004,863786.4131176241,118303294883.53001,1.053588483414628,0.9817044246173584,4426545.7917635655,607427654604.0579,100000.0,199887.36,146987.61333346393,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MI,26,200k_500k,200000.0,500000.0,263110.0,74339641000.0,0.05400085790576582,0.18672971047812933,4871390.0,379740366000.0,263059.2391935686,79442400079.81915,264,148434.38283482735,41736219968.48448,281176.2286567197,200222.72594789637,494590.2641565362,0.009769926777600278,1029.7481805947907,0.016748645152026485,296868.7656696547,83472439936.96896,2059.4963611895814,304,170793.05883017572,47922915239.88069,494455.36,299,167988.04497626628,46665948793.08563,568,319227.4416650031,89659135208.36519,1.2135192158375547,1.1286055698000168,316422.4278110936,88402168761.57011,1.2028561657104864,1.1127832073646906,1596137.2083250154,448295676041.8259,200000.0,494590.2641565362,301994.33528112096,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MI,26,500k_1m,500000.0,1000000.0,35290.0,23646431000.0,0.007242941262188727,0.05939618694783665,4871390.0,379740366000.0,35283.19163521354,25269549417.945644,40,21999.52233771608,14361767122.840149,652821.7705080928,514256.7068046208,970375.6636081532,0.04294027884971338,1126.84,0.07144103432536435,43999.04467543216,28723534245.680298,2253.68,32,17226.333755319356,10704645668.72068,927408.0,28,14854.184461039593,9299250066.246132,72,39225.856093035436,25066412791.56083,1.1117434187525999,0.9919612090019875,36853.70679875567,23661017189.08628,1.0445117091384306,0.9363450371728024,196129.28046517717,125332063957.80414,500000.0,970375.6636081532,716192.2787258843,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MI,26,1m_plus,1000000.0,inf,15920.0,47835791000.0,0.0032674305722313556,0.12015612779085529,4871390.0,379740366000.0,15916.928615262103,51119295111.42799,17,8648.466256809907,13176052853.557835,1523513.2406492135,1036729.4676919538,2832221.268351101,0.13472519258835433,705.2049999999999,0.2363160229819638,17296.932513619813,26352105707.11567,1410.4099999999999,13,6358.716970190776,7213467109.094053,1344900.0,11,5175.751032052512,5698563228.238285,30,15007.18322700068,20389519962.651886,0.9428441623223023,0.39886152417022863,13824.217288862419,18874616081.79612,0.8685229181468423,0.3692268455708146,75035.9161350034,101947599813.25943,1010000.6799999999,2832221.268351101,3211630.6070765285,True,True,False,False,mean_out_of_range,False,False,False,False,False,2832221.268351101,575.5183333333333,puf,29.0,14431.664893667348,18759524698.65925,0.3669754181423651,False,mean_out_of_range,False +demographic_midrank6_earn,MN,27,100k_200k,100000.0,200000.0,578700.0,80251831000.0,0.19936954162575576,0.2912260823516967,2871840.0,264184944000.0,572557.4244225104,86196672199.31816,513,275863.5293981126,38213659010.997314,138523.78056052944,100070.78458928458,199960.8759475456,0.0045571200620551635,1061.2066666666667,0.00734329231649158,551727.0587962252,76427318021.99463,2122.4133333333334,525,275243.4328414205,38186960490.65746,199600.0,502,261299.01746209883,36305907949.91876,1038,551106.9622395332,76400619501.65479,0.9625357016292078,0.8863523098083029,537162.5468602114,74519566960.91608,0.9381810870796081,0.8645295120976323,2755534.811197666,382003097508.2739,100000.0,199960.8759475456,150546.77229320246,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MN,27,200k_500k,200000.0,500000.0,208180.0,59153904000.0,0.0717206690438048,0.21466375910760668,2871840.0,264184944000.0,205970.28618676035,63535867142.993095,198,105669.95321996053,28471918637.227325,269441.9536456189,200128.30314503793,488127.47063069505,0.013266077706747245,986.0196280081441,0.02937795850567898,211339.90643992106,56943837274.45465,1972.0392560162882,245,129277.31735776871,35128874794.16213,496653.44,223,115735.65126537715,31656496392.294914,443,234947.2705777292,63600793431.38945,1.1406852654692845,1.0010218840367793,221405.60448533768,60128415029.52224,1.0749395390196312,0.9463696292079861,1174736.352888646,318003967156.94727,200000.0,496653.44,308471.0339499307,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MN,27,500k_1m,500000.0,1000000.0,28980.0,19405098000.0,0.009983980156064286,0.07041921159644003,2871840.0,264184944000.0,28672.39357139166,20842575807.41858,26,13725.70384044557,9387810492.565079,683958.4040056285,505682.4263905716,992289.3289359831,0.08272592158307412,901.4166666666666,0.12907417368398105,27451.40768089114,18775620985.130157,1802.8333333333333,22,10418.458700992489,6592376676.174978,959690.0,22,10418.458700992489,6532204977.927658,48,24144.16254143806,15980187168.740059,0.8420700030264751,0.7667088423424214,24144.16254143806,15920015470.492737,0.8420700030264751,0.7638218815942253,120720.81270719031,79900935843.70029,501092.0,992289.3289359831,726921.3766727376,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MN,27,1m_plus,1000000.0,inf,11400.0,31825471000.0,0.003927445610045993,0.11549153611619822,2871840.0,264184944000.0,11278.995400754484,34183016850.742085,9,4076.6204142957245,8412256642.708278,2063536.897673505,1082333.69375479,4952062.638449825,0.4286898250735055,728.2316666666666,0.6638050358351062,8153.240828591449,16824513285.416555,1456.4633333333331,9,4864.997779372694,5550190027.900057,1469620.0,8,4496.542779372694,5008701190.800056,18,8941.618193668417,13962446670.608334,0.7927672523982311,0.4084615097483773,8573.163193668419,13420957833.508335,0.7600998926814826,0.3926206365023331,44708.09096834208,69812233353.04167,1000065.96,4952062.638449825,3030679.208225893,True,True,True,True,,False,False,False,False,False,4952062.638449825,728.2316666666666,puf,17.0,8213.38652700175,10356197841.972286,0.3029632488902881,False,mean_out_of_range,False +demographic_midrank6_earn,MO,29,100k_200k,100000.0,200000.0,480730.0,65811105000.0,0.16748540212104743,0.27495853683603544,2880050.0,225671354000.0,482366.33237872267,69517766529.639,496,256608.66433210732,35132626655.041985,136911.30323476816,100061.70502322435,199651.49633421528,0.005071250246566585,999.1133333333332,0.008756239900366464,513217.32866421464,70265253310.08397,1998.2266666666665,483,249330.87649236,33729168823.4028,199974.12,468,240301.14165968972,32371157753.64464,979,505939.5408244673,68861795478.4448,1.0488699290630352,0.9905639797717819,496909.805991797,67503784408.68663,1.0301502667927822,0.9710292458821486,2529697.7041223366,344308977392.224,100000.0,199974.12,144118.19785767756,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MO,29,200k_500k,200000.0,500000.0,150640.0,42660430000.0,0.05248268461613501,0.17823510809605933,2880050.0,225671354000.0,151152.75582869965,45063182160.42729,177,90340.36459983683,26055139952.823093,288410.8346057102,200323.6228120558,499549.1682964798,0.013982745860096613,1071.4969530167396,0.021101296529279515,180680.72919967366,52110279905.64619,2142.993906033479,215,107422.67175129171,30415418077.43879,493921.36,199,99107.4770788207,27845938146.195568,392,197763.03635112854,56470558030.26189,1.3083654033754568,1.2531418182857956,189447.8416786575,53901078099.01866,1.2533535405292737,1.1961223223679143,988815.1817556426,282352790151.30945,200000.0,499549.1682964798,298130.07320552645,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MO,29,500k_1m,500000.0,1000000.0,20830.0,13922543000.0,0.007257131708404755,0.05816832968108934,2880050.0,225671354000.0,20900.902176791114,14706698721.63459,16,8327.610178974403,5609898059.68171,673650.4157994346,504360.45796588145,992978.0142387846,0.09861304869791376,668.5092031574399,0.15141111497247206,16655.220357948805,11219796119.36342,1337.0184063148797,12,6529.225038742228,3784324208.703922,680557.36,10,5300.181867285831,3038958402.402944,28,14856.835217716633,9394222268.385633,0.7108226760763483,0.6387716540739405,13627.792046260234,8648856462.084654,0.652019321031648,0.5880895927623496,74284.17608858316,46971111341.92817,500000.0,992978.0142387846,703639.4217454056,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MO,29,1m_plus,1000000.0,inf,9210.0,31535414000.0,0.0032087461850411805,0.13175483517498493,2880050.0,225671354000.0,9241.349450227852,33311574815.033253,10,4099.713150263644,8719141989.057632,2126768.793201281,1008082.4875006172,3646692.280868605,0.2591280513081569,619.5681178137332,0.3549802826528677,8199.426300527288,17438283978.115265,1239.1362356274665,9,4812.2676073104785,6059924826.146305,1781699.7999999998,8,3587.937400333035,4706315817.633341,19,8911.980757574122,14779066815.203936,0.9643592427244909,0.44366160703198754,7687.650550596679,13425457806.690973,0.8318753221053808,0.40302681218878217,44559.90378787061,73895334076.01968,1000000.0,3646692.280868605,3604622.354607739,True,True,True,True,,False,False,False,False,False,3646692.280868605,619.5681178137332,puf,18.0,8292.412639760389,12519692542.500303,0.37583610537831025,False,mean_out_of_range,False +demographic_midrank6_earn,MS,28,100k_200k,100000.0,200000.0,162360.0,22062994000.0,0.13204401467155719,0.27243644312770704,1245240.0,78974586000.0,164426.48882960988,24104866326.33833,467,90361.66626997896,12385006164.7768,137060.40045535876,100045.8593991741,199948.84348234994,0.00862956386646336,545.99,0.015610841037835155,180723.33253995792,24770012329.5536,1091.98,413,81081.77890260139,10942421246.80062,199515.47999999998,393,77333.48340686673,10461173847.1835,880,171443.44517258037,23327427411.577423,1.0426753401651843,0.967747636338832,167695.1496768457,22846180011.9603,1.0198791622353685,0.9477828958958915,857217.2258629019,116637137057.88712,100000.0,199948.84348234994,146599.65372925685,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MS,28,200k_500k,200000.0,500000.0,42400.0,11880308000.0,0.034483039061801085,0.146699439558459,1245240.0,78974586000.0,42939.65956131718,12979799398.745605,116,21825.106668834556,6359424231.353289,291381.1294418236,200406.94756157295,485848.07323886704,0.020231153020342493,307.98585700561887,0.033658908335641044,43650.21333766911,12718848462.706577,615.9717140112377,100,20294.092403553062,5605253524.540446,482814.0,94,18891.126365415614,5154217033.262748,216,42119.19907238761,11964677755.893734,0.9808927109038215,0.9217921932637899,40716.23303425017,11513641264.616035,0.9482197448749682,0.8870430821703406,210595.99536193802,59823388779.46867,200000.0,485848.07323886704,302279.9791929102,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MS,28,500k_1m,500000.0,1000000.0,5720.0,3850091000.0,0.004651957156450524,0.04754137619572379,1245240.0,78974586000.0,5792.803129498451,4206406841.212859,21,4238.40661251074,2694925222.541966,635834.5172893996,505866.4225290227,777475.1392746523,0.08248856695526491,377.8664916951129,0.11156056805196161,8476.81322502148,5389850445.083932,755.7329833902259,9,1947.0453976215065,1218424951.270633,807936.64,9,1947.0453976215065,1209815404.724741,30,6185.452010132247,3913350173.8125997,1.0677821897026547,0.9303308789513663,6185.452010132247,3904740627.266707,1.0677821897026547,0.9282841091378667,30927.260050661236,19566750869.063,500000.0,807936.64,726143.5866502606,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MS,28,1m_plus,1000000.0,inf,2590.0,7062788000.0,0.0021063931879732266,0.08721213636213887,1245240.0,78974586000.0,2622.9650533917807,7716430536.6382475,7,1263.9637455618417,2246417944.835542,1777280.3632409503,1138665.710057627,3952930.6195439924,0.3497147238937705,198.73999999999998,0.5973463513739627,2527.9274911236835,4492835889.671084,397.47999999999996,4,621.6448047105655,677558768.0642955,1143187.0799999998,4,621.6448047105655,677503951.0162289,11,1885.608550272407,2923976712.8998384,0.7188843586894568,0.37892866384483814,1885.6085502724072,2923921895.8517714,0.7188843586894569,0.3789215599063258,9428.042751362034,14619883564.499191,1012006.8,3952930.6195439924,2941873.177707823,True,True,True,True,,False,False,False,False,False,3952930.6195439924,198.73999999999998,puf,10.0,1686.8685502724072,2138371281.5716646,0.27711922908117964,False,mean_out_of_range,False +demographic_midrank6_earn,MT,30,100k_200k,100000.0,200000.0,96230.0,13150795000.0,0.17372544771808204,0.2788484167530567,550380.0,47309400000.0,95615.011915078,14779773926.386997,633,53838.84924066994,7348234032.240387,136485.71869343598,100071.9995957009,199930.63572491021,0.0041855231761059215,173.42128623302614,0.006828763363027293,107677.69848133987,14696468064.480774,346.8425724660523,636,53764.699769056075,7469080245.367098,199739.44,604,50952.35986741696,7085161823.481863,1269,107603.549009726,14817314277.607483,1.125383418926892,1.002539981423766,104791.2091080869,14433395855.72225,1.0959702562308824,0.9765640481112947,538017.74504863,74086571388.03741,100000.0,199930.63572491021,154575.87287144712,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MT,30,200k_500k,200000.0,500000.0,29200.0,8358106000.0,0.05271519352975159,0.17722461837130182,550380.0,47309400000.0,29013.38821490468,9393418202.684988,186,15081.724333191125,4410626451.345885,292448.41994885117,200065.99935361434,498299.83138944453,0.01261191888948552,143.2071087834638,0.02152556829812653,30163.44866638225,8821252902.69177,286.4142175669276,215,17478.942604281634,5028347854.268615,497141.76,191,15595.270763067787,4444206138.162575,401,32560.666937472757,9438974305.6145,1.1222635114621249,1.0048497897087654,30676.995096258914,8854832589.508461,1.0573392831279047,0.9426635116679273,162803.3346873638,47194871528.0725,200000.0,498299.83138944453,323761.50393422256,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MT,30,500k_1m,500000.0,1000000.0,4760.0,3207814000.0,0.008593298671288272,0.0680182342693571,550380.0,47309400000.0,4729.579722703639,3605163468.6647606,17,1410.593806149862,1035959829.8351687,734413.9931131301,508555.4054034057,991426.6096567793,0.12159989039894908,146.75654556695437,0.15905722935891517,2821.187612299724,2071919659.6703374,293.51309113390874,21,1737.87837084078,1144483214.480428,914885.6799999999,21,1664.8522187000667,1107444584.663544,38,3148.472176990642,2180443044.3155966,0.6656980876919936,0.6048111447005105,3075.446024849929,2143404414.4987125,0.6502577829667847,0.5945373720577953,15742.36088495321,10902215221.577984,500000.0,991426.6096567793,762258.7375700029,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,MT,30,1m_plus,1000000.0,inf,2250.0,6468084000.0,0.004061958405545928,0.1371487414126506,550380.0,47309400000.0,2235.6206672443677,7269280621.960948,9,686.7258361029948,1182759363.9024794,1722316.6826143553,1065029.9023074787,3078331.015061289,0.23201216456717685,89.1439415834388,0.37350422544938544,1373.4516722059896,2365518727.804959,178.2878831668776,5,321.9222125233948,383313020.0209942,1410540.6800000002,4,274.87887919006147,311216598.2011844,14,1008.6480486263895,1566072383.9234738,0.45117137419813347,0.21543705152780482,961.6047152930562,1493975962.103664,0.4301287465186716,0.2055190932635438,5043.240243131948,7830361919.617369,1008000.0,3078331.015061289,3251571.578518767,True,True,False,False,mean_out_of_range,False,False,False,False,False,3078331.015061289,89.1439415834388,puf,13.0,919.5041070429507,1291657823.7423623,0.17768715928233444,False,amount_cap|mean_out_of_range,False +demographic_midrank6_earn,NC,37,100k_200k,100000.0,200000.0,803940.0,110812148000.0,0.16327931580048377,0.26518004968331077,4943390.0,412484508000.0,807153.3369349535,122546428205.20479,845,441808.9069602552,60555448593.23322,137062.53459186314,100186.26617409232,199652.4312121782,0.0030400808539776947,971.6266666666666,0.005308894063055967,883617.8139205104,121110897186.46645,1943.253333333333,784,406249.08215141855,55743885405.59236,199091.52,763,393177.3841954069,54006976497.13619,1629,848057.9891116738,116299333998.82559,1.0506776721410207,0.9490226333164244,834986.2911556622,114562425090.36942,1.0344828583951597,0.9348491569132794,4240289.945558369,581496669994.1279,100000.0,199652.4312121782,151825.46190115114,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NC,37,200k_500k,200000.0,500000.0,307130.0,88280880000.0,0.06237775985994301,0.21126138755550877,4943390.0,412484508000.0,308357.5943140437,97629246594.98793,304,153787.40282901883,44116309834.458984,286865.5626072806,200351.30286352607,494567.1824833431,0.008822930154125753,1209.6285811035154,0.014692990950776136,307574.80565803766,88232619668.91797,2419.257162207031,328,166875.7680534527,46885805870.98432,480943.44,314,158405.2655125269,44466371830.25885,632,320663.1708824715,91002115705.4433,1.039906838019677,0.9321194096986419,312192.66834154574,88582681664.71783,1.012437099323055,0.9073375525696772,1603315.8544123573,455010578527.2165,200000.68,494567.1824833431,316610.48210007243,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NC,37,500k_1m,500000.0,1000000.0,44590.0,29794970000.0,0.00905617918195832,0.07130113229925616,4943390.0,412484508000.0,44768.22560630093,32950062045.37458,44,20301.223396561894,13870760435.322323,683247.5149094414,502261.05694624456,992309.8466679214,0.05252245010814971,771.5651164733135,0.09213173690529382,40602.44679312379,27741520870.644646,1543.130232946627,38,19678.698267721502,12072142363.560331,941209.3600000001,32,15536.958516434934,9415665533.889324,82,39979.9216642834,25942902798.88265,0.893042355885921,0.7873400287731606,35838.18191299683,23286425969.211647,0.8005271914988018,0.7067187290010132,199899.608321417,129714513994.41324,500000.68,992309.8466679214,736014.4745325132,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NC,37,1m_plus,1000000.0,inf,17210.0,43980820000.0,0.003495331772179921,0.10524871364024771,4943390.0,412484508000.0,17278.7881292765,48638100585.6509,24,12375.654897700406,34464015057.899,2784823.538049931,1027166.5625592396,22573859.247816764,0.4034274296728341,615.9216666666666,0.6015750942114261,24751.30979540081,68928030115.798,1231.8433333333332,25,12313.88347641405,14555788117.499462,2212866.08,25,12313.88347641405,14399648977.876219,49,24689.538374114458,49019803175.39847,1.4288929402566997,1.0078478103616606,24689.538374114454,48863664035.77522,1.4288929402566994,1.004637587558073,123447.6918705723,245099015876.99234,1000000.0,22573859.247816764,2814902.3080640947,True,True,True,True,,False,False,False,False,False,22573859.247816764,615.9216666666666,puf,48.0,24073.616707447793,35116074164.384415,0.7219869555256497,True,,False +demographic_midrank6_earn,ND,38,100k_200k,100000.0,200000.0,78140.0,10797859000.0,0.21043843585047936,0.29603770645150473,368090.0,33720657000.0,77460.28385220295,11183950248.057602,568,39355.05096006457,5294423266.895606,134529.7017215937,100070.78458928458,199261.25563639577,0.0038272206666582573,109.77854517547591,0.006915476776583709,78710.10192012913,10588846533.791212,219.55709035095182,590,41244.95908437393,5670405371.084368,199728.76,562,38785.83516962436,5340595397.034937,1158,80600.0100444385,10964828637.979973,1.0405333680189743,0.9804074942021773,78140.88612968894,10635018663.930542,1.008786467640431,0.9509179161251726,403000.05022219254,54824143189.899864,100000.0,199728.76,144383.02691217847,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,ND,38,200k_500k,200000.0,500000.0,24570.0,6989129000.0,0.0661693418076053,0.19161629349426576,368090.0,33720657000.0,24356.273025961433,7239034239.4039955,135,9143.66960144408,2585055262.3001413,282715.29648139054,200636.61012593826,498312.64390087954,0.01780587305126874,134.49644164879157,0.030414844142814645,18287.33920288816,5170110524.600283,268.99288329758315,193,12676.431383740906,3486243548.9477863,487860.0,173,11443.919413807882,3151135327.305376,328,21820.100985184985,6071298811.247927,0.8958719161148697,0.8386890585763812,20587.589015251964,5736190589.605517,0.8452684445320343,0.7923972176263376,109100.50492592492,30356494056.23963,200000.0,498312.64390087954,297214.3657483181,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,ND,38,500k_1m,500000.0,1000000.0,3730.0,2517673000.0,0.010045243994398363,0.0690253633164574,368090.0,33720657000.0,3697.5538618980936,2607695615.6658397,22,1652.6963474523718,1113957562.363592,674024.3385185399,505122.88979576295,955760.2333226282,0.08696921512829964,110.39333333333333,0.1449304155744363,3305.3926949047436,2227915124.727184,220.78666666666666,16,1194.0329682522215,782695963.4230337,965381.8,13,983.0959466061404,630788637.642693,38,2846.7293157045924,1896653525.7866256,0.7698952934909403,0.7273293379765647,2635.792294058512,1744746200.006285,0.7128475723421811,0.6690758651142602,14233.646578522963,9483267628.933128,505122.88979576295,965381.8,705248.8518253014,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,ND,38,1m_plus,1000000.0,inf,1720.0,5381091000.0,0.004632123236022838,0.14752978695562094,368090.0,33720657000.0,1705.0382419476464,5573498785.663948,10,683.9213224244897,1441347699.7126703,2107475.8929917794,1286301.8909797429,6327097.858429211,0.24764264686242632,56.41435732345862,0.39677097483510926,1367.8426448489795,2882695399.4253407,112.82871464691723,7,545.5551413215528,621705258.0461743,1239999.0,6,448.72654944461453,503069357.99352634,17,1229.4764637460426,2063052957.7588444,0.7210843918325405,0.3701540158338944,1132.6478718691042,1944417057.7061968,0.6642947026075456,0.3488683020273712,6147.382318730213,10315264788.794222,1008840.68,6327097.858429211,3268840.9259943645,True,True,True,True,,False,False,False,False,False,6327097.858429211,56.41435732345862,puf,16.0,1173.0621064225838,1706113798.352929,0.30611180946901145,False,mean_out_of_range,False +demographic_midrank6_earn,NE,31,100k_200k,100000.0,200000.0,176950.0,24298200000.0,0.18598124947448078,0.29194016056937117,940690.0,79864152000.0,174950.70156814932,26121486943.112747,473,90634.54923365035,12316097405.282501,135887.44589585095,100048.8147378646,199488.61566224793,0.00548087635162948,353.29345327476415,0.009891545678434026,181269.0984673007,24632194810.565002,706.5869065495283,484,93473.63739917599,13021661766.463778,199892.0,458,87644.7137247546,12149836875.698349,957,184108.18663282634,25337759171.74628,1.052343231450889,0.9699968162963591,178279.26295840496,24465934280.98085,1.0190257104454026,0.9366210405350449,920540.9331641317,126688795858.7314,100000.0,199892.0,149307.7004491893,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NE,31,200k_500k,200000.0,500000.0,54430.0,15383215000.0,0.05720802152526697,0.18482761098242498,940690.0,79864152000.0,53815.013768603385,16537539808.117315,164,30454.469769748102,8397572807.92713,275741.8819443327,201719.08727257696,495622.5283877945,0.013954836704065516,334.34666666666664,0.0265769895158147,60908.939539496205,16795145615.85426,668.6933333333333,186,33031.83366763688,9185808848.83794,492103.04,174,31048.939069414075,8603427861.386396,350,63486.30343738497,17583381656.765068,1.1797135964763794,1.0632404735397467,61503.40883916218,17001000669.313526,1.1428671021737122,1.0280247767548063,317431.5171869249,87916908283.82535,200025.0,495622.5283877945,307303.4577158392,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NE,31,500k_1m,500000.0,1000000.0,7650.0,5150065000.0,0.008040443958631127,0.061877456068461796,940690.0,79864152000.0,7563.565227444715,5536515283.176611,23,4135.168212920556,2777127817.2597303,671587.629393756,522965.54849450267,860908.0940974769,0.10000738461917551,359.3670575207877,0.1381870623395947,8270.336425841111,5554255634.519461,718.7341150415754,23,4432.9839755718995,2735921986.6794987,815561.3600000001,21,3948.271661062823,2521043474.0593705,46,8568.152188492455,5513049803.939228,1.1328192368068108,0.9957616879865417,8083.439873983379,5298171291.319101,1.068734073271726,0.9569505402465432,42840.76094246228,27565249019.69614,503203.6,860908.0940974769,731998.0877651629,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NE,31,1m_plus,1000000.0,inf,3280.0,10269299000.0,0.003447406037164719,0.12338448111361675,940690.0,79864152000.0,3242.9403851004795,11039886071.537018,16,2789.384242207533,8238435699.771124,2953496.1785154357,1065029.9023074787,11628268.006221866,0.4208281446014968,298.1497853419243,0.5815353092716707,5578.768484415066,16476871399.542248,596.2995706838486,13,2589.045575786963,3162584092.0768623,1780519.0,11,2065.1746798686304,2460296078.011916,29,5378.429817994494,11401019791.847988,1.658504067082272,1.0327117252814813,4854.558922076163,10698731777.78304,1.496962122517016,0.9690980240608151,26892.149089972474,57005098959.239944,1000000.68,11628268.006221866,3404282.7682738784,True,True,True,True,,False,False,False,False,False,11628268.006221866,298.1497853419243,puf,28.0,5080.28003265257,7934054181.89457,0.7186717444802362,True,,False +demographic_midrank6_earn,NH,33,100k_200k,100000.0,200000.0,159640.0,22293532000.0,0.2180070192688489,0.28003047615525734,731910.0,76794934000.0,159561.5174730632,24092953269.440628,512,76464.04620009799,10600520352.981623,138634.04933138416,100065.22721036721,199502.31365516482,0.004930959355431085,353.63940838949685,0.0067159388880810985,152928.09240019598,21201040705.963245,707.2788167789937,494,74683.76987168481,10529110549.63192,199923.28,472,71112.39375476527,10033736610.342756,1006,151147.81607178279,21129630902.61354,0.9472698584563111,0.8770046023960977,147576.43995486328,20634256963.32438,0.9248874182948078,0.8564436552283011,755739.0803589139,105648154513.0677,100000.0,199923.28,150994.7614625058,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NH,33,200k_500k,200000.0,500000.0,63870.0,18227814000.0,0.08722192633864558,0.2289607332606366,731910.0,76794934000.0,63838.60010651808,19699071053.70543,210,31667.341435186034,9234786424.806662,291618.6205181645,201027.294804706,493341.0490164172,0.01296776839520472,354.43039917804526,0.020721213353014578,63334.68287037207,18469572849.613323,708.8607983560905,237,34772.789358941634,9857205459.366861,499192.28,228,33333.533841586286,9510445339.528057,447,66440.13079412766,19091991884.173523,1.0407516875882112,0.9691823453056831,65000.87527677232,18745231764.334717,1.018206463931147,0.9515794787089062,332200.6539706383,95459959420.86761,200000.0,499192.28,308576.1752425098,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NH,33,500k_1m,500000.0,1000000.0,8670.0,5789741000.0,0.011839895120652219,0.07272530566469305,731910.0,76794934000.0,8665.737637756565,6257059642.014753,15,2126.1365166257247,1364309902.184585,641684.9960085381,510421.65358915064,916164.6831546761,0.10654723508622274,204.66166666666666,0.185294912188177,4252.273033251449,2728619804.36917,409.3233333333333,21,3028.950338809614,1869794103.671434,985004.0800000001,19,2688.936108460945,1679228955.0538583,36,5155.086855435339,3234104005.8560195,0.5948814827920312,0.5168728110148952,4815.07262508667,3043538857.2384434,0.5556448656035268,0.4864167886145374,25775.434277176697,16170520029.280098,500102.68,985004.0800000001,722045.8203988064,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NH,33,1m_plus,1000000.0,inf,3690.0,12262696000.0,0.005039124912941948,0.15403250592266715,731910.0,76794934000.0,3688.1859150313408,13252478866.307795,14,2015.0912715068134,3741722819.3731046,1856850.2937215234,1126141.959755845,4298004.432203211,0.12467602330852245,164.76520457786773,0.20328981718951497,4030.182543013627,7483445638.746209,329.53040915573547,6,870.579198770596,990968205.7400928,1420579.0,6,870.579198770596,963781946.9847448,20,2885.670470277409,4732691025.113197,0.7824091672051429,0.3571174172663856,2885.6704702774095,4705504766.357849,0.782409167205143,0.3550660079391491,14428.352351387046,23663455125.565987,1037900.0,4298004.432203211,3593224.195205783,True,True,True,True,,False,False,False,False,False,4298004.432203211,106.42999999999999,puf,19.0,2779.2404702774093,4275254413.39381,0.3226003569990915,True,,False +demographic_midrank6_earn,NJ,34,100k_200k,100000.0,200000.0,880310.0,123592362000.0,0.18914801636413642,0.2373921948340216,4638510.0,504015160000.0,877364.9653852105,134048575515.1745,742,428983.5631203643,60177668802.81444,140279.6609853552,100003.96426905834,199446.76932554645,0.003220816309234875,1109.21,0.005276184485521303,857967.1262407287,120355337605.62888,2218.42,697,405934.0199321633,56688070975.90026,199917.36000000002,677,392725.6087061443,54715146326.08694,1439,834917.5830525276,116865739778.7147,0.9516194696536051,0.8718163496298051,821709.1718265086,114892815128.90137,0.936564832476225,0.8570983666730224,4174587.915262638,584328698893.5735,100000.0,199917.36000000002,152785.42089530546,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NJ,34,200k_500k,200000.0,500000.0,461890.0,135262843000.0,0.09924410409790979,0.2598084756990054,4638510.0,504015160000.0,460344.76929919556,146706407506.66043,385,219706.07302536565,62254190844.5627,283352.1622198185,200122.90392405092,495334.3311494272,0.006848274665549416,867.2181662305014,0.013809342699504625,439412.1460507313,124508381689.1254,1734.4363324610028,474,264483.58282447164,75760689558.06033,494727.88,457,253329.49595512846,72617028570.34183,859,484189.6558498373,138014880402.62302,1.0517978874549654,0.9407556407947429,473035.5689804941,134871219414.90453,1.0275680327607901,0.9193273948091286,2420948.2792491866,690074402013.1151,200000.0,495334.3311494272,318688.11658270494,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NJ,34,500k_1m,500000.0,1000000.0,81250.0,54361330000.0,0.017457800467546754,0.10441547708908212,4638510.0,504015160000.0,80978.18204672029,58960430334.76714,61,35107.43155053412,23666735792.511295,674123.2481916277,503520.0654863835,984001.8722089143,0.03013298224054902,851.6074232337841,0.04867228836181378,70214.86310106824,47333471585.02259,1703.2148464675681,60,33665.31128845201,22601804060.382217,996347.2,55,31056.210667323878,20723265062.691147,121,68772.74283898613,46268539852.89352,0.8492749664262376,0.7847388424777216,66163.642217858,44390000855.20244,0.8170551690044726,0.752877830150894,343863.7141949306,231342699264.4676,500055.07999999996,996347.2,728102.6672190538,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NJ,34,1m_plus,1000000.0,inf,32050.0,84867370000.0,0.006886430830583059,0.16301048793040301,4638510.0,504015160000.0,31942.778271967825,92047355290.60652,26,14494.514071226802,46356797218.71269,3198230.516105125,1021186.9315610932,13437258.968477761,0.2097610413253943,723.6483333333333,0.28247196480281583,28989.028142453604,92713594437.42538,1447.2966666666666,18,11146.094701491296,15436208488.279058,2200598.0,17,10137.669701491297,14190415397.612408,44,25640.6087727181,61793005706.991745,0.802704403305446,0.6713175572714989,24632.183772718097,60547212616.3251,0.7711346697207825,0.6577832945353942,128203.0438635905,308965028534.95874,1000000.0,13437258.968477761,2881632.7279642094,True,True,True,True,,False,False,False,False,False,13437258.968477761,723.6483333333333,puf,43.0,24916.960439384766,52069155649.88444,0.5656779109567542,True,,False +demographic_midrank6_earn,NM,35,100k_200k,100000.0,200000.0,140990.0,19278068000.0,0.14377492020435842,0.28269407056190976,987790.0,64857077000.0,142019.4284286632,20541220244.143734,568,80346.81150862623,10987524436.279287,136751.21924532924,100190.71700561358,199692.94994508557,0.00492975992837265,287.89666666666665,0.008593815708623874,160693.62301725245,21975048872.558575,575.7933333333333,514,72902.13746996969,10009672895.834215,199862.0,494,69901.5962732988,9544792372.148193,1082,153248.9489785959,20997197332.113503,1.0790703122395209,1.0221981499906154,150248.40778192502,20532316808.427483,1.0579426311196236,0.9995665576041526,766244.7448929795,104985986660.5675,100000.0,199862.0,144636.69141198983,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NM,35,200k_500k,200000.0,500000.0,42330.0,11809183000.0,0.0431661278973721,0.17317015440969008,987790.0,64857077000.0,42639.069475745186,12582953276.562672,161,22361.565364924587,6120006119.043949,273684.15489568247,200397.03875221478,491441.6569469475,0.017286710333697768,235.30571702703497,0.03564597772348638,44723.130729849174,12240012238.087898,470.61143405406995,174,22848.743780593235,6080581451.06657,471060.0,168,21802.698574526577,5828519160.354329,335,45210.30914551782,12200587570.11052,1.0603024339270646,0.9696124035392902,44164.263939451164,11948525279.398277,1.0357698815302143,0.9495803581861743,226051.5457275891,61002937850.5526,200000.0,491441.6569469475,295103.843289084,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NM,35,500k_1m,500000.0,1000000.0,4770.0,3201822000.0,0.004864219940242497,0.04695159776356609,987790.0,64857077000.0,4804.827814772136,3411614218.0090227,20,2871.307635755206,1940672769.5217445,675884.6545578571,513537.38193105866,984247.7118523091,0.09774250145933677,255.34001870511796,0.13515429069552348,5742.615271510412,3881345539.043489,510.6800374102359,14,1946.011305372048,1152267771.7884505,840000.0,11,1631.546137354175,978172564.1595473,34,4817.318941127253,3092940541.3101945,1.0025997032228116,0.9065915263758039,4502.853773109381,2918845333.6812916,0.9371519535550566,0.8555613698270653,24086.594705636267,15464702706.550972,502040.0,984247.7118523091,710038.8087831645,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NM,35,1m_plus,1000000.0,inf,2070.0,5372992000.0,0.0021108878985958007,0.07878968886179759,987790.0,64857077000.0,2085.113957353946,5725045271.238917,15,2087.337784370288,4063270361.670152,1946628.0887048512,1069374.7773752934,3514605.0676725153,0.11561769935509025,134.69166666666666,0.16958792433356815,4174.675568740576,8126540723.340304,269.3833333333333,6,716.4550295530461,800827464.6775199,1171059.28,5,626.1883333333333,702277335.6777333,21,2803.7928139233336,4864097826.347673,1.344671260788742,0.8496173560030326,2713.526117703621,4765547697.347885,1.3013802474120617,0.8324034957922012,14018.964069616668,24320489131.738365,1069374.7773752934,3514605.0676725153,2745675.003060323,True,True,True,True,,False,False,False,False,False,3514605.0676725153,101.94301055095231,puf,20.0,2701.8498033723818,4505808404.851503,0.7870345458205316,True,,False +demographic_midrank6_earn,NV,32,100k_200k,100000.0,200000.0,253300.0,34760786000.0,0.16189544864788857,0.23257198885347005,1553270.0,145994535000.0,251467.34352130588,38040496257.510925,511,130835.54266256889,17736337622.207733,135562.07480982898,100030.42681786275,199945.6033411371,0.005583748882933601,542.1099605737533,0.00963385911158548,261671.08532513777,35472675244.41547,1084.2199211475065,493,125808.06340363578,17089085895.221548,199405.52000000002,485,124724.69981774088,16861526813.995483,1004,256643.60606620467,34825423517.429276,1.020584233612267,0.9154828917499506,255560.24248030977,34597864436.20322,1.0162760655188499,0.909500869862391,1283218.0303310233,174127117587.14636,100000.0,199945.6033411371,151274.10074337505,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NV,32,200k_500k,200000.0,500000.0,83380.0,23745722000.0,0.053291916732179034,0.1588741345578779,1553270.0,145994535000.0,82776.73550259173,25986151431.46921,168,43039.41832106553,12166134941.052284,282674.241791451,200497.69296714314,493182.32239572855,0.014751512877034838,434.86999999999995,0.0287369235315042,86078.83664213106,24332269882.10457,869.7399999999999,173,45212.917961939616,12381233627.383072,481998.0,162,41473.268639018905,11346057038.651564,341,88252.33628300515,24547368568.435356,1.066149030245847,0.9446327068928149,84512.68696008444,23512191979.70385,1.0209714897181268,0.9047970047319358,441261.6814150257,122736842842.17679,200000.0,493182.32239572855,313930.6143651387,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NV,32,500k_1m,500000.0,1000000.0,13530.0,9181639000.0,0.008647632926197918,0.06143106324363856,1553270.0,145994535000.0,13432.108795275439,10047934589.77931,33,8486.99233942447,5785655975.02812,681708.6364214232,507202.74123141647,983894.4969961275,0.06675336332371908,464.2632429093443,0.09991206707716366,16973.98467884894,11571311950.05624,928.5264858186886,31,7343.966342817983,4654831434.306921,907838.6799999999,30,7188.964412815764,4527904435.804379,64,15830.958682242455,10440487409.335041,1.1785907130093214,1.0390680110472685,15675.956752240236,10313560410.8325,1.1670510558814144,1.0264358628810526,79154.79341121227,52202437046.6752,503030.68,983894.4969961275,748053.3952579013,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NV,32,1m_plus,1000000.0,inf,8490.0,36071403000.0,0.005426341725308228,0.24134085853078885,1553270.0,145994535000.0,8428.573811669512,39474771106.28822,13,2778.208751173831,37536637817.03716,13511093.362288713,1044754.8082443604,113407693.2000385,0.784075672486457,259.52,0.8392797178490496,5556.417502347662,75073275634.07433,519.04,8,2002.5555227846125,2782165061.1249094,2771052.68,8,2002.5555227846125,2781313369.458243,21,4780.764273958444,40318802878.16208,0.567209160266164,1.0213815494864111,4780.7642739584435,40317951186.49541,0.5672091602661639,1.0213599738915995,23903.821369792222,201594014390.8104,1003002.04,113407693.2000385,4683446.095190469,True,True,True,True,,False,False,False,False,False,113407693.2000385,259.52,puf,20.0,4521.244273958443,10887238338.888083,0.2758024437829805,True,,False +demographic_midrank6_earn,NY,36,100k_200k,100000.0,200000.0,1689140.0,234086438000.0,0.17254909171516333,0.22254413651002117,9767160.0,1018899559000.0,1685314.5866366746,254038592796.2696,1448,882654.0926359996,122780858483.11768,139104.16266970357,100032.83046241337,199783.6137302083,0.0018716609863134593,1214.0083333333332,0.0031407184842401634,1765308.185271999,245561716966.23535,2428.0166666666664,1316,815433.2674740725,113082422743.32288,199722.96000000002,1256,775901.4321971858,107593365371.98003,2764,1698087.3601100722,235863281226.44055,1.0075788660317049,0.9284545258664496,1658555.5248331854,230374223855.09772,0.9841222155105823,0.9068473467724256,8490436.80055036,1179316406132.2026,100000.0,199783.6137302083,150736.60123196692,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NY,36,200k_500k,200000.0,500000.0,716560.0,207028428000.0,0.07319806360598734,0.19682029909945953,9767160.0,1018899559000.0,714937.1989298553,224674316749.37024,568,343449.9699032408,99208355626.86725,288858.2452192875,200081.15051378525,499208.41472739924,0.005861319540402932,1325.4385904491876,0.010367665177608301,686899.9398064816,198416711253.7345,2650.877180898375,700,419839.57185073243,118180009081.14862,499490.0,673,403304.3527697989,112999348399.57431,1268,763289.5417539732,217388364708.01587,1.0676315946302606,0.9675710506355649,746754.3226730397,212207704026.44156,1.044503382661875,0.9445125152563143,3816447.7087698663,1086941823540.0793,200000.0,499490.0,314257.4160159398,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NY,36,500k_1m,500000.0,1000000.0,128400.0,86985377000.0,0.013116321546009788,0.082696314142999,9767160.0,1018899559000.0,128109.21115132495,94399500268.92628,82,47167.72161632082,32493496789.72025,688892.6510810511,501408.1379603538,986706.8833374399,0.02917499614176002,1411.2316666666666,0.03309886836481246,94335.44323264164,64986993579.4405,2822.463333333333,81,51311.14765987056,33416644636.122402,996134.04,75,46239.25154537231,30286285137.25468,163,98478.8692761914,65910141425.84265,0.7687102932814592,0.6982043468246881,93406.97316169314,62779781926.97493,0.7291198839040474,0.6650435833677851,492394.346380957,329550707129.21326,500020.4,996134.04,736867.3916617897,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,NY,36,1m_plus,1000000.0,inf,71680.0,254646534000.0,0.007322258009485838,0.24209045815930502,9767160.0,1018899559000.0,71517.6655399297,276351110771.3443,49,28729.318491628754,95491962118.56807,3323850.5865147077,1005576.1554145028,33188420.04527938,0.31966324615759273,919.7566666666667,0.4434443023488452,57458.63698325751,190983924237.13614,1839.5133333333333,34,19193.190343368315,24257024429.4765,2237291.2800000003,33,18630.4688527839,23624965711.94137,83,47922.50883499707,119748986548.04457,0.6700793219857127,0.433321893347214,47359.78734441265,119116927830.50943,0.6622110353695866,0.43103473511661755,239612.54417498535,598744932740.2229,1000000.0,33188420.04527938,3864095.796262423,True,True,True,True,,False,False,False,False,False,33188420.04527938,919.7566666666667,puf,82.0,47002.75216833041,89223715955.26523,0.3228636053107448,True,,False +demographic_midrank6_earn,OH,39,100k_200k,100000.0,200000.0,929850.0,126466789000.0,0.16373827233539007,0.27668137746727534,5692070.0,438525537000.0,932009.7078121038,135933652407.5176,892,505686.6381350656,69626409091.3659,137686.86740101117,100327.85195399894,199374.99693921188,0.0027134100575529918,1633.3008617006844,0.004531104925412614,1011373.2762701312,139252818182.7318,3266.601723401369,866,491389.2395942964,68655634403.24841,199810.04,834,471346.90245620545,65708691028.531586,1758,997075.877729362,138282043494.61432,1.0698127598584797,1.0172760096231097,977033.5405912711,135335100119.89749,1.0483083302692855,0.9955967321040878,4985379.38864681,691410217473.0715,100000.0,199810.04,145850.03918749123,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,OH,39,200k_500k,200000.0,500000.0,279500.0,79492606000.0,0.04921745132843096,0.17391224921938517,5692070.0,438525537000.0,280149.178183022,85443145654.40378,302,170413.9033383591,49346374093.489075,289567.7707440994,200735.10882619245,499588.234458957,0.009105664376336938,975.6360288559105,0.016654290233080325,340827.8066767182,98692748186.97815,1951.272057711821,335,183412.83062288054,51485879407.49599,489280.0,313,168641.0950648868,47281504049.112144,637,353826.7339612397,100832253500.98506,1.2629940100344823,1.1801093315176665,339054.9984032459,96627878142.60123,1.2102659040525208,1.1309026300768104,1769133.6698061984,504161267504.9253,200000.0,499588.234458957,304991.59843540075,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,OH,39,500k_1m,500000.0,1000000.0,40440.0,27159266000.0,0.0071211224748541965,0.05941847015567176,5692070.0,438525537000.0,40533.92760544333,29192314071.382893,43,21735.683028827403,14159830141.85299,651455.4947766408,502517.64092600346,912414.4504479688,0.052431977282076526,923.5631123769873,0.08525130791399751,43471.366057654806,28319660283.70598,1847.1262247539746,42,22240.536817877564,14663861607.927067,955284.88,40,20911.790789021652,13617502190.11503,85,43976.21984670496,28823691749.780052,1.0849237279636175,0.9873726241536912,42647.47381784905,27777332331.968018,1.0521426453656046,0.951528962864853,219881.09923352482,144118458748.90027,501091.0,955284.88,720194.5578908726,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,OH,39,1m_plus,1000000.0,inf,17100.0,47138553000.0,0.0030111571295748456,0.10312873347210677,5692070.0,438525537000.0,17139.71716253909,50667180918.89995,20,11209.126330530931,23621364385.33454,2107333.2290845625,1074633.9148873403,7015361.268342408,0.15482480866487516,715.68,0.23698330698905204,22418.252661061862,47242728770.66908,1431.36,9,5343.782053923079,6487329840.656529,2205198.0,8,4515.991129168616,5624625699.362212,29,16552.90838445401,30108694225.99107,0.9657632169469155,0.5942445125215143,15725.117459699548,29245990084.696754,0.9174665667219223,0.5772176299192397,82764.54192227006,150543471129.95535,1017455.48,7015361.268342408,2956127.0141399507,True,True,True,True,,False,False,False,False,False,7015361.268342408,282.7828279423794,puf,28.0,16270.125556511635,28124870527.491768,0.5550904948216803,True,,False +demographic_midrank6_earn,OK,40,100k_200k,100000.0,200000.0,263390.0,35943824000.0,0.15466871803303717,0.27309948262651323,1713370.0,125419368000.0,265004.7414162649,38374051433.322784,501,152923.76483156116,20623386284.688354,134860.57126179253,100189.49251880925,199350.5133565126,0.006096525888975841,748.5860000064508,0.009542733984035254,305847.5296631223,41246772569.37671,1497.1720000129017,507,156268.8061800277,21448410862.408295,199060.12,476,145181.29627372028,19997135030.67754,1008,309192.57101158885,42071797147.09665,1.1667435433765105,1.0963605763701787,298105.06110528146,40620521315.36589,1.1249046319402383,1.0585413788259102,1545962.8550579443,210358985735.48325,100000.0,199350.5133565126,144805.15038425475,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,OK,40,200k_500k,200000.0,500000.0,77660.0,22012020000.0,0.045603753530679476,0.16724629170130764,1713370.0,125419368000.0,78136.10318686029,23500292779.95936,126,35435.706337258816,10141899504.236568,286205.6539161711,201781.58544286728,475780.3395984328,0.01892964618450944,435.8971125220464,0.03430816405947335,70871.41267451763,20283799008.473137,871.7942250440929,133,37177.17070219559,10597265597.811459,490723.16000000003,119,33400.28543430779,9451462607.301952,259,72612.8770394544,20739165102.048027,0.9293127514409408,0.882506669011972,68835.99177156661,19593362111.53852,0.8809754897418838,0.8337497023972144,363064.385197272,103695825510.24014,200000.0,490723.16000000003,300761.0031915601,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,OK,40,500k_1m,500000.0,1000000.0,11380.0,7671779000.0,0.006682599989429982,0.0582898156780689,1713370.0,125419368000.0,11449.766343889649,8190481956.8192215,31,8662.033451631787,6118276066.086573,706332.5373020798,502248.8278122779,984923.443592408,0.07633262807228156,511.57899564549547,0.11818911157089783,17324.066903263574,12236552132.173145,1023.1579912909909,18,4905.229525856743,3219150999.623665,943006.2,17,4629.173789540224,3151986175.1528077,49,13567.26297748853,9337427065.71024,1.1849379777718274,1.140033897264873,13291.207241172011,9270262241.23938,1.160827814470212,1.1318335465620746,67836.31488744266,46687135328.55119,502054.72,984923.443592408,715340.5327952568,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,OK,40,1m_plus,1000000.0,inf,5250.0,15861834000.0,0.003082921787742303,0.12051746800528616,1713370.0,125419368000.0,5282.18570346403,16934281498.34108,13,3934.8124812588185,7196560094.146005,1828946.1387099426,1078096.2179593032,5203888.930608097,0.1642418910761162,227.13333333333333,0.29273978832682435,7869.624962517637,14393120188.29201,454.26666666666665,14,4420.2896379531885,5077095376.219342,1425610.0,13,4156.847971286521,4779161131.279702,27,8355.102119212006,12273655470.365345,1.5817509243820742,0.7247815900289422,8091.6604525453395,11975721225.425707,1.531877314960523,0.7071880331385111,41775.510596060034,61368277351.82672,1007755.4,5203888.930608097,3205923.163064045,True,True,True,True,,False,False,False,False,False,5203888.930608097,227.13333333333333,puf,26.0,8127.968785878672,11091678831.259893,0.6549837282642584,True,,False +demographic_midrank6_earn,OR,41,100k_200k,100000.0,200000.0,386310.0,53351259000.0,0.18684071793730866,0.293447158369056,2030990.0,174318031000.0,379471.6297234945,57309205534.6456,588,196123.08402721124,27241276681.73536,138898.87983790704,100051.55272812123,199735.11632331501,0.0042582851102321365,583.3966666666666,0.00755822466446689,392246.1680544225,54482553363.47072,1166.7933333333333,591,199244.93403675576,27854737204.21956,199851.16,558,187367.26895683387,26101937344.19194,1179,395368.018063967,55096013885.95492,1.041890847945749,0.9613815681434857,383490.3529840451,53343214025.9273,1.0105903128080453,0.9307966063790448,1976840.090319835,275480069429.7746,100000.0,199851.16,151023.68937673807,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,OR,41,200k_500k,200000.0,500000.0,137800.0,39131297000.0,0.06664764290792662,0.2152333070142837,2030990.0,174318031000.0,135360.6962695699,42034313428.48463,204,64343.42458351386,18396553271.095142,285911.9387905369,200036.14618423325,495945.6312963364,0.01145342401990902,434.9422855997876,0.022380248599885185,128686.84916702771,36793106542.190285,869.8845711995752,250,78952.41337474264,22381859564.44615,490278.8,229,71589.48241068375,20266763355.26853,454,143295.83795825648,40778412835.54129,1.058622199112243,0.9701220148372336,135932.9069941976,38663316626.36368,1.004227303348737,0.919803690671522,716479.1897912824,203892064177.70645,200019.04,495945.6312963364,310535.58815014944,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,OR,41,500k_1m,500000.0,1000000.0,17580.0,11686918000.0,0.00850265284703447,0.06428138607173584,2030990.0,174318031000.0,17268.802905798537,12553930277.981806,24,7414.200352108601,5373830331.667805,724802.4165059804,504439.06318276,976111.1074638759,0.08678805088914085,477.7983333333333,0.13648585697064608,14828.400704217202,10747660663.33561,955.5966666666666,21,5872.211493245651,3761882627.9280076,938535.48,18,4853.860604826048,2913375247.372345,45,13286.41184535425,9135712959.595814,0.7693881224906982,0.727717356820026,12268.060956934649,8287205579.04015,0.7104175676714259,0.6601283737870509,66432.05922677125,45678564797.979065,503594.92,976111.1074638759,726971.6578771325,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,OR,41,1m_plus,1000000.0,inf,6320.0,16704586000.0,0.00305669886196006,0.09187999281200684,2030990.0,174318031000.0,6208.124821652262,17943841820.961777,14,4166.097494515254,11002413802.253422,2640940.0684305415,1051400.5553561458,15875050.993229922,0.39378223548396607,272.9159802144042,0.5938343019560697,8332.194989030508,22004827604.506844,545.8319604288084,10,3140.5112530588513,3900138877.223988,2250998.0,9,2701.27607327741,3321743867.524803,24,7306.608747574105,14902552679.47741,1.1769429509681617,0.8305107026784214,6867.373567792663,14324157669.778225,1.106191284015605,0.798277080945114,36533.043737870525,74512763397.38705,1000172.56,15875050.993229922,2890380.321990065,True,True,True,True,,False,False,False,False,False,15875050.993229922,272.9159802144042,puf,23.0,7033.6927673597,10569997576.706415,0.5890598948748351,False,mean_out_of_range,False +demographic_midrank6_earn,PA,42,100k_200k,100000.0,200000.0,1120820.0,154512752000.0,0.17787574946755666,0.26988994658326626,6325490.0,549715592000.0,1125151.2744995349,166217570670.44208,999,586628.0457162841,79471747012.26767,135472.12342231465,100110.91774433482,199870.84342043148,0.0027907309280902908,1245.4752216210832,0.004672834307258866,1173256.0914325682,158943494024.53534,2490.9504432421663,963,553329.6253069221,76494125597.2237,199815.71999999997,930,534475.892972745,73674789870.0392,1962,1139957.6710232063,155965872609.4914,1.013159471849914,0.9383236199422225,1121103.938689029,153146536882.3069,0.9964028518633585,0.9213619009385536,5699788.355116032,779829363047.457,100000.0,199870.84342043148,147729.08713486133,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,PA,42,200k_500k,200000.0,500000.0,405170.0,116054874000.0,0.064301062982254,0.2027149431950296,6325490.0,549715592000.0,406735.7308836179,124846389511.8783,355,204533.7044881595,58267222528.75622,284878.3415651151,200224.62220796032,499294.1825186709,0.007287231750703714,962.4113407262269,0.013370855188456706,409067.408976319,116534445057.51244,1924.8226814524537,419,237997.5332961773,68620083011.87828,495471.6,399,224170.15890120086,64101423832.20688,774,442531.23778433684,126887305540.63449,1.0880067920832885,1.0163474173080673,428703.86338936037,122368646360.9631,1.0540108253042277,0.9801536659521944,2212656.1889216844,634436527703.1725,200000.0,499294.1825186709,306947.1896178245,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,PA,42,500k_1m,500000.0,1000000.0,61070.0,40814233000.0,0.009691897021808752,0.07129088713795599,6325490.0,549715592000.0,61305.99769248105,43906037334.9469,59,31513.94236482138,21366440598.574905,677999.6089104356,504278.4010368119,996857.9830022147,0.03389509691341157,728.5346346390156,0.06416832515863435,63027.88472964276,42732881197.14981,1457.0692692780312,45,24961.210563093166,17178209176.198032,999999.0,40,22270.934768834653,14670024162.302727,104,56475.15292791455,38544649774.772934,0.9212011068020024,0.8778895139346455,53784.87713365603,36036464760.87763,0.877318356410217,0.8207633152125642,282375.7646395727,192723248873.8647,502114.16,999999.0,716178.4978230901,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,PA,42,1m_plus,1000000.0,inf,25310.0,77084708000.0,0.004016733479973465,0.13464511799328174,6325490.0,549715592000.0,25407.807460237356,82924112953.47581,27,16105.685896616376,31594531697.45794,1961700.476481762,1011688.1770092001,6481370.8226429075,0.15823351784178702,808.6777496434318,0.27055832302117,32211.371793232753,63189063394.91588,1617.3554992868635,14,8601.058638541275,10497604666.46077,2100075.6,13,8054.240772261293,9584501949.45888,41,24706.74453515765,42092136363.91871,0.972407578805182,0.5075982710545762,24159.92666887767,41179033646.91682,0.950885931684086,0.49658696584454415,123533.72267578825,210460681819.59354,1000017.0,6481370.8226429075,3263725.6513868887,True,True,True,True,,False,False,False,False,False,6481370.8226429075,484.07185525218296,puf,40.0,24222.672679905467,38954687165.224594,0.46976308552230084,True,,False +demographic_midrank6_earn,RI,44,100k_200k,100000.0,200000.0,101150.0,13995857000.0,0.17718569902079281,0.280723473261187,568360.0,47930497000.0,100705.2638954578,15074496968.727064,325,49411.12995527996,6755137748.520632,136712.8773342046,100056.36078865596,199310.61367189657,0.008239931375635296,329.00220702852846,0.012547596575168168,98822.25991055992,13510275497.041264,658.0044140570569,297,46615.42693433666,6529460185.011171,199001.36,293,46151.01898367345,6457546149.504407,622,96026.55688961662,13284597933.531803,0.9535405913766519,0.8812631002607575,95562.14893895341,13212683898.02504,0.9489290355085762,0.8764925241243893,480132.78444808314,66422989667.65901,100000.0,199310.61367189657,149689.26534342743,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,RI,44,200k_500k,200000.0,500000.0,35060.0,9898504000.0,0.06141503319494806,0.1985403554044424,568360.0,47930497000.0,34905.84826668068,10661367041.899094,117,17003.97765361099,5065025719.817973,297872.9931900585,200096.31192567802,499113.70203606534,0.023183381642594182,260.1700208490974,0.040239929913601945,34007.95530722198,10130051439.635946,520.3400416981948,151,22016.163093001553,6368029736.603348,494532.0,144,20756.847614691393,6009746331.478523,268,39020.14074661255,11433055456.421322,1.1178682852368658,1.0723817509977378,37760.82526830238,11074772051.296497,1.0817907927579835,1.0387759850845324,195100.70373306278,57165277282.10661,200000.0,499113.70203606534,305432.11442524614,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,RI,44,500k_1m,500000.0,1000000.0,4770.0,3191742000.0,0.008355667665142678,0.06401872354037395,568360.0,47930497000.0,4749.027274160492,3437724828.4230723,19,3042.751058696145,2069270437.3005126,680065.6371103917,501268.62227174535,869611.5522547867,0.1160297110249123,276.09666666666664,0.1862556414703847,6085.50211739229,4138540874.601025,552.1933333333333,21,2915.3578241470577,1931955042.3940325,936119.68,23,3188.0849076220793,2160259982.94195,40,5958.108882843204,4001225479.694545,1.2545956337756445,1.1639167412738958,6230.835966318224,4229530420.242462,1.3120236222310764,1.2303283803499192,29790.54441421602,20006127398.472725,500473.0,936119.68,723879.7821035414,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,RI,44,1m_plus,1000000.0,inf,1900.0,5648283000.0,0.0033282533676668945,0.11329107047336347,568360.0,47930497000.0,1891.6460840471561,6083587804.734831,8,934.7536488466942,1586993060.87801,1697766.104295023,1000286.3594652904,3076101.7258405657,0.22112029422131307,114.07827303001089,0.3631152842802233,1869.5072976933884,3173986121.75602,228.15654606002178,5,619.7195713413516,765915251.7716842,1625904.0,3,346.9924878663301,423532649.30806947,13,1554.473220188046,2352908312.649694,0.8217568990824476,0.3867632699931503,1281.7461367130243,2010525710.1860795,0.6775824228022308,0.3304835525873886,7772.36610094023,11764541563.24847,1000286.3594652904,3076101.7258405657,3216028.545740999,True,True,False,False,mean_out_of_range,False,False,False,False,False,3076101.7258405657,114.07827303001089,puf,12.0,1440.3949471580352,2001991940.1011662,0.3290807997450163,False,mean_out_of_range,False +demographic_midrank6_earn,SC,45,100k_200k,100000.0,200000.0,390410.0,53612230000.0,0.15692414053676007,0.2675120053680605,2481150.0,191369595000.0,389352.33129278227,57354616827.70162,562,211917.64358146995,28918767902.154823,136462.2945660362,100162.14044372637,199449.24733129574,0.004452225278671675,719.2433333333333,0.007354537347501161,423835.2871629399,57837535804.30965,1438.4866666666667,545,203290.16440855298,27624876493.956005,199379.0,521,193090.70223269562,26264930937.592953,1107,415207.80799002293,56543644396.11083,1.0664063744305619,0.9858603809693817,405008.34581416554,55183698839.74777,1.0402104039531495,0.962149202487474,2076039.0399501147,282718221980.55414,100000.0,199449.24733129574,147307.75243406088,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,SC,45,200k_500k,200000.0,500000.0,131330.0,37435945000.0,0.052787703636414794,0.18679627241393276,2481150.0,191369595000.0,130974.21087749056,40049150745.22945,212,77493.64373766762,22407683510.18438,289155.11556069204,200880.19576409602,493870.1604002072,0.014069335105229386,681.2766666666666,0.02590925560419964,154987.28747533524,44815367020.36876,1362.5533333333333,214,76066.525074465,21165633139.60317,494040.0,206,73120.97337747093,20251308892.04447,426,153560.16881213262,43573316649.787544,1.1724458409279388,1.0879960208638852,150614.61711513856,42658992402.22885,1.1499562860968031,1.0651659675282947,767800.8440606631,217866583248.9377,200004.08000000002,494040.0,305778.90469361364,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,SC,45,500k_1m,500000.0,1000000.0,19070.0,12762489000.0,0.007665129889183203,0.06368172012016313,2481150.0,191369595000.0,19018.337024546905,13653371000.660797,30,9403.671281008379,6300078421.448274,669959.4480904378,505102.24012740917,992729.3659758468,0.060900978571596626,613.8249220666929,0.11227085328637937,18807.342562016758,12600156842.896547,1227.6498441333858,29,10204.039023906127,6607546329.951423,892730.2000000001,25,8611.528514520243,5613667719.115264,59,19607.710304914504,12907624751.399698,1.030989737935914,0.9453800640717221,18015.19979552862,11913746140.563538,0.9472542090444849,0.8725864213304491,98038.55152457253,64538123756.99849,505102.24012740917,992729.3659758468,717905.6183008238,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,SC,45,1m_plus,1000000.0,inf,8410.0,23441693000.0,0.0033803745342438772,0.11696835411719354,2481150.0,191369595000.0,8387.216275639195,25078033870.39889,14,5623.236720050452,44365684386.452515,7889705.981656497,1005069.5133787508,61780176.29283324,0.5554119042473725,398.8533333333333,0.6257316554629425,11246.473440100905,88731368772.90503,797.7066666666666,12,4949.3897204128425,6578193875.370864,2595198.0,9,3485.994720412843,4877885770.973554,26,10572.626440463293,50943878261.82338,1.2605644224498724,2.0314143654601047,9109.231440463296,49243570157.42607,1.0860851969349121,1.963613671307431,52863.13220231647,254719391309.11688,1005069.5133787508,61780176.29283324,2990030.666460628,True,True,True,True,,False,True,False,True,False,61780176.29283324,398.8533333333333,puf,25.0,10173.77310712996,26302649013.505867,1.048832183154217,True,,False +demographic_midrank6_earn,SD,46,100k_200k,100000.0,200000.0,83620.0,11389374000.0,0.1879523488424365,0.2820126738855975,441520.0,38863829000.0,82984.72106091256,12279095605.71681,410,38616.3093322156,5242410468.512088,135756.3827089663,100189.49251880925,197497.00919205757,0.007396012432997639,202.79166666666666,0.013393714104717278,77232.6186644312,10484820937.024176,405.5833333333333,426,39962.66631323195,5428033323.803623,199632.0,398,37360.12735342505,5077589311.346325,836,78578.97564544754,10670443792.315712,0.9469089567436022,0.8689926469297825,75976.43668564066,10319999779.858414,0.9155472924934257,0.8404527590007285,392894.8782272377,53352218961.57856,100000.0,199632.0,147968.14942239417,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,SD,46,200k_500k,200000.0,500000.0,24210.0,6924886000.0,0.054416722859069455,0.17146733588807775,441520.0,38863829000.0,24026.071476736346,7465848189.083076,121,11592.475541232061,3297111449.037244,284418.2364077538,200034.79793327415,481600.1277977312,0.03801074801787213,306.4866666666666,0.06542741672504725,23184.951082464122,6594222898.074488,612.9733333333332,161,15014.370327836892,4174566764.329191,487356.83999999997,132,12088.996608636018,3340290546.320983,282,26606.845869068955,7471678213.366434,1.1074155795645362,1.0007808924231654,23681.47214986808,6637401995.358227,0.9856572753809574,0.8890352210836214,133034.22934534476,37358391066.83217,200000.0,487356.83999999997,310739.4480330257,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,SD,46,500k_1m,500000.0,1000000.0,4030.0,2733704000.0,0.00905821532928748,0.06768933697776132,441520.0,38863829000.0,3999.3832321870086,2947257046.2371736,23,2246.464568323962,1495857988.0873802,665872.059225669,507102.62715522153,963888.8534745398,0.08180945638669748,126.96,0.15805492808654603,4492.929136647924,2991715976.1747603,253.92,16,1370.439673585749,867559025.312661,867619.08,12,992.5211809562761,592072670.1793457,39,3616.9042419097104,2363417013.400041,0.9043655063613034,0.8019039317990491,3238.985749280238,2087930658.266726,0.8098713129596842,0.7084318149081812,18084.52120954855,11817085067.000206,501446.48,963888.8534745398,736927.8899100415,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,SD,46,1m_plus,1000000.0,inf,2080.0,6239959000.0,0.004675207911890312,0.15450783533199444,441520.0,38863829000.0,2064.1977972578106,6727415671.550786,9,893.7767951095274,3069102324.5388975,3433857.6939254683,1247583.8320141237,10578569.710010583,0.3120910640253551,131.5174783948371,0.37986127616033544,1787.5535902190547,6138204649.077795,263.0349567896742,11,1066.512192970793,1405215908.8870435,2199998.0,10,1016.3998277061869,1344960220.563573,20,1960.28898808032,4474318233.4259405,0.9496614087489442,0.6650872269342817,1910.1766228157144,4414062545.10247,0.9253844885181517,0.6561304906085805,9801.4449404016,22371591167.129704,1000358.4,10578569.710010583,3259094.492052961,True,True,True,True,,False,False,False,False,False,10578569.710010583,73.07666666666667,puf,19.0,1887.2123214136536,3701271620.9174013,0.5501773343023107,True,,False +demographic_midrank6_earn,TN,47,100k_200k,100000.0,200000.0,517050.0,70720057000.0,0.1586247307935378,0.24975703537225308,3247910.0,267534018000.0,515198.8493916394,74859842782.64197,653,302027.5314982383,40377211266.314224,133687.18760842417,100229.8103251304,199598.55260412203,0.004353915186806776,1001.2145525850882,0.007437988068587853,604055.0629964767,80754422532.62845,2002.4291051701764,606,280076.2439439662,38329208255.727264,199520.0,596,275980.63214165176,37819321445.16164,1259,582103.7754422047,78706419522.04149,1.1298623359302304,1.051383713836645,578008.16363989,78196532711.47586,1.1219127611065467,1.0445724944750696,2910518.877211023,393532097610.20746,100000.0,199598.55260412203,145302.8143813568,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,TN,47,200k_500k,200000.0,500000.0,173850.0,49800401000.0,0.05333509225114892,0.17587656234651208,3247910.0,267534018000.0,173227.5794734291,52715599329.5159,199,94113.63199397584,26787803217.99234,284632.55163403973,200093.90095858832,496538.0832702803,0.014142637730822371,786.6267108985709,0.027812017305721037,188227.26398795168,53575606435.98468,1573.2534217971418,213,98231.95906953052,27798110925.584396,492489.6,206,95094.02824459763,27041928598.6123,412,192345.59106350638,54585914143.57673,1.110363555550401,1.0354793426964535,189207.66023857347,53829731816.604645,1.0922490564938911,1.021134777964384,961727.955317532,272929570717.88364,200000.0,496538.0832702803,304314.12532437884,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,TN,47,500k_1m,500000.0,1000000.0,27470.0,18459634000.0,0.008427466115266385,0.06519258690496878,3247910.0,267534018000.0,27371.651470434845,19540217551.93314,29,12917.742858923335,8915976072.122852,690211.6081343006,509468.78958421113,967968.8288447079,0.06579302798966555,620.02,0.11257113696582113,25835.48571784667,17831952144.245705,1240.04,25,11926.247793060207,8146985316.952826,976406.56,20,8929.565811803915,6347996173.296843,54,24843.990651983542,17062961389.075678,0.9076540624090028,0.8732226928245032,21847.308670727252,15263972245.419695,0.7981728356553625,0.7811567197167469,124219.9532599177,85314806945.37839,500021.76,976406.56,713885.2243913476,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,TN,47,1m_plus,1000000.0,inf,13590.0,46625536000.0,0.004169248798925015,0.16466411564122832,3247910.0,267534018000.0,13541.344866516545,49354885200.62156,19,7658.596568303811,15557101914.097063,2031325.4230523563,1043981.0367808942,4485527.79911944,0.11414570393826752,486.5083272078957,0.1632293662626623,15317.193136607622,31114203828.194126,973.0166544157914,10,4661.398218130071,5757173856.265249,1533266.8,10,4661.398218130071,5717327801.667108,29,12319.994786433883,21314275770.362312,0.9098058507391925,0.43185746828753413,12319.994786433883,21274429715.76417,0.9098058507391925,0.43105013068688586,61599.973932169414,106571378851.81155,1019461.04,4485527.79911944,3644755.0584625127,True,True,True,True,,False,False,False,False,False,4485527.79911944,312.1282030463486,puf,28.0,12007.866583387535,19914216038.708717,0.4034902716875922,True,,False +demographic_midrank6_earn,TX,48,100k_200k,100000.0,200000.0,2156120.0,298758539000.0,0.1577097950179352,0.23530574793973377,13641000.0,1252113837000.0,2151319.313839654,330087074707.18256,2274,1243452.478402,171620465522.88342,138019.32000122618,100035.75238685704,199904.3107130963,0.001619991119675253,1392.4406916942892,0.002935566830462403,2486904.956804,343240931045.76685,2784.8813833885783,2189,1199161.0581087437,165802663999.16086,199965.6,2132,1169616.4630495491,162116122195.78027,4463,2442613.5365107437,337423129522.0443,1.1354025972793367,1.022224604890602,2413068.941451549,333736587718.6637,1.121669352349525,1.0110562130150615,12213067.682553718,1687115647610.2217,100000.0,199965.6,153434.71914359674,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,TX,48,200k_500k,200000.0,500000.0,902260.0,260627984000.0,0.06599597408904988,0.20527367322928622,13641000.0,1252113837000.0,900251.0825487294,287958058415.16174,788,436682.81803256174,123118389262.84341,281940.081401744,200008.46636784426,499897.22276349354,0.004094128183202776,1028.5910203834433,0.008337871469732036,873365.6360651235,246236778525.68683,2057.1820407668865,951,531349.6157356194,149912242572.2105,497960.48000000004,899,496590.568999551,140394770934.02484,1739,968032.4337681812,273030631835.05396,1.0752916075674732,0.9481611083841027,933273.3870321128,263513160196.86826,1.0366812160779557,0.9151095185429741,4840162.168840907,1365153159175.2698,200000.0,499897.22276349354,319864.16234003805,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,TX,48,500k_1m,500000.0,1000000.0,144090.0,96559988000.0,0.010539489622161235,0.07605178507514297,13641000.0,1252113837000.0,143769.17793590142,106685499532.0507,129,67406.55352407478,43739373723.024155,648889.0387698326,503577.40904639574,992063.7679731587,0.01655792145986662,846.8555155559537,0.0299723446476184,134813.10704814957,87478747446.04831,1693.7110311119075,87,46537.919815812886,30501595760.487743,986640.0,85,46145.271654110824,30501389631.134293,216,113944.47333988767,74240969483.5119,0.7925514701815232,0.6958862245492721,113551.82517818561,74240763354.15845,0.7898203690697319,0.6958842924277152,569722.3666994383,371204847417.5595,500000.0,992063.7679731587,742060.9971047881,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,TX,48,1m_plus,1000000.0,inf,69410.0,228634677000.0,0.005077007250150679,0.18007536740713692,13641000.0,1252113837000.0,69255.45589930542,252609856642.6299,80,43272.293387910715,122451938950.56812,2829800.0721352655,1001961.1239574697,28258483.831495717,0.19073847626686014,826.5233333333333,0.28453995667601306,86544.58677582143,244903877901.13623,1653.0466666666666,65,37237.46321261783,46574704291.940186,2293601.72,60,33818.87988999409,42165995385.89578,145,80509.75660052855,169026643242.5083,1.1625041746542888,0.6691213299789495,77091.1732779048,164617934336.4639,1.1131422395080641,0.6516686899092413,402548.78300264274,845133216212.5415,1000000.0,28258483.831495717,3647508.39283932,True,True,True,True,,False,False,False,False,False,28258483.831495717,826.5233333333333,puf,144.0,79683.2332671952,145670346991.15436,0.5766613738957774,True,,False +demographic_midrank6_earn,UT,49,100k_200k,100000.0,200000.0,301730.0,41562869000.0,0.19560721671539613,0.2850079776839072,1514460.0,141245443000.0,296239.3054267988,45100736037.488304,704,162036.52294850047,21957251694.254997,135508.04037700561,100041.448113486,199517.36599925903,0.004434065860067538,495.9360301374587,0.008301985207659818,324073.04589700093,43914503388.509995,991.8720602749174,705,164379.25523244395,22729850492.45117,199942.0,692,160490.1344489277,22110623754.057365,1409,326415.7781809444,44687102186.70617,1.1018651887219004,0.9908286673982811,322526.6573974282,44067875448.31236,1.0887368809238753,0.9770988085800326,1632078.8909047218,223435510933.53085,100000.0,199942.0,152244.2674259941,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,UT,49,200k_500k,200000.0,500000.0,97900.0,27797383000.0,0.06346716109249091,0.1906142695234783,1514460.0,141245443000.0,96118.47678813379,30163520069.222477,217,50906.69727596002,14736465246.967823,289479.89234270976,200293.7963259559,494758.9532256541,0.012051684434449815,378.16166666666663,0.022385088834749295,101813.39455192004,29472930493.935646,756.3233333333333,273,61665.77584593896,16954846208.931282,497287.60000000003,257,57403.44450825064,15613666922.409111,490,112572.47312189899,31691311455.899105,1.1711845306291466,1.0506503015288167,108310.14178421066,30350132169.376934,1.1268399729528586,1.0061866817840293,562862.365609495,158456557279.4955,200000.0,497287.60000000003,313816.0432536763,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,UT,49,500k_1m,500000.0,1000000.0,14130.0,9472981000.0,0.009160275651040823,0.0649588255673129,1514460.0,141245443000.0,13872.871062475284,10279329263.077147,32,6943.469019577515,5010898452.406787,721670.7438714376,501180.71675907,934477.7472349092,0.06836446257550562,384.07,0.09816579836962154,13886.93803915503,10021796904.813574,768.14,35,7529.408400513259,4871610711.047146,945070.0399999999,34,7334.830067179926,4708556376.384028,67,14472.877420090774,9882509163.453934,1.0432503376491724,0.9613963042269138,14278.29908675744,9719454828.790815,1.0292245219072784,0.9455339526580423,72364.38710045387,49412545817.26967,500000.68,945070.0399999999,740966.2510943171,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,UT,49,1m_plus,1000000.0,inf,7210.0,22499384000.0,0.004674139238783038,0.15428443914624032,1514460.0,141245443000.0,7078.79691156736,24414550852.831833,21,4310.342454114527,18294729780.553337,4244379.646236628,1055055.013557345,51266384.31190235,0.39767601940338,141.91317396069655,0.5101018710876049,8620.684908229054,36589459561.106674,283.8263479213931,18,4237.74671267726,5486175125.810253,2450075.52,17,3886.2586702206427,5081238884.701215,39,8548.089166791786,23780904906.363594,1.2075624253075372,0.9740463811811331,8196.60112433517,23375968665.25455,1.157908784039449,0.9574605245110697,42740.44583395893,118904524531.81796,1000000.0,51266384.31190235,3448968.9643357852,True,True,True,True,,False,False,False,False,False,51266384.31190235,141.91317396069655,puf,38.0,8406.175992831088,16505529591.172668,0.6760529690128704,True,,False +demographic_midrank6_earn,VA,51,100k_200k,100000.0,200000.0,818340.0,114540074000.0,0.1963354742122853,0.26835489542282787,4160340.0,410639684000.0,816822.326784339,123458958011.66893,800,438517.63518631086,61038206553.35635,139192.136542977,100030.76886502102,199295.12066699172,0.0034289884545899703,1390.0959482770402,0.005024862640133873,877035.2703726217,122076413106.7127,2780.1918965540804,783,437435.57384457043,61200039288.399284,199804.32,755,415645.15877548954,58156533577.9763,1583,875953.2090308813,122238245841.75565,1.072391363834689,0.9901124050488268,854162.7939618004,119194740131.33266,1.045714307693404,0.965460441680277,4379766.045154407,611191229208.7782,100000.0,199804.32,151145.42534323392,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,VA,51,200k_500k,200000.0,500000.0,388790.0,111756124000.0,0.0932781839076599,0.2618324043415633,4160340.0,410639684000.0,388068.95963839383,120458230369.77316,331,172346.10877377348,48762406754.60157,282933.02994504233,200056.61012593826,493004.19900761195,0.0070408423846605684,731.1855081556948,0.013789181251542616,344692.21754754696,97524813509.20314,1462.3710163113897,411,206752.23902885645,58005991976.16076,495701.36,389,194715.49673494988,54599807801.16942,742,379098.3478026299,106768398730.76233,0.9768839748375577,0.8863520442149376,367061.60550872335,103362214555.771,0.945866955838866,0.8580751538394499,1895491.7390131496,533841993653.81165,200000.0,495701.36,310404.18816804426,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,VA,51,500k_1m,500000.0,1000000.0,49620.0,32900926000.0,0.011904790466570859,0.07708327965672694,4160340.0,410639684000.0,49527.975969693405,35462820126.85819,42,20810.19789175393,14086825182.340958,676919.3284761065,502553.165480088,998365.818909402,0.04416710382872003,657.0914661693224,0.07975295242017422,41620.39578350786,28173650364.681915,1314.1829323386448,39,19462.708864964014,11985054746.005154,952827.36,36,17533.167567932913,10982244366.665905,81,40272.906756717945,26071879928.34611,0.813134515760573,0.7351891314644844,38343.365459686844,25069069549.006863,0.7741759017802278,0.7069113358534197,201364.53378358972,130359399641.73056,501468.68,998365.818909402,716015.9371050858,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,VA,51,1m_plus,1000000.0,inf,19040.0,53174870000.0,0.004568061476894582,0.12458291827166504,4160340.0,410639684000.0,19004.688884783605,57315433920.58533,24,12007.625212403664,59138461094.23238,4925075.528935014,1005684.3722648126,44223527.79687524,0.4821329990383947,644.7383333333333,0.5912873122474961,24015.250424807327,118276922188.46477,1289.4766666666667,20,10815.364876892696,14309887001.860022,2276810.92,19,10347.77055787162,13131013594.202648,44,22822.990089296363,73448348096.0924,1.200913639137231,1.2814759144606738,22355.39577027528,72269474688.43503,1.1763094837176982,1.2609077476159318,114114.95044648182,367241740480.46204,1005684.3722648126,44223527.79687524,3015857.5216917023,True,True,True,True,,False,False,False,False,False,44223527.79687524,644.7383333333333,puf,43.0,22178.251755963032,44935744490.21472,0.784007751777234,True,,False +demographic_midrank6_earn,VT,50,100k_200k,100000.0,200000.0,59930.0,8224299000.0,0.17881545576607488,0.2929571967124302,336880.0,27149664000.0,60239.3507384753,8910884168.531477,494,31409.092494730357,4264540541.0237246,135774.07694091147,100166.78237809196,199378.00934753657,0.004425942584880991,102.65066596496683,0.007662251001473865,62818.184989460715,8529081082.047449,205.30133192993367,504,32417.078216913775,4482181330.835603,199950.96,482,30956.385218745727,4283266229.023574,998,63826.17071164413,8746721871.859325,1.0595428059764578,0.9815773279545159,62365.47771347608,8547806770.047298,1.0352946528960978,0.959254615858842,319130.85355822067,43733609359.29663,100000.0,199950.96,147924.6382853199,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,VT,50,200k_500k,200000.0,500000.0,19010.0,5397017000.0,0.05672087125167835,0.1922467764035974,336880.0,27149664000.0,19108.1271072654,5847573555.21671,180,11292.069148611416,3202597584.3798633,283614.7691119733,200468.9316979951,498352.38691797614,0.014019397903231836,113.26706793339629,0.02356011333910167,22584.13829722283,6405195168.759727,226.53413586679258,188,11589.941874414439,3266965346.935578,489495.48,179,11088.045597124106,3131604516.8332133,368,22882.011023025858,6469562931.315441,1.197501507844038,1.1063670888831907,22380.114745735522,6334202101.213077,1.171235392150287,1.0832188841065946,114410.05511512929,32347814656.577206,200000.0,498352.38691797614,306025.46876471804,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,VT,50,500k_1m,500000.0,1000000.0,2650.0,1772000000.0,0.00790690735491571,0.06312029178102915,336880.0,27149664000.0,2663.6789497240043,1919931017.4201806,24,1424.9918334183217,920975382.7802033,646302.2181474082,503695.39118325384,910628.6731729561,0.0709105001020278,111.8985853859561,0.11216659271003158,2849.9836668366434,1841950765.5604067,223.7971707719122,22,1359.0448353982717,836699618.0567997,892668.0,18,1060.4397316603752,627984343.8827521,46,2784.0366688165936,1757675000.8370028,1.045184769397626,0.9154886216687087,2485.4315650786966,1548959726.6629553,0.9330822565295354,0.8067788439317466,13920.183344082969,8788375004.185013,500013.6,910628.6731729561,720781.6909087761,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,VT,50,1m_plus,1000000.0,inf,1060.0,2725790000.0,0.0031627629419662836,0.09709518066242181,336880.0,27149664000.0,1065.4715798896016,2953345805.8542633,12,738.981735110403,1330425966.1779099,1800350.2697927249,1035576.9152560786,2824993.424552462,0.1637565945039328,77.12089648329483,0.2379685549110372,1477.963470220806,2660851932.3558197,154.24179296658966,8,513.567801873538,622904708.3528328,1599176.36,8,513.567801873538,620863412.3748012,20,1252.549536983941,1953330674.5307422,1.1755823061124946,0.6613958550531931,1252.549536983941,1951289378.552711,1.1755823061124946,0.6607046742324492,6262.747684919705,9766653372.653711,1035576.9152560786,2824993.424552462,2771867.2760471688,True,True,True,True,,False,False,False,False,False,2824993.424552462,77.12089648329483,puf,19.0,1175.4286405006462,1735464649.0698435,0.587626632015026,False,mean_out_of_range,False +demographic_midrank6_earn,WA,53,100k_200k,100000.0,200000.0,798150.0,111566500000.0,0.211045271015286,0.25686316119269464,3757410.0,416412736000.0,792983.6117655458,119833431275.18062,778,376912.20630106964,52461780885.41109,139188.330885484,100107.8308164714,199826.71878282807,0.003287241389401375,900.8083333333333,0.005576884202839596,753824.4126021393,104923561770.82217,1801.6166666666666,746,368620.69386813755,51694695033.08523,199796.28,732,361742.2159918736,50496311806.59975,1524,745532.9001692072,104156475918.4963,0.9401618004555082,0.8691771136830391,738654.4222929432,102958092692.01083,0.9314876263941435,0.8591767055020069,3727664.5008460362,520782379592.48157,100000.0,199826.71878282807,151117.15992260716,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WA,53,200k_500k,200000.0,500000.0,381320.0,111273945000.0,0.10082789293184095,0.25618960235448845,3757410.0,416412736000.0,378851.7331810285,119519198333.51166,343,159683.45706218836,46826303120.34384,293244.54756830225,200115.7628817928,495881.6754790639,0.007681759086227596,824.4913544149551,0.01366120239910931,319366.9141243767,93652606240.68768,1648.9827088299103,417,193972.28634243505,55538200661.93635,484726.0,400,186020.11220781592,53036467270.23448,760,353655.74340462335,102364503782.2802,0.9334937983130048,0.8564691297262366,345703.5692700043,99862770390.57832,0.9125035970333416,0.8355374850483588,1768278.7170231168,511822518911.401,200000.68,495881.6754790639,315477.5017919774,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WA,53,500k_1m,500000.0,1000000.0,67020.0,44630153000.0,0.01772129808111817,0.10275344466388767,3757410.0,416412736000.0,66586.18262297423,47937188782.71072,59,28951.95004508515,19694249044.275543,680239.1208055713,502696.2256031625,991779.9046291009,0.033868243659545376,703.0370313125261,0.06045890046269674,57903.9000901703,39388498088.55109,1406.0740626250522,70,34690.899234443474,21593022340.288876,861992.72,63,31151.06159815639,19503119684.53119,129,63642.84927952863,41287271384.564415,0.9557966348647525,0.8612785278609267,60103.01164324154,39197368728.80673,0.9026348902377863,0.8176818400111078,318214.2463976431,206436356922.82208,500757.88,991779.9046291009,719926.9712477998,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WA,53,1m_plus,1000000.0,inf,23370.0,60595722000.0,0.006179449957560902,0.1395114905251461,3757410.0,416412736000.0,23218.72706503891,65085785498.845535,22,9792.113063891762,27029000361.58568,2760282.707647098,1054269.6464906957,6097816.479506066,0.14484938380678064,642.0550799531555,0.18988805291856142,19584.226127783524,54058000723.17136,1284.110159906311,17,7699.3236149253735,10077246685.38643,2091029.2000000002,16,7116.543987151381,9374510006.370962,39,17491.436678817136,37106247046.972115,0.7533331448283607,0.5701129173224819,16908.65705104314,36403510367.95664,0.7282335936711613,0.5593158335409865,87457.18339408567,185531235234.86057,1000510.0,6097816.479506066,2803159.07571208,True,True,True,True,,False,False,False,False,False,6097816.479506066,642.0550799531555,puf,38.0,16849.38159886398,33191112999.683174,0.5099594749497477,True,,False +demographic_midrank6_earn,WI,55,100k_200k,100000.0,200000.0,562410.0,76968654000.0,0.1909951335142276,0.3019089530541686,2940980.0,245188540000.0,561712.8677626731,82933181778.6864,530,272575.29947883997,36807301051.22448,135035.3503109031,100189.49251880925,199814.61555179674,0.004397292789281142,957.0311503665877,0.0076030398685286976,545150.5989576799,73614602102.44896,1914.0623007331753,509,262332.80067422707,36672569924.523605,199485.68,503,257753.52460501314,36151966029.289986,1039,534908.100153067,73479870975.7481,0.9522803034290979,0.8860129251019792,530328.824083853,72959267080.51447,0.9441279602444858,0.8797355354725435,2674540.5007653353,367399354878.7405,100000.0,199814.61555179674,147643.3717977886,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WI,55,200k_500k,200000.0,500000.0,159080.0,44879178000.0,0.05402376529479086,0.17603823036728272,2940980.0,245188540000.0,158882.813256674,48356997735.10427,177,91023.7656781354,25090597724.398182,275648.86529875937,200442.18524183115,498257.9354858368,0.01279017525978449,983.2066666666666,0.025061515809325884,182047.5313562708,50181195448.796364,1966.4133333333332,211,105892.10390831027,29208426723.495865,487209.0,191,94672.8404446072,26070817675.54723,388,196915.86958644565,54299024447.89405,1.239378039387618,1.1228783214652762,185696.60612274258,51161415399.94541,1.1687645901810102,1.05799404008089,984579.3479322282,271495122239.47025,200010.2,498257.9354858368,304356.37904386735,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WI,55,500k_1m,500000.0,1000000.0,21750.0,14544149000.0,0.007386326974866112,0.05704931253772261,2940980.0,245188540000.0,21723.039906541737,15671217958.849848,26,11294.950022987705,7326184698.338689,648624.7998820972,513610.9497656262,993944.5539104908,0.07858715680578944,760.0916666666666,0.1377785122020988,22589.90004597541,14652369396.677378,1520.1833333333332,30,13219.268070358648,8426669935.003896,997674.0,28,11984.59516697495,7605452570.823157,56,24514.218093346353,15752854633.342583,1.1284892997855274,1.0052093382088807,23279.545189962657,14931637269.161846,1.071652277495112,0.9528064320443999,122571.09046673177,78764273166.71292,502000.0,997674.0,721409.9880252291,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WI,55,1m_plus,1000000.0,inf,9770.0,29043605000.0,0.003317904116985835,0.11392331712685033,2940980.0,245188540000.0,9757.889649973002,31294279525.44637,8,4330.3627321447175,5736919411.692484,1324812.6696423732,1049667.8538431944,2507873.0672642677,0.2697241553042401,617.0111887102926,0.6614554302611487,8660.725464289435,11473838823.384968,1234.0223774205851,5,2780.210648504565,3187676257.0233493,1393019.0,5,2780.210648504565,3165957463.180747,13,7110.573380649282,8924595668.715834,0.7286999172683774,0.28518297286438443,7110.573380649283,8902876874.87323,0.7286999172683775,0.2844889548466524,35552.86690324641,44622978343.57917,1000000.0,2507873.0672642677,3207074.546649844,True,True,False,False,mean_out_of_range,False,False,False,False,False,2507873.0672642677,617.0111887102926,puf,12.0,6493.56219193899,7377209926.348581,0.23573669176022852,False,mean_out_of_range,False +demographic_midrank6_earn,WV,54,100k_200k,100000.0,200000.0,122970.0,16583210000.0,0.15816280595248813,0.3129470084179094,776010.0,50488126000.0,122735.91904719031,17701587788.770992,641,68282.56124699938,9331269336.614227,136656.69778935367,100045.09927919024,199973.7507295691,0.004809435240751029,232.6096530294629,0.00863645872207481,136565.12249399876,18662538673.228455,465.2193060589258,581,61039.185359035786,8332981181.819972,199480.36,561,58899.26647113211,8077281496.148703,1222,129321.74660603517,17664250518.4342,1.053658518304757,0.9978907389109762,127181.82771813149,17408550832.76293,1.036223370513336,0.9834457247844203,646608.7330301759,88321252592.171,100000.0,199973.7507295691,144224.99889347772,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WV,54,200k_500k,200000.0,500000.0,27070.0,7502011000.0,0.03481716806647031,0.14157282574171398,776010.0,50488126000.0,27018.470591261626,8007949384.276364,130,13532.24058206932,3794620704.133602,280413.33444526576,200335.99854278372,495851.6943721262,0.017921701583785674,137.14999999999998,0.03728825770934379,27064.48116413864,7589241408.267204,274.29999999999995,148,14913.172244125082,3921841837.104858,470001.36,130,12935.396552710954,3375164513.321848,278,28445.4128261944,7716462541.23846,1.0528135828455916,0.9636003140066993,26467.637134780274,7169785217.45545,0.9796127077355924,0.8953334834425087,142227.064130972,38582312706.1923,200006.8,495851.6943721262,296387.96012629644,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WV,54,500k_1m,500000.0,1000000.0,3290.0,2204033000.0,0.004231565679301341,0.041593004840700325,776010.0,50488126000.0,3283.7372827946338,2352673797.1025085,27,3075.79812373248,2087661320.925394,678738.0825865184,500310.39595329104,993961.5518710039,0.10229845769528478,232.6096530294629,0.1769123020057516,6151.59624746496,4175322641.850788,465.2193060589258,15,1939.3128633399647,1280315476.432811,894483.4,14,1819.7969743261638,1177254571.5037978,42,5015.110987072445,3367976797.358205,1.5272570717972664,1.4315528151442487,4895.595098058644,3264915892.4291916,1.4908607712649393,1.3877469526162856,25075.554935362226,16839883986.791023,500310.39595329104,993961.5518710039,716462.2484964019,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WV,54,1m_plus,1000000.0,inf,1240.0,3107850000.0,0.0015948758183384996,0.05864922171953438,776010.0,50488126000.0,1237.639583788859,3317444548.3915315,16,1738.0496031200755,7565945857.198999,4353124.239732239,1018249.2033383404,76984912.10283597,0.642919175345316,63.184999999999995,0.823814711502013,3476.099206240151,15131891714.397999,126.36999999999999,10,1125.4217730367222,1404638051.3549938,2847267.6,10,1125.4217730367222,1399482056.1813345,26,2863.4713761567978,8970583908.553993,2.313655294856265,2.704064462178696,2863.4713761567978,8965427913.380333,2.313655294856265,2.7025102552888898,14317.35688078399,44852919542.769966,1018249.2033383404,76984912.10283597,2680460.9288882334,True,True,True,True,,False,True,True,True,True,76984912.10283597,63.184999999999995,puf,25.0,2800.286376156798,4106292237.3363028,1.237787754230058,True,,False +demographic_midrank6_earn,WY,56,100k_200k,100000.0,200000.0,57590.0,7888421000.0,0.20396670798654154,0.25240162301452307,280750.0,30549840000.0,57263.65326722154,8638796649.596874,525,26751.109691147132,3670681581.8877373,137216.04913842108,100165.03693732661,198927.9754366209,0.004920624760589895,108.32545292137031,0.00828249942822246,53502.219382294265,7341363163.775475,216.65090584274063,519,26628.192802618512,3672510198.0456214,199516.0,495,25375.451553345956,3487391854.7910833,1044,53379.302493765645,7343191779.933359,0.9321672552861844,0.850024844638058,52126.56124449309,7158073436.678821,0.9102905293388085,0.8285961259445607,266896.51246882824,36715958899.666794,100000.0,199516.0,150860.03348902354,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WY,56,200k_500k,200000.0,500000.0,15500.0,4381357000.0,0.054896405170887196,0.14018795622166233,280750.0,30549840000.0,15412.16575172658,4798127809.391488,122,6388.063445213021,1779973239.9230192,278640.5074384265,201084.5346343524,478624.37987098144,0.01967056795994504,74.35649069410069,0.04009428369458864,12776.126890426041,3559946479.8460383,148.71298138820137,145,7556.659264736294,1979158844.0043168,474648.8,127,6683.721965653912,1709998609.3852253,267,13944.722709949314,3759132083.9273357,0.9047867077595586,0.7834580972539953,13071.785410866933,3489971849.3082447,0.8481472118480519,0.7273611683451284,69723.61354974657,18795660419.63668,200000.0,478624.37987098144,311320.8024546432,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WY,56,500k_1m,500000.0,1000000.0,2410.0,1634199000.0,0.008535505578183106,0.05228859868517547,280750.0,30549840000.0,2396.343191074907,1789650025.7750647,20,1031.4803021522553,720679596.8554745,698684.7886011264,523422.30711693177,996908.5264949067,0.09598425398568315,70.44702747638239,0.16566054231081465,2062.9606043045105,1441359193.710949,140.89405495276478,12,542.3280103876401,350237381.0480898,920000.0,13,610.9396011223125,395973712.8128186,32,1573.8083125398953,1070916977.9035645,0.6567541403925311,0.5983946372083391,1642.4199032745678,1116653309.668293,0.6853859286064288,0.6239506571597376,7869.041562699476,5354584889.517822,523422.30711693177,996908.5264949067,746825.4265251118,True,True,True,True,,False,False,False,False,False,,,,,,,,,, +demographic_midrank6_earn,WY,56,1m_plus,1000000.0,inf,1730.0,9317608000.0,0.006127147157782894,0.29813056146637007,280750.0,30549840000.0,1720.1965645475475,10203933179.106064,9,368.67386702299257,563704801.4682378,1529006.669282263,1042525.2027245201,2232384.069851913,0.1777325485666584,62.20257230076873,0.2598548842693386,737.3477340459851,1127409602.9364755,124.40514460153746,9,475.35215386488744,524089151.1764771,1462336.0,6,289.3538964635483,326262896.31856245,18,844.0260208878799,1087793952.6447148,0.4906567297498811,0.1066053583016518,658.0277634865408,889967697.7868001,0.38253056484833625,0.08721810327111212,4220.1301044393995,5438969763.223574,1008381.56,2232384.069851913,5931841.3891786495,True,False,False,False,amount_cap|mean_out_of_range,False,False,False,False,False,2232384.069851913,41.12333333333333,puf,17.0,802.9026875545467,995990878.4121714,0.09760852613692117,False,amount_cap|mean_out_of_range,False diff --git a/experiments/940-state-agi-bands/support_oracle.py b/experiments/940-state-agi-bands/support_oracle.py new file mode 100644 index 000000000..42b8232ee --- /dev/null +++ b/experiments/940-state-agi-bands/support_oracle.py @@ -0,0 +1,686 @@ +"""Support oracle for microcosm#940: state x AGI-band SOI targets vs frame support. + +Analysis only. Reads the offline #982 predictions (pre-calibration, PUF-clone +half) and SOI Historic Table 2 (TY2023 shares, TY2022 controls), derives the +state x band targets the #940 compiler rule would produce, and measures the +pre-calibration support each cell has under the solver's hard weight cap. + +AGI here is a PROXY everywhere: the sum of the 15 imputed income items on the +PUF half (no adjustments, no Social Security), and the saved survey income +total on the survey half. Nothing here is calibrated, aged, or engine-computed. + +Usage (deterministic, no side effects outside OUT):: + + PYTHONDONTWRITEBYTECODE=1 python support_oracle.py + +Inputs are absolute paths pinned below. +""" + +from __future__ import annotations + +import json +import os +from pathlib import Path + +import numpy as np +import pandas as pd + +OUT = Path(__file__).resolve().parent +# Inputs (override with environment variables): +# - the #982 offline predictions, archived with the tail lane's evidence; +# - SOI Historic Table 2 state files as registered in Chronicle +# (packages/irs_soi/historic_table_2_state_agi_2023 and _2022 read them). +LANE = Path( + os.environ.get( + "MICROCOSM_940_PREDICTIONS_DIR", + "/Users/maxghenis/PolicyEngine/_recovered/" + "lane958-958-964-982-archive-20260926/982", + ) +) +SOI_DIR = Path( + os.environ.get( + "MICROCOSM_940_SOI_DIR", + str(Path.home() / "PolicyEngine/chronicle/db/data/irs_soi/historic_table_2"), + ) +) +SOI_2023 = SOI_DIR / "23in55cmcsv.csv" +SOI_2022 = SOI_DIR / "22in55cmcsv.csv" + +VARIANTS = { + "current": "old design (QRF copied the unit's own survey income)", + "demographic_midrank6_earn": "chosen #1033 design (demographics + mid-rank + earnings flag)", +} + +# The 15 imputed income items whose sum is PROXY AGI (score_variants.py INCOME). +INCOME = [ + "employment_income_before_lsr", + "self_employment_income_before_lsr", + "taxable_interest_income", + "qualified_dividend_income", + "non_qualified_dividend_income", + "short_term_capital_gains", + "long_term_capital_gains_before_response", + "taxable_private_pension_income", + "taxable_ira_distributions", + "rental_income", + "estate_income", + "farm_income", + "miscellaneous_income", + "partnership_income", + "s_corp_income", +] +SIX_SURVEY = [ + "survey_puf_predictor_employment_income", + "survey_puf_predictor_self_employment_income", + "survey_puf_predictor_taxable_interest_income", + "survey_puf_predictor_dividend_income", + "survey_puf_predictor_short_term_capital_gains", + "survey_puf_predictor_long_term_capital_gains", +] + +# Historic Table 2 AGI_STUB -> band label for the four #940 bands. +BANDS = { + "100k_200k": (7, 1e5, 2e5), + "200k_500k": (8, 2e5, 5e5), + "500k_1m": (9, 5e5, 1e6), + "1m_plus": (10, 1e6, np.inf), +} +ALL_STUBS = list(range(1, 11)) + +# Solver contract, read from the worktree at +# packages/microcosm-build/src/microcosm/build/us/spec/calibration.yaml +# (hard_constraints.max_weight_ratio: 5.0, mass: conserve, solver.loss.params +# target_loss_cap: 1.0 with target_scale = max(abs(target), 1)) and +# packages/microcosm-calibrate/src/microcosm/calibrate/solve.py (log-weights, +# Adam, upper clamp only: log_w.clamp_(max=log(max_weight_ratio * w0))). +MAX_WEIGHT_RATIO = 5.0 +TARGET_LOSS_CAP = 1.0 + +# CBO AGI 2022->2024 chained factor supplied by the caller (fiscal_targets.py +# documents "x1.1203 over 2022->2024" for the CBO AGI default). +AGI_AGING_2022_TO_2024 = 1.1203460 + +# SOI Table 1.1 TY2023 $1M+ sub-bands (score_variants.py SOI_TABLE_1_1): +# band -> (returns, AGI $bn). +SOI_TABLE_1_1_1M_PLUS = { + "1m_to_1_5m": (368_931, 443.658), + "1_5m_to_2m": (147_290, 252.903), + "2m_to_5m": (203_229, 602.653), + "5m_to_10m": (49_262, 336.335), + "10m_plus": (30_382, 907.901), +} + +# Standard state postal -> FIPS for the 50 states + DC. +STATE_FIPS = { + "AL": "01", + "AK": "02", + "AZ": "04", + "AR": "05", + "CA": "06", + "CO": "08", + "CT": "09", + "DE": "10", + "DC": "11", + "FL": "12", + "GA": "13", + "HI": "15", + "ID": "16", + "IL": "17", + "IN": "18", + "IA": "19", + "KS": "20", + "KY": "21", + "LA": "22", + "ME": "23", + "MD": "24", + "MA": "25", + "MI": "26", + "MN": "27", + "MS": "28", + "MO": "29", + "MT": "30", + "NE": "31", + "NV": "32", + "NH": "33", + "NJ": "34", + "NM": "35", + "NY": "36", + "NC": "37", + "ND": "38", + "OH": "39", + "OK": "40", + "OR": "41", + "PA": "42", + "RI": "44", + "SC": "45", + "SD": "46", + "TN": "47", + "TX": "48", + "UT": "49", + "VT": "50", + "VA": "51", + "WA": "53", + "WV": "54", + "WI": "55", + "WY": "56", +} +FIPS_STATE = {v: k for k, v in STATE_FIPS.items()} +assert len(STATE_FIPS) == 51 and len(FIPS_STATE) == 51 +# Spot checks requested by the brief. +assert STATE_FIPS["CO"] == "08" and STATE_FIPS["CA"] == "06" +assert STATE_FIPS["DC"] == "11" and STATE_FIPS["WY"] == "56" + + +def read_ht2(path: Path) -> pd.DataFrame: + """Read Historic Table 2: STATE, AGI_STUB, N1 (returns), A00100 (AGI $).""" + raw = pd.read_csv( + path, + encoding="latin-1", + thousands=",", + usecols=["STATE", "AGI_STUB", "N1", "A00100"], + dtype={"STATE": str}, + ) + raw = raw[raw["STATE"].isin(STATE_FIPS)].copy() + raw["AGI_STUB"] = raw["AGI_STUB"].astype(int) + raw["returns"] = raw["N1"].astype(float) + raw["agi"] = raw["A00100"].astype(float) * 1_000.0 # $ thousands -> $ + assert raw.groupby("STATE").size().eq(11).all(), "expected stubs 0..10 per state" + return raw[["STATE", "AGI_STUB", "returns", "agi"]] + + +def build_targets() -> tuple[pd.DataFrame, dict]: + """State x band targets at 2024 under the #940 compiler rule.""" + t23 = read_ht2(SOI_2023) + t22 = read_ht2(SOI_2022) + rows = [] + stub0_check = {} + for st in sorted(STATE_FIPS): + s23 = t23[t23["STATE"] == st].set_index("AGI_STUB") + s22 = t22[t22["STATE"] == st].set_index("AGI_STUB") + denom_n = float(s23.loc[ALL_STUBS, "returns"].sum()) + denom_a = float(s23.loc[ALL_STUBS, "agi"].sum()) + stub0_check[st] = { + "ty2023_stub0_returns": float(s23.loc[0, "returns"]), + "ty2023_sum_stubs_1_10_returns": denom_n, + "ty2023_stub0_agi": float(s23.loc[0, "agi"]), + "ty2023_sum_stubs_1_10_agi": denom_a, + } + control_n = float(s22.loc[0, "returns"]) + control_a = float(s22.loc[0, "agi"]) + for band, (stub, low, high) in BANDS.items(): + v_n = float(s23.loc[stub, "returns"]) + v_a = float(s23.loc[stub, "agi"]) + share_n = v_n / denom_n + share_a = v_a / denom_a + rows.append( + { + "state": st, + "fips": STATE_FIPS[st], + "band": band, + "band_low": low, + "band_high": high, + "soi2023_returns": v_n, + "soi2023_agi": v_a, + "soi2023_share_returns": share_n, + "soi2023_share_agi": share_a, + "ty2022_control_returns": control_n, + "ty2022_control_agi": control_a, + "target_returns_2024": share_n * control_n, + "target_agi_2024": share_a * control_a * AGI_AGING_2022_TO_2024, + } + ) + targets = pd.DataFrame(rows) + return targets, stub0_check + + +def load_variant(name: str) -> pd.DataFrame: + d = pd.read_parquet(LANE / f"imputed_{name}.parquet") + assert len(d) == 231_007, len(d) + assert d["tax_unit_id"].is_unique + out = pd.DataFrame( + { + "fips": d["state_fips"].astype(int).map(lambda x: f"{x:02d}"), + "w": d["w"].astype(float), + "proxy_agi": d[INCOME].sum(axis=1).astype(float), + "survey_total": d["survey_total"].astype(float), + "survey_six": d[SIX_SURVEY].sum(axis=1).astype(float), + } + ) + assert set(out["fips"]) == set(FIPS_STATE), "state_fips must be the 50 states + DC" + assert (out["w"] > 0).all() + return out + + +def band_mask(values: np.ndarray, low: float, high: float) -> np.ndarray: + return (values >= low) & (values < high) + + +def cell_stats(w: np.ndarray, a: np.ndarray, low: float) -> dict: + """PUF-half style stats for one cell's records (weights w, income a).""" + n = int(len(w)) + if n == 0: + return { + "n": 0, + "N": 0.0, + "A": 0.0, + "mean_agi": np.nan, + "max_agi": np.nan, + "largest_share_of_A": np.nan, + "largest_w": np.nan, + "largest_share_above_low": np.nan, + "min_agi": np.nan, + } + contrib = w * a + amount = float(contrib.sum()) + i = int(np.argmax(contrib)) # largest single-record contribution to A + above = w * np.maximum(a - low, 0.0) if np.isfinite(low) else contrib + return { + "n": n, + "N": float(w.sum()), + "A": amount, + "mean_agi": amount / float(w.sum()), + "max_agi": float(a.max()), + "min_agi": float(a.min()), + "largest_share_of_A": float(contrib[i] / amount) if amount else np.nan, + "largest_w": float(w[i]), + "largest_share_above_low": float(above.max() / above.sum()) + if above.sum() > 0 + else np.nan, + } + + +def feasibility(w: np.ndarray, a: np.ndarray, target_n: float, target_a: float) -> dict: + """Necessary conditions for (target_n, target_a) under the 5x upper cap. + + Weights may rise to MAX_WEIGHT_RATIO * w0 and fall to ~0 (no lower bound), + so within one cell: N <= 5*sum(w0), A <= 5*sum(w0*a) (all a > 0 in these + bands), and the target mean must lie inside [min(a), max(a)]. These are + per-cell NECESSARY conditions only: every record's weight is shared across + all targets it enters, and mass is conserved frame-wide. + """ + n = int(len(w)) + cap_n = MAX_WEIGHT_RATIO * float(w.sum()) if n else 0.0 + cap_a = MAX_WEIGHT_RATIO * float((w * a).sum()) if n else 0.0 + target_mean = target_a / target_n if target_n > 0 else np.nan + failing = [] + if n == 0: + failing.append("empty_support") + c1 = c2 = c3 = False + else: + c1 = target_n <= cap_n + c2 = target_a <= cap_a + c3 = bool(a.min() <= target_mean <= a.max()) + if not c1: + failing.append("count_cap") + if not c2: + failing.append("amount_cap") + if not c3: + failing.append("mean_out_of_range") + return { + "cap_N_5x": cap_n, + "cap_A_5x": cap_a, + "frame_min_agi": float(a.min()) if n else np.nan, + "frame_max_agi": float(a.max()) if n else np.nan, + "target_mean_agi": target_mean, + "c1_count_reachable": bool(c1), + "c2_amount_reachable": bool(c2), + "c3_mean_in_range": bool(c3), + "feasible_necessary": bool(c1 and c2 and c3), + "failing_conditions": "|".join(failing) if failing else "", + } + + +def analyze_variant(name: str, targets: pd.DataFrame) -> pd.DataFrame: + d = load_variant(name) + rows = [] + for st in sorted(STATE_FIPS): + fips = STATE_FIPS[st] + s = d[d["fips"] == fips] + w_all = s["w"].to_numpy() + agi = s["proxy_agi"].to_numpy() + svy = s["survey_total"].to_numpy() + svy6 = s["survey_six"].to_numpy() + for band, (_stub, low, high) in BANDS.items(): + tgt = targets[(targets["state"] == st) & (targets["band"] == band)].iloc[0] + m_puf = band_mask(agi, low, high) + m_svy = band_mask(svy, low, high) + m_svy6 = band_mask(svy6, low, high) + puf = cell_stats(w_all[m_puf], agi[m_puf], low) + svy_c = cell_stats(w_all[m_svy], svy[m_svy], low) + svy6_c = cell_stats(w_all[m_svy6], svy6[m_svy6], low) + # Frame view: PUF clone at w with proxy AGI + survey twin at w with + # survey income. Each channel carries half the population. + fw = np.concatenate([w_all[m_puf], w_all[m_svy]]) + fa = np.concatenate([agi[m_puf], svy[m_svy]]) + frame_n = int(len(fw)) + frame_count = float(fw.sum()) + frame_amount = float((fw * fa).sum()) + tn, ta = float(tgt["target_returns_2024"]), float(tgt["target_agi_2024"]) + feas = feasibility(fw, fa, tn, ta) + frame6_count = puf["N"] + svy6_c["N"] + frame6_amount = puf["A"] + svy6_c["A"] + row = { + "variant": name, + "state": st, + "fips": fips, + "band": band, + **{k: tgt[k] for k in tgt.index if k not in ("state", "fips", "band")}, + # PUF half (weight w = half-population weight). + "puf_n": puf["n"], + "puf_N": puf["N"], + "puf_A": puf["A"], + "puf_mean_agi": puf["mean_agi"], + "puf_min_agi": puf["min_agi"], + "puf_max_agi": puf["max_agi"], + "puf_largest_share_of_A": puf["largest_share_of_A"], + "puf_largest_w": puf["largest_w"], + "puf_largest_share_above_low": puf["largest_share_above_low"], + # x2 view (as if the PUF half were the whole population). + "puf_N_x2": 2 * puf["N"], + "puf_A_x2": 2 * puf["A"], + "puf_largest_w_x2": 2 * puf["largest_w"] if puf["n"] else np.nan, + # Survey half, income = survey_total (broad saved survey total). + "svy_n": svy_c["n"], + "svy_N": svy_c["N"], + "svy_A": svy_c["A"], + "svy_max_income": svy_c["max_agi"], + # Survey half, income = six predictor items only (sensitivity). + "svy6_n": svy6_c["n"], + "svy6_N": svy6_c["N"], + "svy6_A": svy6_c["A"], + # Frame view. + "frame_n": frame_n, + "frame_N": frame_count, + "frame_A": frame_amount, + "ratio_N": frame_count / tn if tn else np.nan, + "ratio_A": frame_amount / ta if ta else np.nan, + "frame6_N": frame6_count, + "frame6_A": frame6_amount, + "ratio6_N": frame6_count / tn if tn else np.nan, + "ratio6_A": frame6_amount / ta if ta else np.nan, + **feas, + "zero_support": frame_n == 0, + # Loss cap 1.0 on |est-target|/|target|: a start beyond 2x the + # target (either direction past 0) sits on the clamp with zero + # gradient. Only the over-2x side is reachable for a positive + # estimate; under-target starts always have gradient. + "over2x_A": bool(frame_amount > 2.0 * ta), + "over2x_N": bool(frame_count > 2.0 * tn), + "start_loss_A_capped": bool( + abs(frame_amount - ta) / max(abs(ta), 1) >= TARGET_LOSS_CAP + ), + "start_loss_N_capped": bool( + abs(frame_count - tn) / max(abs(tn), 1) >= TARGET_LOSS_CAP + ), + } + # Sensitivity: 1m_plus with the single largest proxy-AGI record removed. + if band == "1m_plus" and frame_n > 0: + j = int(np.argmax(fa)) + keep = np.ones(frame_n, dtype=bool) + keep[j] = False + fw2, fa2 = fw[keep], fa[keep] + feas2 = feasibility(fw2, fa2, tn, ta) + row.update( + { + "drop1_removed_agi": float(fa[j]), + "drop1_removed_w": float(fw[j]), + "drop1_removed_channel": "puf" + if j < int(m_puf.sum()) + else "survey", + "drop1_frame_n": int(len(fw2)), + "drop1_frame_N": float(fw2.sum()), + "drop1_frame_A": float((fw2 * fa2).sum()), + "drop1_ratio_A": float((fw2 * fa2).sum() / ta) + if ta + else np.nan, + "drop1_feasible_necessary": feas2["feasible_necessary"], + "drop1_failing_conditions": feas2["failing_conditions"], + "drop1_over2x_A": bool((fw2 * fa2).sum() > 2.0 * ta), + } + ) + rows.append(row) + return pd.DataFrame(rows) + + +def colorado_reproduction(chosen: pd.DataFrame) -> dict: + """Check the #982 README Colorado $1M+ figures against the x2 view.""" + co = chosen[(chosen["state"] == "CO") & (chosen["band"] == "1m_plus")].iloc[0] + readme = { + "records": 15, + "returns_x2": 14_847, + "largest_share_of_income_above_1m": 0.840, + "largest_proxy_agi": 125.4e6, + "largest_weight_x2": 867, + } + got = { + "records": int(co["puf_n"]), + "returns_x2": float(co["puf_N_x2"]), + "largest_share_of_income_above_1m": float(co["puf_largest_share_above_low"]), + "largest_proxy_agi": float(co["puf_max_agi"]), + "largest_weight_x2": float(co["puf_largest_w_x2"]), + } + reproduces = ( + got["records"] == readme["records"] + and abs(got["returns_x2"] - readme["returns_x2"]) < 1.0 + and abs( + got["largest_share_of_income_above_1m"] + - readme["largest_share_of_income_above_1m"] + ) + < 0.0015 + and abs(got["largest_proxy_agi"] - readme["largest_proxy_agi"]) < 0.05e6 + and abs(got["largest_weight_x2"] - readme["largest_weight_x2"]) < 1.0 + ) + return {"readme_982": readme, "computed": got, "reproduces": bool(reproduces)} + + +def summarize(all_rows: pd.DataFrame, targets: pd.DataFrame, stub0_check: dict) -> dict: + summary: dict = { + "labels": { + "agi": "PROXY AGI: sum of 15 imputed income items on the PUF half; " + "saved survey_total (broad survey income list from compare_predictors.py " + "SURVEY, up to 14 items, NOT the six predictor items) on the survey half", + "status": "pre-calibration, offline #982 predictions, 8-tree fits", + "targets": "share(TY2023 HT2 stub b / sum stubs 1..10) x TY2022 HT2 stub-0 " + "control; AGI aged x1.1203460 to 2024; counts not aged", + "solver": "max_weight_ratio 5.0 (upper clamp only), mass conserve, " + "target_loss_cap 1.0 on |est-target|/max(|target|,1)", + }, + "stub0_consistency": { + "max_abs_rel_diff_returns": max( + abs(v["ty2023_stub0_returns"] / v["ty2023_sum_stubs_1_10_returns"] - 1) + for v in stub0_check.values() + ), + "max_abs_rel_diff_agi": max( + abs(v["ty2023_stub0_agi"] / v["ty2023_sum_stubs_1_10_agi"] - 1) + for v in stub0_check.values() + ), + }, + "targets_national_sums": {}, + "variants": {}, + } + # National sums of the derived targets (sum over 51 states). + for band in BANDS: + t = targets[targets["band"] == band] + summary["targets_national_sums"][band] = { + "soi2023_returns_51": float(t["soi2023_returns"].sum()), + "soi2023_agi_51": float(t["soi2023_agi"].sum()), + "target_returns_2024_51": float(t["target_returns_2024"].sum()), + "target_agi_2024_51": float(t["target_agi_2024"].sum()), + } + t11_returns = sum(v[0] for v in SOI_TABLE_1_1_1M_PLUS.values()) + t11_agi = sum(v[1] for v in SOI_TABLE_1_1_1M_PLUS.values()) * 1e9 + summary["soi_table_1_1_ty2023_1m_plus"] = {"returns": t11_returns, "agi": t11_agi} + + for name in VARIANTS: + v = all_rows[all_rows["variant"] == name] + per_band = {} + for band in BANDS: + b = v[v["band"] == band] + per_band[band] = { + "states": int(len(b)), + "zero_support": int(b["zero_support"].sum()), + "fail_count_cap": int((~b["c1_count_reachable"]).sum()), + "fail_amount_cap": int((~b["c2_amount_reachable"]).sum()), + "fail_mean_out_of_range": int((~b["c3_mean_in_range"]).sum()), + "infeasible_any": int((~b["feasible_necessary"]).sum()), + "over2x_A": int(b["over2x_A"].sum()), + "over2x_N": int(b["over2x_N"].sum()), + "start_loss_A_capped": int(b["start_loss_A_capped"].sum()), + "start_loss_N_capped": int(b["start_loss_N_capped"].sum()), + "ratio_A_median": float(b["ratio_A"].median()), + "ratio_A_min": float(b["ratio_A"].min()), + "ratio_A_max": float(b["ratio_A"].max()), + "ratio_N_median": float(b["ratio_N"].median()), + "ratio_N_min": float(b["ratio_N"].min()), + "ratio_N_max": float(b["ratio_N"].max()), + "puf_records_total": int(b["puf_n"].sum()), + "puf_records_min_state": int(b["puf_n"].min()), + "states_puf_n_lt_10": int((b["puf_n"] < 10).sum()), + "states_largest_record_gt_50pct_of_puf_A": int( + (b["puf_largest_share_of_A"] > 0.5).sum() + ), + "national_frame_N": float(b["frame_N"].sum()), + "national_frame_A": float(b["frame_A"].sum()), + "national_puf_N_x2": float(b["puf_N_x2"].sum()), + "national_puf_A_x2": float(b["puf_A_x2"].sum()), + } + top = v[v["band"] == "1m_plus"].copy() + top["abs_log_ratio_A"] = np.abs(np.log(top["ratio_A"].replace(0, np.nan))) + worst = top.sort_values("abs_log_ratio_A", ascending=False).head(10) + cols = [ + "state", + "puf_n", + "svy_n", + "frame_N", + "target_returns_2024", + "ratio_N", + "frame_A", + "target_agi_2024", + "ratio_A", + "puf_largest_share_of_A", + "puf_max_agi", + "failing_conditions", + "over2x_A", + "drop1_ratio_A", + "drop1_feasible_necessary", + ] + drop1 = top.copy() + # These columns are object-dtype (NaN outside 1m_plus); cast before `~`, + # since bitwise-not of a Python bool is an int (~True == -2, truthy). + for c in ("drop1_feasible_necessary", "drop1_over2x_A"): + drop1[c] = drop1[c].fillna(False).astype(bool) + sens = { + "states_with_support": int((drop1["frame_n"] > 0).sum()), + "feasible_before": int(drop1["feasible_necessary"].sum()), + "feasible_after_drop1": int(drop1["drop1_feasible_necessary"].sum()), + "over2x_A_before": int(drop1["over2x_A"].sum()), + "over2x_A_after_drop1": int(drop1["drop1_over2x_A"].sum()), + "ratio_A_median_before": float(drop1["ratio_A"].median()), + "ratio_A_median_after_drop1": float(drop1["drop1_ratio_A"].median()), + "states_flipping_feasible_to_infeasible": sorted( + drop1[drop1["feasible_necessary"] & ~drop1["drop1_feasible_necessary"]][ + "state" + ].tolist() + ), + "states_flipping_infeasible_to_feasible": sorted( + drop1[~drop1["feasible_necessary"] & drop1["drop1_feasible_necessary"]][ + "state" + ].tolist() + ), + "states_flipping_over2x_to_under": sorted( + drop1[drop1["over2x_A"] & ~drop1["drop1_over2x_A"]]["state"].tolist() + ), + } + co = v[v["state"] == "CO"].set_index("band") + summary["variants"][name] = { + "description": VARIANTS[name], + "per_band": per_band, + "worst10_1m_plus_by_abs_log_ratio_A": json.loads( + worst[cols].to_json(orient="records") + ), + "highest10_1m_plus_ratio_A": json.loads( + top.sort_values("ratio_A", ascending=False) + .head(10)[cols] + .to_json(orient="records") + ), + "lowest10_1m_plus_ratio_A": json.loads( + top.sort_values("ratio_A", ascending=True) + .head(10)[cols] + .to_json(orient="records") + ), + "colorado": json.loads(co.to_json(orient="index")), + "sensitivity_1m_plus_drop_largest_record": sens, + "national_1m_plus_vs_table_1_1": { + "puf_x2_returns": float(per_band["1m_plus"]["national_puf_N_x2"]), + "puf_x2_agi": float(per_band["1m_plus"]["national_puf_A_x2"]), + "frame_returns": float(per_band["1m_plus"]["national_frame_N"]), + "frame_agi": float(per_band["1m_plus"]["national_frame_A"]), + "targets_2024_returns_51": summary["targets_national_sums"]["1m_plus"][ + "target_returns_2024_51" + ], + "targets_2024_agi_51": summary["targets_national_sums"]["1m_plus"][ + "target_agi_2024_51" + ], + "table_1_1_ty2023_returns": t11_returns, + "table_1_1_ty2023_agi": t11_agi, + }, + } + return summary + + +def main() -> None: + os.chdir(OUT) + targets, stub0_check = build_targets() + frames = [analyze_variant(name, targets) for name in VARIANTS] + all_rows = pd.concat(frames, ignore_index=True) + all_rows.to_csv(OUT / "support_by_state_band.csv", index=False) + + summary = summarize(all_rows, targets, stub0_check) + chosen = all_rows[all_rows["variant"] == "demographic_midrank6_earn"] + summary["colorado_reproduction_check"] = colorado_reproduction(chosen) + + # Mapping sanity: largest states by PUF-half weight should be CA, TX, FL, NY. + d = load_variant("current") + by_state = d.groupby("fips")["w"].sum().sort_values(ascending=False) + summary["fips_mapping_sanity_top5_by_weight"] = [ + FIPS_STATE[f] for f in by_state.head(5).index + ] + summary["puf_half_weight_total"] = float(d["w"].sum()) + summary["survey_total_vs_six_items"] = { + "rows_differing": int( + (np.abs(d["survey_total"] - d["survey_six"]) > 1e-6).sum() + ), + "rows": int(len(d)), + "note": "survey_total is compare_predictors.py's broad SURVEY list (up to 14 " + "items incl. pension, IRA, rental, farm, UI, alimony, misc), not the six " + "predictor items; the svy6_* columns use the six items.", + } + + def _default(o): + if isinstance(o, (np.integer,)): + return int(o) + if isinstance(o, (np.floating,)): + return None if np.isnan(o) else float(o) + if isinstance(o, (np.bool_,)): + return bool(o) + raise TypeError(type(o)) + + (OUT / "support_summary.json").write_text( + json.dumps(summary, indent=1, default=_default) + "\n" + ) + print( + json.dumps(summary["colorado_reproduction_check"], indent=1, default=_default) + ) + print("top5 by weight:", summary["fips_mapping_sanity_top5_by_weight"]) + print("stub0 consistency:", summary["stub0_consistency"]) + for name in VARIANTS: + print(name) + print( + json.dumps( + summary["variants"][name]["per_band"], indent=1, default=_default + ) + ) + + +if __name__ == "__main__": + main() diff --git a/experiments/940-state-agi-bands/support_summary.json b/experiments/940-state-agi-bands/support_summary.json new file mode 100644 index 000000000..8c0093090 --- /dev/null +++ b/experiments/940-state-agi-bands/support_summary.json @@ -0,0 +1,1951 @@ +{ + "labels": { + "agi": "PROXY AGI: sum of 15 imputed income items on the PUF half; saved survey_total (broad survey income list from compare_predictors.py SURVEY, up to 14 items, NOT the six predictor items) on the survey half", + "status": "pre-calibration, offline #982 predictions, 8-tree fits", + "targets": "share(TY2023 HT2 stub b / sum stubs 1..10) x TY2022 HT2 stub-0 control; AGI aged x1.1203460 to 2024; counts not aged", + "solver": "max_weight_ratio 5.0 (upper clamp only), mass conserve, target_loss_cap 1.0 on |est-target|/max(|target|,1)" + }, + "stub0_consistency": { + "max_abs_rel_diff_returns": 3.541703559406528e-05, + "max_abs_rel_diff_agi": 0.0 + }, + "targets_national_sums": { + "100k_200k": { + "soi2023_returns_51": 27428520.0, + "soi2023_agi_51": 3794296097000.0, + "target_returns_2024_51": 27367516.33029162, + "target_agi_2024_51": 4115564052965.017 + }, + "200k_500k": { + "soi2023_returns_51": 10874490.0, + "soi2023_agi_51": 3131907690000.0, + "target_returns_2024_51": 10847997.050652409, + "target_agi_2024_51": 3399410855067.1133 + }, + "500k_1m": { + "soi2023_returns_51": 1750590.0, + "soi2023_agi_51": 1175553996000.0, + "target_returns_2024_51": 1746330.9548648724, + "target_agi_2024_51": 1277305081614.9326 + }, + "1m_plus": { + "soi2023_returns_51": 789780.0, + "soi2023_agi_51": 2501367571000.0, + "target_returns_2024_51": 787789.1666508679, + "target_agi_2024_51": 2725601945437.0024 + } + }, + "variants": { + "current": { + "description": "old design (QRF copied the unit's own survey income)", + "per_band": { + "100k_200k": { + "states": 51, + "zero_support": 0, + "fail_count_cap": 0, + "fail_amount_cap": 0, + "fail_mean_out_of_range": 0, + "infeasible_any": 0, + "over2x_A": 0, + "over2x_N": 0, + "start_loss_A_capped": 0, + "start_loss_N_capped": 0, + "ratio_A_median": 0.986949474543137, + "ratio_A_min": 0.8283793985119182, + "ratio_A_max": 1.2079129514470415, + "ratio_N_median": 1.0592639000233366, + "ratio_N_min": 0.9103925231562292, + "ratio_N_max": 1.224965371433842, + "puf_records_total": 37200, + "puf_records_min_state": 274, + "states_puf_n_lt_10": 0, + "states_largest_record_gt_50pct_of_puf_A": 0, + "national_frame_N": 28678110.84933637, + "national_frame_A": 3983518480077.98, + "national_puf_N_x2": 29183442.40088603, + "national_puf_A_x2": 4071154813955.88 + }, + "200k_500k": { + "states": 51, + "zero_support": 0, + "fail_count_cap": 0, + "fail_amount_cap": 0, + "fail_mean_out_of_range": 0, + "infeasible_any": 0, + "over2x_A": 0, + "over2x_N": 0, + "start_loss_A_capped": 0, + "start_loss_N_capped": 0, + "ratio_A_median": 1.1685211523223211, + "ratio_A_min": 0.9090023774146007, + "ratio_A_max": 1.5304521813593266, + "ratio_N_median": 1.264604536387509, + "ratio_N_min": 1.0051793543323466, + "ratio_N_max": 1.5715770979527743, + "puf_records_total": 18154, + "puf_records_min_state": 133, + "states_puf_n_lt_10": 0, + "states_largest_record_gt_50pct_of_puf_A": 0, + "national_frame_N": 13361943.414174126, + "national_frame_A": 3822973051897.482, + "national_puf_N_x2": 14355681.78534065, + "national_puf_A_x2": 4156470824883.228 + }, + "500k_1m": { + "states": 51, + "zero_support": 0, + "fail_count_cap": 0, + "fail_amount_cap": 0, + "fail_mean_out_of_range": 0, + "infeasible_any": 0, + "over2x_A": 1, + "over2x_N": 1, + "start_loss_A_capped": 1, + "start_loss_N_capped": 1, + "ratio_A_median": 1.0938797159721203, + "ratio_A_min": 0.6656810179707069, + "ratio_A_max": 2.0130949600835732, + "ratio_N_median": 1.1798105471033438, + "ratio_N_min": 0.758402285147076, + "ratio_N_max": 2.10152163877545, + "puf_records_total": 3098, + "puf_records_min_state": 20, + "states_puf_n_lt_10": 0, + "states_largest_record_gt_50pct_of_puf_A": 0, + "national_frame_N": 1916818.347694353, + "national_frame_A": 1279080761299.3022, + "national_puf_N_x2": 2394739.8927974463, + "national_puf_A_x2": 1618894589733.3665 + }, + "1m_plus": { + "states": 51, + "zero_support": 0, + "fail_count_cap": 0, + "fail_amount_cap": 1, + "fail_mean_out_of_range": 12, + "infeasible_any": 12, + "over2x_A": 0, + "over2x_N": 2, + "start_loss_A_capped": 0, + "start_loss_N_capped": 2, + "ratio_A_median": 0.6254553164954044, + "ratio_A_min": 0.12343695140021368, + "ratio_A_max": 1.6331088255138946, + "ratio_N_median": 1.3138316127527825, + "ratio_N_min": 0.5730916073070272, + "ratio_N_max": 2.406201233000164, + "puf_records_total": 1570, + "puf_records_min_state": 9, + "states_puf_n_lt_10": 2, + "states_largest_record_gt_50pct_of_puf_A": 1, + "national_frame_N": 959444.6848368766, + "national_frame_A": 1518801084298.0, + "national_puf_N_x2": 1266403.705284895, + "national_puf_A_x2": 2223001833608.3257 + } + }, + "worst10_1m_plus_by_abs_log_ratio_A": [ + { + "state": "WY", + "puf_n": 10, + "svy_n": 9, + "frame_N": 985.8302140606, + "target_returns_2024": 1720.1965645475, + "ratio_N": 0.5730916073, + "frame_A": 1259542403.9203432, + "target_agi_2024": 10203933179.106064, + "ratio_A": 0.1234369514, + "puf_largest_share_of_A": 0.2559353239, + "puf_max_agi": 2679498.995954483, + "failing_conditions": "amount_cap|mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.1049902933, + "drop1_feasible_necessary": false + }, + { + "state": "MT", + "puf_n": 15, + "svy_n": 5, + "frame_N": 1515.2608369601, + "target_returns_2024": 2235.6206672444, + "ratio_N": 0.6777808325, + "frame_A": 1977168586.3630333, + "target_agi_2024": 7269280621.960948, + "ratio_A": 0.2719895804, + "puf_largest_share_of_A": 0.1392315276, + "puf_max_agi": 2709860.630130855, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.2414618079, + "drop1_feasible_necessary": false + }, + { + "state": "FL", + "puf_n": 84, + "svy_n": 54, + "frame_N": 77544.120679386, + "target_returns_2024": 72379.563988005, + "ratio_N": 1.0713537967, + "frame_A": 100190166657.177, + "target_agi_2024": 332116981490.41, + "ratio_A": 0.3016713154, + "puf_largest_share_of_A": 0.0350557404, + "puf_max_agi": 2900503.852608288, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.2954956948, + "drop1_feasible_necessary": false + }, + { + "state": "ID", + "puf_n": 17, + "svy_n": 6, + "frame_N": 2447.808949886, + "target_returns_2024": 3174.6849036342, + "ratio_N": 0.7710399691, + "frame_A": 3624370015.88462, + "target_agi_2024": 10674070692.672844, + "ratio_A": 0.3395489987, + "puf_largest_share_of_A": 0.141789964, + "puf_max_agi": 2515624.215820396, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.3166609136, + "drop1_feasible_necessary": false + }, + { + "state": "ND", + "puf_n": 16, + "svy_n": 7, + "frame_N": 1553.2559597699, + "target_returns_2024": 1705.0382419476, + "ratio_N": 0.9109801303, + "frame_A": 1983764502.930006, + "target_agi_2024": 5573498785.663948, + "ratio_A": 0.3559280408, + "puf_largest_share_of_A": 0.1176840815, + "puf_max_agi": 2894677.5449687885, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.3271682442, + "drop1_feasible_necessary": false + }, + { + "state": "NV", + "puf_n": 19, + "svy_n": 8, + "frame_N": 6883.6848221151, + "target_returns_2024": 8428.5738116695, + "ratio_N": 0.8167081378, + "frame_A": 14605569219.69527, + "target_agi_2024": 39474771106.28822, + "ratio_A": 0.3699975658, + "puf_largest_share_of_A": 0.245253232, + "puf_max_agi": 7555970.288568098, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.2965398103, + "drop1_feasible_necessary": true + }, + { + "state": "NY", + "puf_n": 72, + "svy_n": 34, + "frame_N": 60819.2148947638, + "target_returns_2024": 71517.6655399297, + "ratio_N": 0.8504082793, + "frame_A": 104457026620.07718, + "target_agi_2024": 276351110771.3443, + "ratio_A": 0.3779866357, + "puf_largest_share_of_A": 0.0633144626, + "puf_max_agi": 8648376.407284494, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.3640774673, + "drop1_feasible_necessary": true + }, + { + "state": "AR", + "puf_n": 20, + "svy_n": 10, + "frame_N": 5872.4748111748, + "target_returns_2024": 3429.7132774592, + "ratio_N": 1.7122349118, + "frame_A": 7717163259.295657, + "target_agi_2024": 18451232248.172237, + "ratio_A": 0.4182464973, + "puf_largest_share_of_A": 0.0863692055, + "puf_max_agi": 2373968.347917827, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.3990113001, + "drop1_feasible_necessary": false + }, + { + "state": "IN", + "puf_n": 14, + "svy_n": 4, + "frame_N": 9354.4344105813, + "target_returns_2024": 9534.2421335439, + "ratio_N": 0.9811408479, + "frame_A": 12499786067.627495, + "target_agi_2024": 29193545400.167686, + "ratio_A": 0.4281695113, + "puf_largest_share_of_A": 0.1372125993, + "puf_max_agi": 2695116.7356674112, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.3812582043, + "drop1_feasible_necessary": false + }, + { + "state": "IL", + "puf_n": 38, + "svy_n": 16, + "frame_N": 30405.5974201908, + "target_returns_2024": 30493.0023802264, + "ratio_N": 0.997133606, + "frame_A": 46943784461.44705, + "target_agi_2024": 108072758178.0677, + "ratio_A": 0.4343720402, + "puf_largest_share_of_A": 0.1147694351, + "puf_max_agi": 10734942.579096384, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.3950398604, + "drop1_feasible_necessary": true + } + ], + "highest10_1m_plus_ratio_A": [ + { + "state": "WV", + "puf_n": 17, + "svy_n": 10, + "frame_N": 2978.0098925226, + "target_returns_2024": 1237.6395837889, + "ratio_N": 2.406201233, + "frame_A": 5417747970.131166, + "target_agi_2024": 3317444548.3915315, + "ratio_A": 1.6331088255, + "puf_largest_share_of_A": 0.2010310811, + "puf_max_agi": 9744778.5647615, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 1.3899216935, + "drop1_feasible_necessary": true + }, + { + "state": "OH", + "puf_n": 33, + "svy_n": 9, + "frame_N": 22880.866150266, + "target_returns_2024": 17139.7171625391, + "ratio_N": 1.3349617111, + "frame_A": 79247772819.79301, + "target_agi_2024": 50667180918.89995, + "ratio_A": 1.5640849043, + "puf_largest_share_of_A": 0.665951422, + "puf_max_agi": 121938370.30972688, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.6077474964, + "drop1_feasible_necessary": true + }, + { + "state": "NM", + "puf_n": 19, + "svy_n": 6, + "frame_N": 3421.8106684707, + "target_returns_2024": 2085.1139573539, + "ratio_N": 1.6410665021, + "frame_A": 6053223460.027149, + "target_agi_2024": 5725045271.238917, + "ratio_A": 1.0573232478, + "puf_largest_share_of_A": 0.1809319301, + "puf_max_agi": 9483030.982302524, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.8913287273, + "drop1_feasible_necessary": false + }, + { + "state": "VA", + "puf_n": 36, + "svy_n": 20, + "frame_N": 30718.7178785794, + "target_returns_2024": 19004.6888847836, + "ratio_N": 1.6163757305, + "frame_A": 55769120278.39855, + "target_agi_2024": 57315433920.58533, + "ratio_A": 0.9730209904, + "puf_largest_share_of_A": 0.2171917253, + "puf_max_agi": 13503190.231190326, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.8159149233, + "drop1_feasible_necessary": true + }, + { + "state": "ME", + "puf_n": 9, + "svy_n": 6, + "frame_N": 3796.2322426371, + "target_returns_2024": 2056.4128633619, + "ratio_N": 1.8460457578, + "frame_A": 5388008161.745995, + "target_agi_2024": 5664484615.043534, + "ratio_A": 0.951191243, + "puf_largest_share_of_A": 0.339139558, + "puf_max_agi": 4230760.9155691145, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.7297837776, + "drop1_feasible_necessary": false + }, + { + "state": "NE", + "puf_n": 23, + "svy_n": 13, + "frame_N": 7065.3104839403, + "target_returns_2024": 3242.9403851005, + "ratio_N": 2.1786741799, + "frame_A": 10484411157.909931, + "target_agi_2024": 11039886071.537018, + "ratio_A": 0.9496847241, + "puf_largest_share_of_A": 0.1729063613, + "puf_max_agi": 8693214.579718677, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.8350104903, + "drop1_feasible_necessary": false + }, + { + "state": "KY", + "puf_n": 9, + "svy_n": 8, + "frame_N": 8463.7873190579, + "target_returns_2024": 4797.9558775273, + "ratio_N": 1.764040257, + "frame_A": 12773199918.498127, + "target_agi_2024": 13489286731.057106, + "ratio_A": 0.946914405, + "puf_largest_share_of_A": 0.208213422, + "puf_max_agi": 2777707.0692796027, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.8262181187, + "drop1_feasible_necessary": false + }, + { + "state": "NC", + "puf_n": 43, + "svy_n": 25, + "frame_N": 33844.3221227941, + "target_returns_2024": 17278.7881292765, + "ratio_N": 1.958720824, + "frame_A": 45204286888.35972, + "target_agi_2024": 48638100585.6509, + "ratio_A": 0.9294007444, + "puf_largest_share_of_A": 0.0637120478, + "puf_max_agi": 3441838.650499381, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.9063067138, + "drop1_feasible_necessary": true + }, + { + "state": "AK", + "puf_n": 14, + "svy_n": 10, + "frame_N": 1791.6711868917, + "target_returns_2024": 1080.9622348681, + "ratio_N": 1.657478059, + "frame_A": 2531114974.7589903, + "target_agi_2024": 2738152286.976728, + "ratio_A": 0.9243879483, + "puf_largest_share_of_A": 0.1397256334, + "puf_max_agi": 4635470.180416907, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.8429839356, + "drop1_feasible_necessary": false + }, + { + "state": "SD", + "puf_n": 22, + "svy_n": 11, + "frame_N": 3525.849525026, + "target_returns_2024": 2064.1977972578, + "ratio_N": 1.7080967385, + "frame_A": 6035094256.675685, + "target_agi_2024": 6727415671.550786, + "ratio_A": 0.8970895439, + "puf_largest_share_of_A": 0.1675161897, + "puf_max_agi": 6903860.982391347, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.7818031371, + "drop1_feasible_necessary": true + } + ], + "lowest10_1m_plus_ratio_A": [ + { + "state": "WY", + "puf_n": 10, + "svy_n": 9, + "frame_N": 985.8302140606, + "target_returns_2024": 1720.1965645475, + "ratio_N": 0.5730916073, + "frame_A": 1259542403.9203432, + "target_agi_2024": 10203933179.106064, + "ratio_A": 0.1234369514, + "puf_largest_share_of_A": 0.2559353239, + "puf_max_agi": 2679498.995954483, + "failing_conditions": "amount_cap|mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.1049902933, + "drop1_feasible_necessary": false + }, + { + "state": "MT", + "puf_n": 15, + "svy_n": 5, + "frame_N": 1515.2608369601, + "target_returns_2024": 2235.6206672444, + "ratio_N": 0.6777808325, + "frame_A": 1977168586.3630333, + "target_agi_2024": 7269280621.960948, + "ratio_A": 0.2719895804, + "puf_largest_share_of_A": 0.1392315276, + "puf_max_agi": 2709860.630130855, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.2414618079, + "drop1_feasible_necessary": false + }, + { + "state": "FL", + "puf_n": 84, + "svy_n": 54, + "frame_N": 77544.120679386, + "target_returns_2024": 72379.563988005, + "ratio_N": 1.0713537967, + "frame_A": 100190166657.177, + "target_agi_2024": 332116981490.41, + "ratio_A": 0.3016713154, + "puf_largest_share_of_A": 0.0350557404, + "puf_max_agi": 2900503.852608288, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.2954956948, + "drop1_feasible_necessary": false + }, + { + "state": "ID", + "puf_n": 17, + "svy_n": 6, + "frame_N": 2447.808949886, + "target_returns_2024": 3174.6849036342, + "ratio_N": 0.7710399691, + "frame_A": 3624370015.88462, + "target_agi_2024": 10674070692.672844, + "ratio_A": 0.3395489987, + "puf_largest_share_of_A": 0.141789964, + "puf_max_agi": 2515624.215820396, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.3166609136, + "drop1_feasible_necessary": false + }, + { + "state": "ND", + "puf_n": 16, + "svy_n": 7, + "frame_N": 1553.2559597699, + "target_returns_2024": 1705.0382419476, + "ratio_N": 0.9109801303, + "frame_A": 1983764502.930006, + "target_agi_2024": 5573498785.663948, + "ratio_A": 0.3559280408, + "puf_largest_share_of_A": 0.1176840815, + "puf_max_agi": 2894677.5449687885, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.3271682442, + "drop1_feasible_necessary": false + }, + { + "state": "NV", + "puf_n": 19, + "svy_n": 8, + "frame_N": 6883.6848221151, + "target_returns_2024": 8428.5738116695, + "ratio_N": 0.8167081378, + "frame_A": 14605569219.69527, + "target_agi_2024": 39474771106.28822, + "ratio_A": 0.3699975658, + "puf_largest_share_of_A": 0.245253232, + "puf_max_agi": 7555970.288568098, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.2965398103, + "drop1_feasible_necessary": true + }, + { + "state": "NY", + "puf_n": 72, + "svy_n": 34, + "frame_N": 60819.2148947638, + "target_returns_2024": 71517.6655399297, + "ratio_N": 0.8504082793, + "frame_A": 104457026620.07718, + "target_agi_2024": 276351110771.3443, + "ratio_A": 0.3779866357, + "puf_largest_share_of_A": 0.0633144626, + "puf_max_agi": 8648376.407284494, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.3640774673, + "drop1_feasible_necessary": true + }, + { + "state": "AR", + "puf_n": 20, + "svy_n": 10, + "frame_N": 5872.4748111748, + "target_returns_2024": 3429.7132774592, + "ratio_N": 1.7122349118, + "frame_A": 7717163259.295657, + "target_agi_2024": 18451232248.172237, + "ratio_A": 0.4182464973, + "puf_largest_share_of_A": 0.0863692055, + "puf_max_agi": 2373968.347917827, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.3990113001, + "drop1_feasible_necessary": false + }, + { + "state": "IN", + "puf_n": 14, + "svy_n": 4, + "frame_N": 9354.4344105813, + "target_returns_2024": 9534.2421335439, + "ratio_N": 0.9811408479, + "frame_A": 12499786067.627495, + "target_agi_2024": 29193545400.167686, + "ratio_A": 0.4281695113, + "puf_largest_share_of_A": 0.1372125993, + "puf_max_agi": 2695116.7356674112, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.3812582043, + "drop1_feasible_necessary": false + }, + { + "state": "IL", + "puf_n": 38, + "svy_n": 16, + "frame_N": 30405.5974201908, + "target_returns_2024": 30493.0023802264, + "ratio_N": 0.997133606, + "frame_A": 46943784461.44705, + "target_agi_2024": 108072758178.0677, + "ratio_A": 0.4343720402, + "puf_largest_share_of_A": 0.1147694351, + "puf_max_agi": 10734942.579096384, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.3950398604, + "drop1_feasible_necessary": true + } + ], + "colorado": { + "100k_200k": { + "variant": "current", + "state": "CO", + "fips": "08", + "band_low": 100000.0, + "band_high": 200000.0, + "soi2023_returns": 581520.0, + "soi2023_agi": 81135957000.0, + "soi2023_share_returns": 0.1883874395, + "soi2023_share_agi": 0.2582996121, + "ty2022_control_returns": 2972380.0, + "ty2022_control_agi": 297676269000.0, + "target_returns_2024": 559959.0575444712, + "target_agi_2024": 86143028408.32648, + "puf_n": 574, + "puf_N": 316971.5852845206, + "puf_A": 44739515146.15635, + "puf_mean_agi": 141146.7690581702, + "puf_min_agi": 100128.7441362407, + "puf_max_agi": 199905.1461059306, + "puf_largest_share_of_A": 0.0044506988, + "puf_largest_w": 1138.1113674441, + "puf_largest_share_above_low": 0.0065410701, + "puf_N_x2": 633943.1705690413, + "puf_A_x2": 89479030292.3127, + "puf_largest_w_x2": 2276.2227348882, + "svy_n": 565, + "svy_N": 309786.1441913132, + "svy_A": 43285888407.5609, + "svy_max_income": 199191.36, + "svy6_n": 554, + "svy6_N": 301955.6431578521, + "svy6_A": 42273761845.70089, + "frame_n": 1139, + "frame_N": 626757.7294758339, + "frame_A": 88025403553.71724, + "ratio_N": 1.1192920644, + "ratio_A": 1.021851741, + "frame6_N": 618927.2284423728, + "frame6_A": 87013276991.85724, + "ratio6_N": 1.1053080044, + "ratio6_A": 1.0101023681, + "cap_N_5x": 3133788.6473791697, + "cap_A_5x": 440127017768.5862, + "frame_min_agi": 100000.0, + "frame_max_agi": 199905.1461059306, + "target_mean_agi": 153838.0837807684, + "c1_count_reachable": true, + "c2_amount_reachable": true, + "c3_mean_in_range": true, + "feasible_necessary": true, + "failing_conditions": "", + "zero_support": false, + "over2x_A": false, + "over2x_N": false, + "start_loss_A_capped": false, + "start_loss_N_capped": false, + "drop1_removed_agi": null, + "drop1_removed_w": null, + "drop1_removed_channel": null, + "drop1_frame_n": null, + "drop1_frame_N": null, + "drop1_frame_A": null, + "drop1_ratio_A": null, + "drop1_feasible_necessary": null, + "drop1_failing_conditions": null, + "drop1_over2x_A": null + }, + "200k_500k": { + "variant": "current", + "state": "CO", + "fips": "08", + "band_low": 200000.0, + "band_high": 500000.0, + "soi2023_returns": 257510.0, + "soi2023_agi": 74198170000.0, + "soi2023_share_returns": 0.0834221515, + "soi2023_share_agi": 0.2362128856, + "ty2022_control_returns": 2972380.0, + "ty2022_control_agi": 297676269000.0, + "target_returns_2024": 247962.334757664, + "target_agi_2024": 78777095907.74701, + "puf_n": 309, + "puf_N": 164651.8285019213, + "puf_A": 47314373663.4635, + "puf_mean_agi": 287360.1471295619, + "puf_min_agi": 200022.8612490445, + "puf_max_agi": 492850.4604975258, + "puf_largest_share_of_A": 0.0113523055, + "puf_largest_w": 1394.3763504611, + "puf_largest_share_above_low": 0.0179541027, + "puf_N_x2": 329303.6570038426, + "puf_A_x2": 94628747326.927, + "puf_largest_w_x2": 2788.7527009222, + "svy_n": 283, + "svy_N": 148922.4648858587, + "svy_A": 41937931417.28938, + "svy_max_income": 496561.36, + "svy6_n": 265, + "svy6_N": 138821.982946225, + "svy6_A": 38977830955.05299, + "frame_n": 592, + "frame_N": 313574.29338778, + "frame_A": 89252305080.75288, + "ratio_N": 1.2646045364, + "ratio_A": 1.1329727766, + "frame6_N": 303473.8114481464, + "frame6_A": 86292204618.5165, + "ratio6_N": 1.2238706001, + "ratio6_A": 1.0953971281, + "cap_N_5x": 1567871.4669388998, + "cap_A_5x": 446261525403.7644, + "frame_min_agi": 200000.0, + "frame_max_agi": 496561.36, + "target_mean_agi": 317697.8309416897, + "c1_count_reachable": true, + "c2_amount_reachable": true, + "c3_mean_in_range": true, + "feasible_necessary": true, + "failing_conditions": "", + "zero_support": false, + "over2x_A": false, + "over2x_N": false, + "start_loss_A_capped": false, + "start_loss_N_capped": false, + "drop1_removed_agi": null, + "drop1_removed_w": null, + "drop1_removed_channel": null, + "drop1_frame_n": null, + "drop1_frame_N": null, + "drop1_frame_A": null, + "drop1_ratio_A": null, + "drop1_feasible_necessary": null, + "drop1_failing_conditions": null, + "drop1_over2x_A": null + }, + "500k_1m": { + "variant": "current", + "state": "CO", + "fips": "08", + "band_low": 500000.0, + "band_high": 1000000.0, + "soi2023_returns": 38030.0, + "soi2023_agi": 25370899000.0, + "soi2023_share_returns": 0.0123200824, + "soi2023_share_agi": 0.0807692867, + "ty2022_control_returns": 2972380.0, + "ty2022_control_agi": 297676269000.0, + "target_returns_2024": 36619.9665676438, + "target_agi_2024": 26936590805.255203, + "puf_n": 36, + "puf_N": 19368.3205800691, + "puf_A": 13272233771.77945, + "puf_mean_agi": 685254.7548927495, + "puf_min_agi": 500527.9881819055, + "puf_max_agi": 992496.8746961312, + "puf_largest_share_of_A": 0.0635779378, + "puf_largest_w": 934.029387619, + "puf_largest_share_above_low": 0.1050163997, + "puf_N_x2": 38736.6411601382, + "puf_A_x2": 26544467543.5589, + "puf_largest_w_x2": 1868.0587752381, + "svy_n": 17, + "svy_N": 8404.3457468415, + "svy_A": 5973596769.111459, + "svy_max_income": 980514.24, + "svy6_n": 15, + "svy6_N": 7530.3213818583, + "svy6_A": 5517635468.550416, + "frame_n": 53, + "frame_N": 27772.6663269106, + "frame_A": 19245830540.890903, + "ratio_N": 0.7584022851, + "ratio_A": 0.714486502, + "frame6_N": 26898.6419619274, + "frame6_A": 18789869240.329865, + "ratio6_N": 0.7345348585, + "ratio6_A": 0.6975592931, + "cap_N_5x": 138863.331634553, + "cap_A_5x": 96229152704.45451, + "frame_min_agi": 500527.9881819055, + "frame_max_agi": 992496.8746961312, + "target_mean_agi": 735571.1468359304, + "c1_count_reachable": true, + "c2_amount_reachable": true, + "c3_mean_in_range": true, + "feasible_necessary": true, + "failing_conditions": "", + "zero_support": false, + "over2x_A": false, + "over2x_N": false, + "start_loss_A_capped": false, + "start_loss_N_capped": false, + "drop1_removed_agi": null, + "drop1_removed_w": null, + "drop1_removed_channel": null, + "drop1_frame_n": null, + "drop1_frame_N": null, + "drop1_frame_A": null, + "drop1_ratio_A": null, + "drop1_feasible_necessary": null, + "drop1_failing_conditions": null, + "drop1_over2x_A": null + }, + "1m_plus": { + "variant": "current", + "state": "CO", + "fips": "08", + "band_low": 1000000.0, + "band_high": null, + "soi2023_returns": 15610.0, + "soi2023_agi": 47266883000.0, + "soi2023_share_returns": 0.0050569678, + "soi2023_share_agi": 0.1504760404, + "ty2022_control_returns": 2972380.0, + "ty2022_control_agi": 297676269000.0, + "target_returns_2024": 15031.2300321041, + "target_agi_2024": 50183822260.727684, + "puf_n": 26, + "puf_N": 13774.8262012514, + "puf_A": 31897551315.930576, + "puf_mean_agi": 2315640.9271452515, + "puf_min_agi": 1059643.2702475048, + "puf_max_agi": 12799359.136161376, + "puf_largest_share_of_A": 0.2032703455, + "puf_largest_w": 749.4883333333, + "puf_largest_share_above_low": 0.3164169795, + "puf_N_x2": 27549.6524025029, + "puf_A_x2": 63795102631.86115, + "puf_largest_w_x2": 1498.9766666667, + "svy_n": 13, + "svy_N": 7617.4984001925, + "svy_A": 9824303047.565695, + "svy_max_income": 2027867.6, + "svy6_n": 12, + "svy6_N": 6978.775056734, + "svy6_A": 9017215747.798136, + "frame_n": 39, + "frame_N": 21392.3246014439, + "frame_A": 41721854363.49627, + "ratio_N": 1.4231918849, + "ratio_A": 0.8313805622, + "frame6_N": 20753.6012579855, + "frame6_A": 40914767063.728714, + "ratio6_N": 1.3806987993, + "ratio6_A": 0.8152979431, + "cap_N_5x": 106961.6230072196, + "cap_A_5x": 208609271817.48135, + "frame_min_agi": 1000067.68, + "frame_max_agi": 12799359.136161376, + "target_mean_agi": 3338637.1011250336, + "c1_count_reachable": true, + "c2_amount_reachable": true, + "c3_mean_in_range": true, + "feasible_necessary": true, + "failing_conditions": "", + "zero_support": false, + "over2x_A": false, + "over2x_N": false, + "start_loss_A_capped": false, + "start_loss_N_capped": false, + "drop1_removed_agi": 12799359.136161376, + "drop1_removed_w": 450.015, + "drop1_removed_channel": "puf", + "drop1_frame_n": 38.0, + "drop1_frame_N": 20942.3096014439, + "drop1_frame_A": 35961950761.83661, + "drop1_ratio_A": 0.7166044582, + "drop1_feasible_necessary": true, + "drop1_failing_conditions": "", + "drop1_over2x_A": false + } + }, + "sensitivity_1m_plus_drop_largest_record": { + "states_with_support": 51, + "feasible_before": 39, + "feasible_after_drop1": 21, + "over2x_A_before": 0, + "over2x_A_after_drop1": 0, + "ratio_A_median_before": 0.6254553164954044, + "ratio_A_median_after_drop1": 0.5789027262573608, + "states_flipping_feasible_to_infeasible": [ + "AK", + "AZ", + "CT", + "DC", + "DE", + "IA", + "KS", + "ME", + "MI", + "MS", + "NE", + "NM", + "OR", + "SC", + "TN", + "VT", + "WA", + "WI" + ], + "states_flipping_infeasible_to_feasible": [], + "states_flipping_over2x_to_under": [] + }, + "national_1m_plus_vs_table_1_1": { + "puf_x2_returns": 1266403.705284895, + "puf_x2_agi": 2223001833608.3257, + "frame_returns": 959444.6848368766, + "frame_agi": 1518801084298.0, + "targets_2024_returns_51": 787789.1666508679, + "targets_2024_agi_51": 2725601945437.0024, + "table_1_1_ty2023_returns": 799094, + "table_1_1_ty2023_agi": 2543450000000.0 + } + }, + "demographic_midrank6_earn": { + "description": "chosen #1033 design (demographics + mid-rank + earnings flag)", + "per_band": { + "100k_200k": { + "states": 51, + "zero_support": 0, + "fail_count_cap": 0, + "fail_amount_cap": 0, + "fail_mean_out_of_range": 0, + "infeasible_any": 0, + "over2x_A": 0, + "over2x_N": 0, + "start_loss_A_capped": 0, + "start_loss_N_capped": 0, + "ratio_A_median": 0.9713784306778326, + "ratio_A_min": 0.8350860083876748, + "ratio_A_max": 1.2035261300747349, + "ratio_N_median": 1.052343231450889, + "ratio_N_min": 0.9086559695103122, + "ratio_N_max": 1.2442643690942963, + "puf_records_total": 37680, + "puf_records_min_state": 282, + "states_puf_n_lt_10": 0, + "states_largest_record_gt_50pct_of_puf_A": 0, + "national_frame_N": 28801655.633815818, + "national_frame_A": 3972539438435.9155, + "national_puf_N_x2": 29430531.96984493, + "national_puf_A_x2": 4049196730671.751 + }, + "200k_500k": { + "states": 51, + "zero_support": 0, + "fail_count_cap": 0, + "fail_amount_cap": 0, + "fail_mean_out_of_range": 0, + "infeasible_any": 0, + "over2x_A": 0, + "over2x_N": 0, + "start_loss_A_capped": 0, + "start_loss_N_capped": 0, + "ratio_A_median": 0.9870647987197229, + "ratio_A_min": 0.7834580972539953, + "ratio_A_max": 1.3029639275954201, + "ratio_N_median": 1.0692875503384176, + "ratio_N_min": 0.848647772648038, + "ratio_N_max": 1.3605665320428557, + "puf_records_total": 13302, + "puf_records_min_state": 78, + "states_puf_n_lt_10": 0, + "states_largest_record_gt_50pct_of_puf_A": 0, + "national_frame_N": 11505355.40018597, + "national_frame_A": 3268905230261.0977, + "national_puf_N_x2": 10642505.757364333, + "national_puf_A_x2": 3048335181610.4604 + }, + "500k_1m": { + "states": 51, + "zero_support": 0, + "fail_count_cap": 0, + "fail_amount_cap": 0, + "fail_mean_out_of_range": 0, + "infeasible_any": 0, + "over2x_A": 0, + "over2x_N": 0, + "start_loss_A_capped": 0, + "start_loss_N_capped": 0, + "ratio_A_median": 0.848979340620714, + "ratio_A_min": 0.5168728110148952, + "ratio_A_max": 1.4315528151442487, + "ratio_N_median": 0.9076540624090028, + "ratio_N_min": 0.5808701407405065, + "ratio_N_max": 1.5272570717972664, + "puf_records_total": 1990, + "puf_records_min_state": 13, + "states_puf_n_lt_10": 0, + "states_largest_record_gt_50pct_of_puf_A": 0, + "national_frame_N": 1498407.7699622167, + "national_frame_A": 996879399910.8352, + "national_puf_N_x2": 1557918.7373331732, + "national_puf_A_x2": 1054491866956.4323 + }, + "1m_plus": { + "states": 51, + "zero_support": 0, + "fail_count_cap": 0, + "fail_amount_cap": 2, + "fail_mean_out_of_range": 9, + "infeasible_any": 9, + "over2x_A": 2, + "over2x_N": 1, + "start_loss_A_capped": 2, + "start_loss_N_capped": 1, + "ratio_A_median": 0.5809801904377528, + "ratio_A_min": 0.1066053583016518, + "ratio_A_max": 2.704064462178696, + "ratio_N_median": 0.9607922548307681, + "ratio_N_min": 0.4397179992790489, + "ratio_N_max": 2.313655294856265, + "puf_records_total": 1078, + "puf_records_min_state": 4, + "states_puf_n_lt_10": 11, + "states_largest_record_gt_50pct_of_puf_A": 4, + "national_frame_N": 746242.6512436781, + "national_frame_A": 1758902186832.9365, + "national_puf_N_x2": 839999.638098498, + "national_puf_A_x2": 2703204038678.1987 + } + }, + "worst10_1m_plus_by_abs_log_ratio_A": [ + { + "state": "WY", + "puf_n": 9, + "svy_n": 9, + "frame_N": 844.0260208879, + "target_returns_2024": 1720.1965645475, + "ratio_N": 0.4906567297, + "frame_A": 1087793952.6447148, + "target_agi_2024": 10203933179.106064, + "ratio_A": 0.1066053583, + "puf_largest_share_of_A": 0.1777325486, + "puf_max_agi": 2232384.069851913, + "failing_conditions": "amount_cap|mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.0976085261, + "drop1_feasible_necessary": false + }, + { + "state": "DE", + "puf_n": 4, + "svy_n": 3, + "frame_N": 723.8178235697, + "target_returns_2024": 1646.0955083861, + "ratio_N": 0.4397179993, + "frame_A": 889230557.6616377, + "target_agi_2024": 4547895762.808417, + "ratio_A": 0.1955257121, + "puf_largest_share_of_A": 0.3061023751, + "puf_max_agi": 1347215.3720501827, + "failing_conditions": "amount_cap|mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.1580666578, + "drop1_feasible_necessary": false + }, + { + "state": "ID", + "puf_n": 10, + "svy_n": 6, + "frame_N": 1633.2772861159, + "target_returns_2024": 3174.6849036342, + "ratio_N": 0.5144691003, + "frame_A": 2179004714.1012, + "target_agi_2024": 10674070692.672844, + "ratio_A": 0.2041399928, + "puf_largest_share_of_A": 0.1521089501, + "puf_max_agi": 2415255.222298391, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.1850121424, + "drop1_feasible_necessary": false + }, + { + "state": "MT", + "puf_n": 9, + "svy_n": 5, + "frame_N": 1008.6480486264, + "target_returns_2024": 2235.6206672444, + "ratio_N": 0.4511713742, + "frame_A": 1566072383.9234738, + "target_agi_2024": 7269280621.960948, + "ratio_A": 0.2154370515, + "puf_largest_share_of_A": 0.2320121646, + "puf_max_agi": 3078331.015061289, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.1776871593, + "drop1_feasible_necessary": false + }, + { + "state": "WI", + "puf_n": 8, + "svy_n": 5, + "frame_N": 7110.5733806493, + "target_returns_2024": 9757.889649973, + "ratio_N": 0.7286999173, + "frame_A": 8924595668.715834, + "target_agi_2024": 31294279525.44637, + "ratio_A": 0.2851829729, + "puf_largest_share_of_A": 0.2697241553, + "puf_max_agi": 2507873.0672642677, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.2357366918, + "drop1_feasible_necessary": false + }, + { + "state": "IA", + "puf_n": 7, + "svy_n": 6, + "frame_N": 3341.7320362358, + "target_returns_2024": 4321.3421052632, + "ratio_N": 0.7733088367, + "frame_A": 3993821210.767818, + "target_agi_2024": 13870951869.10055, + "ratio_A": 0.2879269749, + "puf_largest_share_of_A": 0.2264989571, + "puf_max_agi": 1470277.8599598904, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.260349021, + "drop1_feasible_necessary": false + }, + { + "state": "IN", + "puf_n": 7, + "svy_n": 4, + "frame_N": 5465.0219465662, + "target_returns_2024": 9534.2421335439, + "ratio_N": 0.573199408, + "frame_A": 8799154196.422224, + "target_agi_2024": 29193545400.167686, + "ratio_A": 0.3014075226, + "puf_largest_share_of_A": 0.2828680266, + "puf_max_agi": 3230438.2266493253, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.2405553227, + "drop1_feasible_necessary": false + }, + { + "state": "IL", + "puf_n": 25, + "svy_n": 16, + "frame_N": 21271.9398854159, + "target_returns_2024": 30493.0023802264, + "ratio_N": 0.6976007026, + "frame_A": 37451358185.55892, + "target_agi_2024": 108072758178.0677, + "ratio_A": 0.3465383767, + "puf_largest_share_of_A": 0.2323058796, + "puf_max_agi": 18701692.467423104, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.2873300227, + "drop1_feasible_necessary": false + }, + { + "state": "NH", + "puf_n": 14, + "svy_n": 6, + "frame_N": 2885.6704702774, + "target_returns_2024": 3688.1859150313, + "ratio_N": 0.7824091672, + "frame_A": 4732691025.113197, + "target_agi_2024": 13252478866.307795, + "ratio_A": 0.3571174173, + "puf_largest_share_of_A": 0.1246760233, + "puf_max_agi": 4298004.432203211, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.322600357, + "drop1_feasible_necessary": true + }, + { + "state": "WV", + "puf_n": 16, + "svy_n": 10, + "frame_N": 2863.4713761568, + "target_returns_2024": 1237.6395837889, + "ratio_N": 2.3136552949, + "frame_A": 8970583908.553993, + "target_agi_2024": 3317444548.3915315, + "ratio_A": 2.7040644622, + "puf_largest_share_of_A": 0.6429191753, + "puf_max_agi": 76984912.10283597, + "failing_conditions": "", + "over2x_A": true, + "drop1_ratio_A": 1.2377877542, + "drop1_feasible_necessary": true + } + ], + "highest10_1m_plus_ratio_A": [ + { + "state": "WV", + "puf_n": 16, + "svy_n": 10, + "frame_N": 2863.4713761568, + "target_returns_2024": 1237.6395837889, + "ratio_N": 2.3136552949, + "frame_A": 8970583908.553993, + "target_agi_2024": 3317444548.3915315, + "ratio_A": 2.7040644622, + "puf_largest_share_of_A": 0.6429191753, + "puf_max_agi": 76984912.10283597, + "failing_conditions": "", + "over2x_A": true, + "drop1_ratio_A": 1.2377877542, + "drop1_feasible_necessary": true + }, + { + "state": "SC", + "puf_n": 14, + "svy_n": 12, + "frame_N": 10572.6264404633, + "target_returns_2024": 8387.2162756392, + "ratio_N": 1.2605644224, + "frame_A": 50943878261.82338, + "target_agi_2024": 25078033870.39889, + "ratio_A": 2.0314143655, + "puf_largest_share_of_A": 0.5554119042, + "puf_max_agi": 61780176.29283324, + "failing_conditions": "", + "over2x_A": true, + "drop1_ratio_A": 1.0488321832, + "drop1_feasible_necessary": true + }, + { + "state": "CO", + "puf_n": 15, + "svy_n": 13, + "frame_N": 15041.1071181324, + "target_returns_2024": 15031.2300321041, + "ratio_N": 1.0006571043, + "frame_A": 81485869596.65315, + "target_agi_2024": 50183822260.727684, + "ratio_A": 1.6237477722, + "puf_largest_share_of_A": 0.7587054726, + "puf_max_agi": 125397728.4296138, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.5403304423, + "drop1_feasible_necessary": true + }, + { + "state": "VA", + "puf_n": 24, + "svy_n": 20, + "frame_N": 22822.9900892964, + "target_returns_2024": 19004.6888847836, + "ratio_N": 1.2009136391, + "frame_A": 73448348096.0924, + "target_agi_2024": 57315433920.58533, + "ratio_A": 1.2814759145, + "puf_largest_share_of_A": 0.482132999, + "puf_max_agi": 44223527.79687524, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.7840077518, + "drop1_feasible_necessary": true + }, + { + "state": "AK", + "puf_n": 13, + "svy_n": 10, + "frame_N": 1807.3864171183, + "target_returns_2024": 1080.9622348681, + "ratio_N": 1.6720162452, + "frame_A": 3158234338.215625, + "target_agi_2024": 2738152286.976728, + "ratio_A": 1.1534180744, + "puf_largest_share_of_A": 0.2841605435, + "puf_max_agi": 9019612.873113945, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.922785104, + "drop1_feasible_necessary": true + }, + { + "state": "AL", + "puf_n": 22, + "svy_n": 19, + "frame_N": 10309.4801902168, + "target_returns_2024": 6596.7607107491, + "ratio_N": 1.5628094821, + "frame_A": 23458194316.64223, + "target_agi_2024": 20353753805.457275, + "ratio_A": 1.1525242243, + "puf_largest_share_of_A": 0.3615690701, + "puf_max_agi": 36855448.37377946, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.8411971621, + "drop1_feasible_necessary": true + }, + { + "state": "KS", + "puf_n": 14, + "svy_n": 11, + "frame_N": 8110.7556192153, + "target_returns_2024": 4932.8610643438, + "ratio_N": 1.6442294874, + "frame_A": 16140817571.210535, + "target_agi_2024": 14732108553.278406, + "ratio_A": 1.0956216833, + "puf_largest_share_of_A": 0.4950245946, + "puf_max_agi": 15208012.690568037, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.7020565, + "drop1_feasible_necessary": false + }, + { + "state": "NE", + "puf_n": 16, + "svy_n": 13, + "frame_N": 5378.4298179945, + "target_returns_2024": 3242.9403851005, + "ratio_N": 1.6585040671, + "frame_A": 11401019791.847988, + "target_agi_2024": 11039886071.537018, + "ratio_A": 1.0327117253, + "puf_largest_share_of_A": 0.4208281446, + "puf_max_agi": 11628268.006221866, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.7186717445, + "drop1_feasible_necessary": true + }, + { + "state": "NV", + "puf_n": 13, + "svy_n": 8, + "frame_N": 4780.7642739584, + "target_returns_2024": 8428.5738116695, + "ratio_N": 0.5672091603, + "frame_A": 40318802878.16208, + "target_agi_2024": 39474771106.28822, + "ratio_A": 1.0213815495, + "puf_largest_share_of_A": 0.7840756725, + "puf_max_agi": 113407693.2000385, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.2758024438, + "drop1_feasible_necessary": true + }, + { + "state": "NC", + "puf_n": 24, + "svy_n": 25, + "frame_N": 24689.5383741145, + "target_returns_2024": 17278.7881292765, + "ratio_N": 1.4288929403, + "frame_A": 49019803175.39847, + "target_agi_2024": 48638100585.6509, + "ratio_A": 1.0078478104, + "puf_largest_share_of_A": 0.4034274297, + "puf_max_agi": 22573859.247816764, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.7219869555, + "drop1_feasible_necessary": true + } + ], + "lowest10_1m_plus_ratio_A": [ + { + "state": "WY", + "puf_n": 9, + "svy_n": 9, + "frame_N": 844.0260208879, + "target_returns_2024": 1720.1965645475, + "ratio_N": 0.4906567297, + "frame_A": 1087793952.6447148, + "target_agi_2024": 10203933179.106064, + "ratio_A": 0.1066053583, + "puf_largest_share_of_A": 0.1777325486, + "puf_max_agi": 2232384.069851913, + "failing_conditions": "amount_cap|mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.0976085261, + "drop1_feasible_necessary": false + }, + { + "state": "DE", + "puf_n": 4, + "svy_n": 3, + "frame_N": 723.8178235697, + "target_returns_2024": 1646.0955083861, + "ratio_N": 0.4397179993, + "frame_A": 889230557.6616377, + "target_agi_2024": 4547895762.808417, + "ratio_A": 0.1955257121, + "puf_largest_share_of_A": 0.3061023751, + "puf_max_agi": 1347215.3720501827, + "failing_conditions": "amount_cap|mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.1580666578, + "drop1_feasible_necessary": false + }, + { + "state": "ID", + "puf_n": 10, + "svy_n": 6, + "frame_N": 1633.2772861159, + "target_returns_2024": 3174.6849036342, + "ratio_N": 0.5144691003, + "frame_A": 2179004714.1012, + "target_agi_2024": 10674070692.672844, + "ratio_A": 0.2041399928, + "puf_largest_share_of_A": 0.1521089501, + "puf_max_agi": 2415255.222298391, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.1850121424, + "drop1_feasible_necessary": false + }, + { + "state": "MT", + "puf_n": 9, + "svy_n": 5, + "frame_N": 1008.6480486264, + "target_returns_2024": 2235.6206672444, + "ratio_N": 0.4511713742, + "frame_A": 1566072383.9234738, + "target_agi_2024": 7269280621.960948, + "ratio_A": 0.2154370515, + "puf_largest_share_of_A": 0.2320121646, + "puf_max_agi": 3078331.015061289, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.1776871593, + "drop1_feasible_necessary": false + }, + { + "state": "WI", + "puf_n": 8, + "svy_n": 5, + "frame_N": 7110.5733806493, + "target_returns_2024": 9757.889649973, + "ratio_N": 0.7286999173, + "frame_A": 8924595668.715834, + "target_agi_2024": 31294279525.44637, + "ratio_A": 0.2851829729, + "puf_largest_share_of_A": 0.2697241553, + "puf_max_agi": 2507873.0672642677, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.2357366918, + "drop1_feasible_necessary": false + }, + { + "state": "IA", + "puf_n": 7, + "svy_n": 6, + "frame_N": 3341.7320362358, + "target_returns_2024": 4321.3421052632, + "ratio_N": 0.7733088367, + "frame_A": 3993821210.767818, + "target_agi_2024": 13870951869.10055, + "ratio_A": 0.2879269749, + "puf_largest_share_of_A": 0.2264989571, + "puf_max_agi": 1470277.8599598904, + "failing_conditions": "mean_out_of_range", + "over2x_A": false, + "drop1_ratio_A": 0.260349021, + "drop1_feasible_necessary": false + }, + { + "state": "IN", + "puf_n": 7, + "svy_n": 4, + "frame_N": 5465.0219465662, + "target_returns_2024": 9534.2421335439, + "ratio_N": 0.573199408, + "frame_A": 8799154196.422224, + "target_agi_2024": 29193545400.167686, + "ratio_A": 0.3014075226, + "puf_largest_share_of_A": 0.2828680266, + "puf_max_agi": 3230438.2266493253, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.2405553227, + "drop1_feasible_necessary": false + }, + { + "state": "IL", + "puf_n": 25, + "svy_n": 16, + "frame_N": 21271.9398854159, + "target_returns_2024": 30493.0023802264, + "ratio_N": 0.6976007026, + "frame_A": 37451358185.55892, + "target_agi_2024": 108072758178.0677, + "ratio_A": 0.3465383767, + "puf_largest_share_of_A": 0.2323058796, + "puf_max_agi": 18701692.467423104, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.2873300227, + "drop1_feasible_necessary": false + }, + { + "state": "NH", + "puf_n": 14, + "svy_n": 6, + "frame_N": 2885.6704702774, + "target_returns_2024": 3688.1859150313, + "ratio_N": 0.7824091672, + "frame_A": 4732691025.113197, + "target_agi_2024": 13252478866.307795, + "ratio_A": 0.3571174173, + "puf_largest_share_of_A": 0.1246760233, + "puf_max_agi": 4298004.432203211, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.322600357, + "drop1_feasible_necessary": true + }, + { + "state": "ND", + "puf_n": 10, + "svy_n": 7, + "frame_N": 1229.476463746, + "target_returns_2024": 1705.0382419476, + "ratio_N": 0.7210843918, + "frame_A": 2063052957.7588444, + "target_agi_2024": 5573498785.663948, + "ratio_A": 0.3701540158, + "puf_largest_share_of_A": 0.2476426469, + "puf_max_agi": 6327097.858429211, + "failing_conditions": "", + "over2x_A": false, + "drop1_ratio_A": 0.3061118095, + "drop1_feasible_necessary": false + } + ], + "colorado": { + "100k_200k": { + "variant": "demographic_midrank6_earn", + "state": "CO", + "fips": "08", + "band_low": 100000.0, + "band_high": 200000.0, + "soi2023_returns": 581520.0, + "soi2023_agi": 81135957000.0, + "soi2023_share_returns": 0.1883874395, + "soi2023_share_agi": 0.2582996121, + "ty2022_control_returns": 2972380.0, + "ty2022_control_agi": 297676269000.0, + "target_returns_2024": 559959.0575444712, + "target_agi_2024": 86143028408.32648, + "puf_n": 569, + "puf_N": 312760.4074776518, + "puf_A": 43038877283.11988, + "puf_mean_agi": 137609.7365719003, + "puf_min_agi": 100153.8953864071, + "puf_max_agi": 199122.3099981903, + "puf_largest_share_of_A": 0.0054660093, + "puf_largest_w": 1206.2358982095, + "puf_largest_share_above_low": 0.00974487, + "puf_N_x2": 625520.8149553037, + "puf_A_x2": 86077754566.23976, + "puf_largest_w_x2": 2412.4717964191, + "svy_n": 565, + "svy_N": 309786.1441913132, + "svy_A": 43285888407.5609, + "svy_max_income": 199191.36, + "svy6_n": 554, + "svy6_N": 301955.6431578521, + "svy6_A": 42273761845.70089, + "frame_n": 1134, + "frame_N": 622546.551668965, + "frame_A": 86324765690.68079, + "ratio_N": 1.1117715542, + "ratio_A": 1.0021097155, + "frame6_N": 614716.050635504, + "frame6_A": 85312639128.82077, + "ratio6_N": 1.0977874942, + "ratio6_A": 0.9903603426, + "cap_N_5x": 3112732.7583448254, + "cap_A_5x": 431623828453.40393, + "frame_min_agi": 100000.0, + "frame_max_agi": 199191.36, + "target_mean_agi": 153838.0837807684, + "c1_count_reachable": true, + "c2_amount_reachable": true, + "c3_mean_in_range": true, + "feasible_necessary": true, + "failing_conditions": "", + "zero_support": false, + "over2x_A": false, + "over2x_N": false, + "start_loss_A_capped": false, + "start_loss_N_capped": false, + "drop1_removed_agi": null, + "drop1_removed_w": null, + "drop1_removed_channel": null, + "drop1_frame_n": null, + "drop1_frame_N": null, + "drop1_frame_A": null, + "drop1_ratio_A": null, + "drop1_feasible_necessary": null, + "drop1_failing_conditions": null, + "drop1_over2x_A": null + }, + "200k_500k": { + "variant": "demographic_midrank6_earn", + "state": "CO", + "fips": "08", + "band_low": 200000.0, + "band_high": 500000.0, + "soi2023_returns": 257510.0, + "soi2023_agi": 74198170000.0, + "soi2023_share_returns": 0.0834221515, + "soi2023_share_agi": 0.2362128856, + "ty2022_control_returns": 2972380.0, + "ty2022_control_agi": 297676269000.0, + "target_returns_2024": 247962.334757664, + "target_agi_2024": 78777095907.74701, + "puf_n": 220, + "puf_N": 114548.711319934, + "puf_A": 32015062999.008972, + "puf_mean_agi": 279488.6352722996, + "puf_min_agi": 200853.7856215023, + "puf_max_agi": 499785.2941264478, + "puf_largest_share_of_A": 0.0108418066, + "puf_largest_w": 934.9126862898, + "puf_largest_share_above_low": 0.0191987848, + "puf_N_x2": 229097.422639868, + "puf_A_x2": 64030125998.017944, + "puf_largest_w_x2": 1869.8253725796, + "svy_n": 283, + "svy_N": 148922.4648858587, + "svy_A": 41937931417.28938, + "svy_max_income": 496561.36, + "svy6_n": 265, + "svy6_N": 138821.982946225, + "svy6_A": 38977830955.05299, + "frame_n": 503, + "frame_N": 263471.1762057927, + "frame_A": 73952994416.29837, + "ratio_N": 1.0625451501, + "ratio_A": 0.9387626386, + "frame6_N": 253370.694266159, + "frame6_A": 70992893954.06197, + "ratio6_N": 1.0218112138, + "ratio6_A": 0.9011869902, + "cap_N_5x": 1317355.8810289635, + "cap_A_5x": 369764972081.4918, + "frame_min_agi": 200000.0, + "frame_max_agi": 499785.2941264478, + "target_mean_agi": 317697.8309416897, + "c1_count_reachable": true, + "c2_amount_reachable": true, + "c3_mean_in_range": true, + "feasible_necessary": true, + "failing_conditions": "", + "zero_support": false, + "over2x_A": false, + "over2x_N": false, + "start_loss_A_capped": false, + "start_loss_N_capped": false, + "drop1_removed_agi": null, + "drop1_removed_w": null, + "drop1_removed_channel": null, + "drop1_frame_n": null, + "drop1_frame_N": null, + "drop1_frame_A": null, + "drop1_ratio_A": null, + "drop1_feasible_necessary": null, + "drop1_failing_conditions": null, + "drop1_over2x_A": null + }, + "500k_1m": { + "variant": "demographic_midrank6_earn", + "state": "CO", + "fips": "08", + "band_low": 500000.0, + "band_high": 1000000.0, + "soi2023_returns": 38030.0, + "soi2023_agi": 25370899000.0, + "soi2023_share_returns": 0.0123200824, + "soi2023_share_agi": 0.0807692867, + "ty2022_control_returns": 2972380.0, + "ty2022_control_agi": 297676269000.0, + "target_returns_2024": 36619.9665676438, + "target_agi_2024": 26936590805.255203, + "puf_n": 21, + "puf_N": 12867.0993872184, + "puf_A": 9091127451.634668, + "puf_mean_agi": 706540.5479548392, + "puf_min_agi": 510721.3072911734, + "puf_max_agi": 954473.9081067834, + "puf_largest_share_of_A": 0.1173205595, + "puf_largest_w": 1394.3763504611, + "puf_largest_share_above_low": 0.1389942335, + "puf_N_x2": 25734.1987744368, + "puf_A_x2": 18182254903.269337, + "puf_largest_w_x2": 2788.7527009222, + "svy_n": 17, + "svy_N": 8404.3457468415, + "svy_A": 5973596769.111459, + "svy_max_income": 980514.24, + "svy6_n": 15, + "svy6_N": 7530.3213818583, + "svy6_A": 5517635468.550416, + "frame_n": 38, + "frame_N": 21271.4451340599, + "frame_A": 15064724220.746126, + "ratio_N": 0.5808701407, + "ratio_A": 0.5592661792, + "frame6_N": 20397.4207690767, + "frame6_A": 14608762920.185085, + "ratio6_N": 0.5570027141, + "ratio6_A": 0.5423389703, + "cap_N_5x": 106357.2256702996, + "cap_A_5x": 75323621103.73064, + "frame_min_agi": 507878.08, + "frame_max_agi": 980514.24, + "target_mean_agi": 735571.1468359304, + "c1_count_reachable": true, + "c2_amount_reachable": true, + "c3_mean_in_range": true, + "feasible_necessary": true, + "failing_conditions": "", + "zero_support": false, + "over2x_A": false, + "over2x_N": false, + "start_loss_A_capped": false, + "start_loss_N_capped": false, + "drop1_removed_agi": null, + "drop1_removed_w": null, + "drop1_removed_channel": null, + "drop1_frame_n": null, + "drop1_frame_N": null, + "drop1_frame_A": null, + "drop1_ratio_A": null, + "drop1_feasible_necessary": null, + "drop1_failing_conditions": null, + "drop1_over2x_A": null + }, + "1m_plus": { + "variant": "demographic_midrank6_earn", + "state": "CO", + "fips": "08", + "band_low": 1000000.0, + "band_high": null, + "soi2023_returns": 15610.0, + "soi2023_agi": 47266883000.0, + "soi2023_share_returns": 0.0050569678, + "soi2023_share_agi": 0.1504760404, + "ty2022_control_returns": 2972380.0, + "ty2022_control_agi": 297676269000.0, + "target_returns_2024": 15031.2300321041, + "target_agi_2024": 50183822260.727684, + "puf_n": 15, + "puf_N": 7423.6087179399, + "puf_A": 71661566549.08746, + "puf_mean_agi": 9653198.231731962, + "puf_min_agi": 1006729.1472210533, + "puf_max_agi": 125397728.4296138, + "puf_largest_share_of_A": 0.7587054726, + "puf_largest_w": 433.5806030786, + "puf_largest_share_above_low": 0.8396350683, + "puf_N_x2": 14847.2174358798, + "puf_A_x2": 143323133098.17493, + "puf_largest_w_x2": 867.1612061571, + "svy_n": 13, + "svy_N": 7617.4984001925, + "svy_A": 9824303047.565695, + "svy_max_income": 2027867.6, + "svy6_n": 12, + "svy6_N": 6978.775056734, + "svy6_A": 9017215747.798136, + "frame_n": 28, + "frame_N": 15041.1071181324, + "frame_A": 81485869596.65315, + "ratio_N": 1.0006571043, + "ratio_A": 1.6237477722, + "frame6_N": 14402.3837746739, + "frame6_A": 80678782296.8856, + "ratio6_N": 0.9581640188, + "ratio6_A": 1.6076651531, + "cap_N_5x": 75205.535590662, + "cap_A_5x": 407429347983.26575, + "frame_min_agi": 1000067.68, + "frame_max_agi": 125397728.4296138, + "target_mean_agi": 3338637.1011250336, + "c1_count_reachable": true, + "c2_amount_reachable": true, + "c3_mean_in_range": true, + "feasible_necessary": true, + "failing_conditions": "", + "zero_support": false, + "over2x_A": false, + "over2x_N": false, + "start_loss_A_capped": false, + "start_loss_N_capped": false, + "drop1_removed_agi": 125397728.4296138, + "drop1_removed_w": 433.5806030786, + "drop1_removed_channel": "puf", + "drop1_frame_n": 27.0, + "drop1_frame_N": 14607.5265150538, + "drop1_frame_A": 27115846879.458687, + "drop1_ratio_A": 0.5403304423, + "drop1_feasible_necessary": true, + "drop1_failing_conditions": "", + "drop1_over2x_A": false + } + }, + "sensitivity_1m_plus_drop_largest_record": { + "states_with_support": 51, + "feasible_before": 42, + "feasible_after_drop1": 30, + "over2x_A_before": 2, + "over2x_A_after_drop1": 0, + "ratio_A_median_before": 0.5809801904377528, + "ratio_A_median_after_drop1": 0.5048342618600362, + "states_flipping_feasible_to_infeasible": [ + "AR", + "IL", + "IN", + "KS", + "KY", + "MD", + "MN", + "MO", + "MS", + "ND", + "OR", + "VT" + ], + "states_flipping_infeasible_to_feasible": [], + "states_flipping_over2x_to_under": [ + "SC", + "WV" + ] + }, + "national_1m_plus_vs_table_1_1": { + "puf_x2_returns": 839999.638098498, + "puf_x2_agi": 2703204038678.1987, + "frame_returns": 746242.6512436781, + "frame_agi": 1758902186832.9365, + "targets_2024_returns_51": 787789.1666508679, + "targets_2024_agi_51": 2725601945437.0024, + "table_1_1_ty2023_returns": 799094, + "table_1_1_ty2023_agi": 2543450000000.0 + } + } + }, + "soi_table_1_1_ty2023_1m_plus": { + "returns": 799094, + "agi": 2543450000000.0 + }, + "colorado_reproduction_check": { + "readme_982": { + "records": 15, + "returns_x2": 14847, + "largest_share_of_income_above_1m": 0.84, + "largest_proxy_agi": 125400000.0, + "largest_weight_x2": 867 + }, + "computed": { + "records": 15, + "returns_x2": 14847.21743587981, + "largest_share_of_income_above_1m": 0.8396350683483795, + "largest_proxy_agi": 125397728.4296138, + "largest_weight_x2": 867.1612061571366 + }, + "reproduces": true + }, + "fips_mapping_sanity_top5_by_weight": [ + "CA", + "TX", + "FL", + "NY", + "PA" + ], + "puf_half_weight_total": 91655426.09461409, + "survey_total_vs_six_items": { + "rows_differing": 43343, + "rows": 231007, + "note": "survey_total is compare_predictors.py's broad SURVEY list (up to 14 items incl. pension, IRA, rental, farm, UI, alimony, misc), not the six predictor items; the svy6_* columns use the six items." + } +} diff --git a/packages/microcosm-build/src/microcosm/build/us/chronicle_feed.json b/packages/microcosm-build/src/microcosm/build/us/chronicle_feed.json index acc37281e..5b46e935e 100644 --- a/packages/microcosm-build/src/microcosm/build/us/chronicle_feed.json +++ b/packages/microcosm-build/src/microcosm/build/us/chronicle_feed.json @@ -3,15 +3,15 @@ "country": "us", "scope": "us_fiscal_targets", "source_repo": "PolicyEngine/chronicle", - "source_commit": "c5e5bf8aa84960c1a200ee47303b19c953092d0f", - "build": "tools/build_us_chronicle_feed.py --skip-artifact: one `chronicle build-bundle --year Y --source ` per build year in chronicle_feed_scope.json, rows kept for exactly the scope's (record set, period) pairs and sorted by aggregate_fact_key. Bare feed: `chronicle build-consumer-artifact` refuses it at this commit (994 concept_alignment rows lack `authority`); see docs/us-chronicle-feed-repin.md.", + "source_commit": "51aa40fd28e2ca81937752515e773d123fecfb71", + "build": "tools/build_us_chronicle_feed.py --skip-artifact: one `chronicle build-bundle --year Y --source ` per build year in chronicle_feed_scope.json, rows kept for exactly the scope's (record set, period) pairs and sorted by aggregate_fact_key. The commit is c5e5bf8 plus only the TY2023 Historic Table 2 state AGI-band package (tag microcosm-us-feed-940-v1, chronicle#291). Bare feed: `chronicle build-consumer-artifact` refuses it at this commit; see docs/us-chronicle-feed-repin.md.", "artifact_schema_version": null, "consumer_fact_schema_versions": [ "chronicle.consumer_fact.v3" ], "consumer_fact_schema_sha256": "bdb51e2a8115634633ba7448c4005930fd9c0bfbade5e1b079b6bc24da485d3d", - "fact_row_count": 39158, - "facts_sha256": "b85437390021777e746f507c5890305496baf5fc7f2c78ba08ddb090f4839801", + "fact_row_count": 40178, + "facts_sha256": "965a29ac9458edb58a05184917ee4a19772fd3dc7b4588db6eb6da5803641aac", "manifest_sha256": null, - "scope_sha256": "b769887d716e90612518788700c5c01dba8b411c5c75f3d47bb8b1273550ddc1" + "scope_sha256": "f090102099b3d2c799a8f975a8156101dbb18925b526c3791a785f68944d020d" } diff --git a/packages/microcosm-build/src/microcosm/build/us/chronicle_feed_scope.json b/packages/microcosm-build/src/microcosm/build/us/chronicle_feed_scope.json index 9afd1dfab..d3647ec2b 100644 --- a/packages/microcosm-build/src/microcosm/build/us/chronicle_feed_scope.json +++ b/packages/microcosm-build/src/microcosm/build/us/chronicle_feed_scope.json @@ -2,9 +2,9 @@ "version": 1, "country": "us", "source_repo": "PolicyEngine/chronicle", - "source_commit": "c5e5bf8aa84960c1a200ee47303b19c953092d0f", - "rule": "Exactly the (record_set_id, period) pairs of the pinned feed consumer_facts_buildn_v9_4.jsonl; each built from the named package with `chronicle build-bundle --year --source `.", - "pair_count": 586, + "source_commit": "51aa40fd28e2ca81937752515e773d123fecfb71", + "rule": "The (record_set_id, period) pairs of the pinned feed consumer_facts_buildn_v9_4.jsonl, plus the 51 TY2023 Historic Table 2 state AGI-band record sets (irs_soi.ty2023.historic_table_2.state_agi., microcosm#940); each built from the named package with `chronicle build-bundle --year --source `.", + "pair_count": 637, "runs": { "2020": [ "packages/bea/nipa_total_wages_salaries", @@ -40,6 +40,7 @@ "packages/federal_reserve/z1_household_net_worth", "packages/hhs_acf_liheap/fy2023_national_profile", "packages/irs_soi/congressional_district_2022", + "packages/irs_soi/historic_table_2_state_agi_2023", "packages/irs_soi/ira_roth_contributions_2022", "packages/irs_soi/ira_traditional_contributions_2022", "packages/irs_soi/state_2022", @@ -4346,6 +4347,414 @@ "package": "packages/irs_soi/w2_statistics_2020", "build_year": 2023 }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ak", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.al", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ar", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.az", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ca", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.co", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ct", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.dc", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.de", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.fl", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ga", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.hi", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ia", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.id", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.il", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.in", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ks", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ky", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.la", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ma", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.md", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.me", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.mi", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.mn", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.mo", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ms", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.mt", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.nc", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.nd", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ne", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.nh", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.nj", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.nm", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.nv", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ny", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.oh", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ok", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.or", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.pa", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ri", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.sc", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.sd", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.tn", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.tx", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.ut", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.va", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.vt", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.wa", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.wi", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.wv", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, + { + "record_set_id": "irs_soi.ty2023.historic_table_2.state_agi.wy", + "period_type": "tax_year", + "period_value": "2023", + "package_id": "soi-historic-table-2-state-agi-2023", + "package": "packages/irs_soi/historic_table_2_state_agi_2023", + "build_year": 2023 + }, { "record_set_id": "irs_soi.ty2023.roth_ira_contributions.all_taxpayers", "period_type": "tax_year", diff --git a/packages/microcosm-build/src/microcosm/build/us/target_parity_feed_families.json b/packages/microcosm-build/src/microcosm/build/us/target_parity_feed_families.json index 6a8c987fd..23e9607ad 100644 --- a/packages/microcosm-build/src/microcosm/build/us/target_parity_feed_families.json +++ b/packages/microcosm-build/src/microcosm/build/us/target_parity_feed_families.json @@ -1,6 +1,6 @@ { - "feed": "consumer_facts_us_c5e5bf8.jsonl", - "feed_sha256": "b85437390021777e746f507c5890305496baf5fc7f2c78ba08ddb090f4839801", + "feed": "consumer_facts_us_51aa40f.jsonl", + "feed_sha256": "965a29ac9458edb58a05184917ee4a19772fd3dc7b4588db6eb6da5803641aac", "families": { "bea_nipa.business_current_transfer_receipts": 1, "bea_nipa.defined_contribution_actual_contributions": 1, @@ -60,7 +60,7 @@ "irs_soi.form_w2_401k_elective_deferrals": 1, "irs_soi.form_w2_designated_roth_401k_contributions": 1, "irs_soi.form_w2_social_security_tips": 6, - "irs_soi.historic_table_2": 5654, + "irs_soi.historic_table_2": 6674, "irs_soi.roth_ira_contributions": 2, "irs_soi.state_2022": 4, "irs_soi.table_1_1": 160, diff --git a/packages/microcosm-build/src/microcosm/build/us/target_parity_manifest.json b/packages/microcosm-build/src/microcosm/build/us/target_parity_manifest.json index 904f8bf51..6de4b30b4 100644 --- a/packages/microcosm-build/src/microcosm/build/us/target_parity_manifest.json +++ b/packages/microcosm-build/src/microcosm/build/us/target_parity_manifest.json @@ -1,8 +1,8 @@ { "schema_version": 1, "reference": { - "feed": "consumer_facts_us_c5e5bf8.jsonl", - "feed_sha256": "b85437390021777e746f507c5890305496baf5fc7f2c78ba08ddb090f4839801", + "feed": "consumer_facts_us_51aa40f.jsonl", + "feed_sha256": "965a29ac9458edb58a05184917ee4a19772fd3dc7b4588db6eb6da5803641aac", "target_period": "2024", "registry_compile": "compile_us_fiscal_target_registry(age_targets=True, canonical CD vintage crosswalk) + apply_us_medicaid_enrollment_substitutions; one national + state + congressional-district surface for every artifact (microcosm#449)", "us_data_source": "retired us-data pipeline (archived): utils/loss.py (eCPS loss matrix), db/etl_national_targets.py, db/etl_*.py, utils/national_target_parity.py", diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/fiscal_targets.py b/packages/microcosm-build/src/microcosm/build/us_runtime/fiscal_targets.py index 1cf1d0ec5..32d05643e 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/fiscal_targets.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/fiscal_targets.py @@ -60,6 +60,7 @@ "US_JCT_TAX_EXPENDITURE_TARGET_SPECS", "US_JCT_TAX_EXPENDITURE_TARGET_REFERENCES", "SOI_VARIABLE_MAP", + "US_SOI_STATE_AGI_BAND_MINIMUM_LOWER_BOUND", "US_SOI_FISCAL_TARGET_SPECS", "US_SOI_FISCAL_TARGET_REFERENCES", "US_STATE_INCOME_TAX_TARGET_SPECS", @@ -337,6 +338,18 @@ def _us_hierarchy_seed( _SOI_TOTAL_UPRATED_DECOMPOSITION_MEASURES = ( _SOI_TOTAL_UPRATED_AMOUNT_MEASURES | _SOI_TOTAL_UPRATED_RETURN_MEASURES ) +#: Lowest AGI edge a state Historic Table 2 band may have to bind +#: (microcosm#940). The SOI slice materializer counts every tax unit in the +#: band, filer or not, so a return count is the same concept as a tax-unit +#: count only where filing is near universal; the national size-of-AGI +#: classes use the same floor for the same reason (microcosm#958). +US_SOI_STATE_AGI_BAND_MINIMUM_LOWER_BOUND = 100_000.0 +_SOI_STATE_AGI_BAND_MEASURES = frozenset({"return_count", "adjusted_gross_income"}) +#: Period-stripped record-set prefixes: a state's AGI bands, and the state +#: all-returns totals the bands are rebased onto. +_SOI_STATE_AGI_BAND_RECORD_SET_PREFIX = "irs_soi.historic_table_2.state_agi." +_SOI_STATE_AGI_BAND_CONTROL_RECORD_SET_PREFIX = "irs_soi.historic_table_2.state_broad." +_SOI_STATE_AGI_BAND_REBASE_FLAG = "requires_state_agi_band_rebase" _SOI_FORM_W2_ITEM_LAYOUT_DIMENSION = "irs_soi.form_w2_item" _SOI_FORM_W2_SOCIAL_SECURITY_TIP_ITEMS = frozenset( { @@ -1043,6 +1056,11 @@ def compile_us_fiscal_target_registry( materialized_facts, target_period=target_period, ) + registry = _rebase_soi_state_agi_bands( + registry, + materialized_facts, + target_period=target_period, + ) registry = apply_ledger_target_profile( registry, _load_us_fiscal_target_profile(), @@ -1966,6 +1984,281 @@ def _soi_total_uprating_index(measure_id: str) -> str: return "total_taxable_interest_amount" +def _rebase_soi_state_agi_bands( + registry: TargetRegistry, + facts: tuple[object, ...], + *, + target_period: int | str, +) -> TargetRegistry: + """Bind state HT2 AGI bands as shares of the state total that binds (#940). + + A state's income above $1M is what progressive state rate schedules tax, + and state totals alone leave it unconstrained. #940 measured Build P's + ACS-local release matching Colorado's return count and AGI within 0.12% + while holding 24% of SOI's Colorado AGI above $1M; after the PUF fix + (#982), one pre-calibration Colorado record carries 84% of it. The bands + bind return counts and AGI from the $100k floor up, with $500k-$1M and + $1M+ split. + + Each flagged band row becomes ``control x band / partition``: + + * ``partition`` is the sum of the same state's published bands of the + same vintage, measure and record set over the whole AGI line (under $1 + to $1M+). HT2 publishes amounts additively exactly and counts rounded + to tens, so the shares over one partition sum to one. + * ``control`` is the state's HT2 all-returns total of the latest vintage + not after the target period: the ``state_broad`` fact that already + binds as the state's return count or AGI. Congressional-district + ``_total`` rows are a processing-window subset stamped with the + wrong vintage and never anchor a state. + + The value lands at the control's period and ages with the state total + (counts never age), so a state's bands keep summing to the same share of + its bound total at every stage. The control may be older than the band: + the latest published shares scale onto the level the state total binds + at, which keeps the two consistent instead of mixing levels. + + One vintage per state and measure: the newest vintage whose published + partition is complete binds, and every other vintage's rows are dropped, + so a collapsed ``500k_plus`` row from one year never binds beside another + year's split ``500k_to_1m``/``1m_plus`` rows. A newest vintage with a gap + falls back to the next complete one. With no complete partition or no + control a state's bands are dropped, never shipped as unanchored nominal + levels; the ``irs_state_agi_top_tail`` release requirement then fails. + """ + + flagged = [ + spec + for spec in registry.specs + if spec.metadata.get(_SOI_STATE_AGI_BAND_REBASE_FLAG) == "true" + ] + if not flagged: + return registry + controls = _soi_state_agi_band_controls(facts, target_period=target_period) + band_rows = _soi_state_agi_band_rows(facts) + candidates: dict[tuple[str, str], set[tuple[str, str]]] = {} + for spec in flagged: + candidates.setdefault(_soi_state_agi_band_key_from_spec(spec), set()).add( + _soi_state_agi_band_vintage_from_spec(spec) + ) + chosen: dict[tuple[str, str], tuple[tuple[str, str], float]] = {} + for key, vintages in candidates.items(): + if key not in controls: + continue + selected = _latest_complete_state_agi_band_vintage(key, vintages, band_rows) + if selected is not None: + chosen[key] = selected + + specs: list[TargetSpec] = [] + for spec in registry.specs: + if spec.metadata.get(_SOI_STATE_AGI_BAND_REBASE_FLAG) != "true": + specs.append(spec) + continue + key = _soi_state_agi_band_key_from_spec(spec) + if key not in chosen: + continue + vintage, partition = chosen[key] + if _soi_state_agi_band_vintage_from_spec(spec) != vintage: + continue + control = controls[key] + source_period = spec.metadata.get("source_period", "") + share = spec.value / partition + factor = control.value / partition + specs.append( + replace( + spec, + value=spec.value * factor, + metadata={ + **dict(spec.metadata), + "uprating_index": f"state_total_{key[1]}", + "uprating_from_period": source_period, + # Lands at the CONTROL's period; target aging completes + # the remaining links with the state total (#488). + "uprating_to_period": control.source_period, + "uprating_index_source_period": control.source_period, + "uprating_index_source_record_id": control.source_record_id, + "uprating_factor": _format_float(factor), + "state_agi_band_share": _format_float(share), + "stale_distribution_rebased_to_active_total": "true", + }, + ) + ) + return TargetRegistry(specs, country=registry.country) + + +def _soi_state_agi_band_key_from_spec(spec: TargetSpec) -> tuple[str, str]: + return ( + spec.metadata.get("state_fips", ""), + spec.metadata.get("source_measure_id", ""), + ) + + +def _soi_state_agi_band_vintage_from_spec(spec: TargetSpec) -> tuple[str, str]: + """(source period, period-free record set) of a flagged band row.""" + return ( + spec.metadata.get("source_period", ""), + _normalized_record_set_id(spec.metadata.get("ledger_layout_record_set_id", "")), + ) + + +def _soi_state_agi_band_rows( + facts: tuple[object, ...], +) -> dict[tuple[str, str, str, str], dict[str, tuple[float, float, float]]]: + """Every published state HT2 AGI band, as ``(lower, upper, value)``. + + Keyed ``(state_fips, measure_id, period, period-free record set)`` and + then by source record id. All bands count, those below the binding floor + and negative AGI under $1 included. An identical re-emission of one id + collapses to one row; one id with two different rows raises. + """ + + groups: dict[tuple[str, str, str, str], dict[str, tuple[float, float, float]]] = {} + for fact in facts: + if _soi_state_agi_band_status(fact, _measure_id(fact)) is None: + continue + if _filing_status_label(_dimensions(fact).get("filing_status")) != "All": + continue + lower, upper = _agi_bounds(fact) + row = ( + _bound_from_metadata_value(lower), + _bound_from_metadata_value(upper), + _numeric_value(fact), + ) + key = ( + _state_fips(fact) or "", + _measure_id(fact), + str(_period_value(fact)), + _normalized_record_set_id(_str_at(fact, "layout", "record_set_id")), + ) + rows = groups.setdefault(key, {}) + source_record_id = _source_record_id(fact) + if rows.get(source_record_id, row) != row: + raise ValueError( + f"State AGI band {source_record_id} appears twice with different " + f"bounds or values: {rows[source_record_id]} and {row} " + "(microcosm#940)." + ) + rows[source_record_id] = row + return groups + + +def _state_agi_band_partition_total( + key: tuple[str, str, str, str], + rows: Mapping[str, tuple[float, float, float]], +) -> float | None: + """The sum of one group's bands if they tile the whole AGI line. + + A gap leaves the partition incomplete (``None``). Overlapping bands are a + packaging error and raise. + """ + + cursor = -float("inf") + complete = True + for lower, upper, _ in sorted(rows.values()): + if lower < cursor or upper <= lower: + state_fips, measure_id, period, record_set = key + raise ValueError( + f"Overlapping state AGI bands in {record_set} ({period}) " + f"for state {state_fips} {measure_id}: a band starting at " + f"{_format_bound(lower)} overlaps the one ending at " + f"{_format_bound(cursor)}. One vintage's bands must tile the " + "AGI line (microcosm#940)." + ) + if lower > cursor: + complete = False + cursor = upper + if not complete or cursor != float("inf"): + return None + return sum(value for _, _, value in rows.values()) + + +def _latest_complete_state_agi_band_vintage( + key: tuple[str, str], + vintages: set[tuple[str, str]], + band_rows: Mapping[ + tuple[str, str, str, str], Mapping[str, tuple[float, float, float]] + ], +) -> tuple[tuple[str, str], float] | None: + """The newest vintage of a state's bands with a complete, nonzero partition. + + Only the vintages some flagged row asks for are examined, so a malformed + vintage that could never bind cannot stop the compile. Two record sets of + one period that both tile the line are ambiguous and raise. + """ + + by_period: dict[tuple[int, int], list[tuple[str, str]]] = {} + for vintage in vintages: + by_period.setdefault(_period_key_from_value(vintage[0])[:2], []).append(vintage) + for period_key in sorted(by_period, reverse=True): + complete = [] + for vintage in sorted(by_period[period_key]): + group = (*key, *vintage) + partition = _state_agi_band_partition_total(group, band_rows.get(group, {})) + if partition: + complete.append((vintage, partition)) + if len(complete) > 1: + raise ValueError( + f"State {key[0]} {key[1]} has complete AGI band partitions in " + f"more than one record set for one period: " + f"{[vintage for vintage, _ in complete]} (microcosm#940)." + ) + if complete: + return complete[0] + return None + + +def _soi_state_agi_band_controls( + facts: tuple[object, ...], + *, + target_period: int | str, +) -> dict[tuple[str, str], _SoiTotalControl]: + """The latest state HT2 all-returns total per (state, measure).""" + + controls: dict[tuple[str, str], _SoiTotalControl] = {} + target_period_key = _period_key_from_value(target_period) + for fact in facts: + if _source_name(fact) != "irs_soi": + continue + measure_id = _measure_id(fact) + if measure_id not in _SOI_STATE_AGI_BAND_MEASURES: + continue + if not _normalized_record_set_id( + _str_at(fact, "layout", "record_set_id") + ).startswith(_SOI_STATE_AGI_BAND_CONTROL_RECORD_SET_PREFIX): + continue + state_fips = _state_fips(fact) + if _geography_level(fact) != "state" or state_fips is None: + continue + if not _is_all_income_range(fact): + continue + if _soi_return_universe_from_fact(fact) != "all_returns": + continue + period_key = _period_key(fact) + if not period_key[0] or not _not_after_target_period( + period_key, target_period_key + ): + continue + source_record_id = _source_record_id(fact) + if not source_record_id: + continue + candidate = _SoiTotalControl( + value=_numeric_value(fact), + source_period=str(_period_value(fact)), + source_record_id=source_record_id, + period_key=period_key, + ) + key = (state_fips, measure_id) + current = controls.get(key) + # Latest period wins; a same-period tie resolves on the record id so + # the choice never depends on feed order. + if current is None or (candidate.period_key[1], candidate.source_record_id) > ( + current.period_key[1], + current.source_record_id, + ): + controls[key] = candidate + return controls + + @dataclass(frozen=True) class _EitcActiveTotal: value: float @@ -2322,9 +2615,16 @@ def _latest_dynamic_target_references( target_period=target_period, ) if reference is not None: + key = _dynamic_target_key(fact) + if reference.metadata.get(_SOI_STATE_AGI_BAND_REBASE_FLAG) == "true": + # Every vintage of a state AGI band reaches the registry: + # _rebase_soi_state_agi_bands picks one vintage per state and + # measure by partition completeness, which per-band latest + # selection cannot see (microcosm#940). + key = (*key, str(_period_value(fact))) candidates.append( ( - _dynamic_target_key(fact), + key, _period_key(fact), _numeric_value(fact), _source_record_id(fact), @@ -2720,10 +3020,22 @@ def _soi_reference_from_fact( and _is_cross_period_fact(fact, target_period=target_period) and _is_soi_total_uprated_decomposition_fact(fact, measure_id) ) + # A state's Historic Table 2 AGI band binds only as a share of its own + # published partition, rebased onto the state total that binds + # (_rebase_soi_state_agi_bands), and only from the $100k floor up, for all + # filing statuses. Every other state band is refused at every vintage, so + # no state band ever binds as a raw nominal level (microcosm#940). + requires_state_agi_band_rebase = _is_soi_state_agi_band_fact(fact, measure_id) + if ( + _soi_state_agi_band_status(fact, measure_id) is not None + and not requires_state_agi_band_rebase + ): + return None if ( cross_period_agi_slice and not requires_total_eitc_uprating and not requires_total_soi_uprating + and not requires_state_agi_band_rebase ): return None status = _filing_status_label(_dimensions(fact).get("filing_status")) @@ -2771,6 +3083,8 @@ def _soi_reference_from_fact( metadata["requires_total_eitc_uprating"] = "true" if requires_total_soi_uprating: metadata["requires_total_soi_uprating"] = "true" + if requires_state_agi_band_rebase: + metadata[_SOI_STATE_AGI_BAND_REBASE_FLAG] = "true" return LedgerTargetReference( name=source_record_id, ledger_source_record_id=source_record_id, @@ -2870,6 +3184,43 @@ def _is_soi_total_uprated_decomposition_fact( return not _is_all_income_range(fact) +def _soi_state_agi_band_status( + fact: object, measure_id: str +) -> Literal["binding", "below_floor"] | None: + """Classify a state Historic Table 2 AGI band (#940). + + ``None`` unless the fact is a return count or AGI amount from a state + record set of the Historic Table 2 AGI table, at state geography, in a + bounded AGI band. Such a band is ``"binding"`` when its lower edge is at + or above :data:`US_SOI_STATE_AGI_BAND_MINIMUM_LOWER_BOUND`, and + ``"below_floor"`` otherwise. The national shape of AGI belongs to Pub 1304 + Table 1.1, so the HT2 ``us`` rows are never state bands. + """ + if measure_id not in _SOI_STATE_AGI_BAND_MEASURES: + return None + if not _normalized_record_set_id( + _str_at(fact, "layout", "record_set_id") + ).startswith(_SOI_STATE_AGI_BAND_RECORD_SET_PREFIX): + return None + if _geography_level(fact) != "state" or _state_fips(fact) is None: + return None + if _is_all_agi_range_fact(fact): + return None + lower, _ = _agi_bounds(fact) + if _bound_from_metadata_value(lower) >= US_SOI_STATE_AGI_BAND_MINIMUM_LOWER_BOUND: + return "binding" + return "below_floor" + + +def _is_soi_state_agi_band_fact(fact: object, measure_id: str) -> bool: + """Whether a fact is a state HT2 AGI band that binds (#940): a binding-floor + band (:func:`_soi_state_agi_band_status`) for all filing statuses.""" + return ( + _soi_state_agi_band_status(fact, measure_id) == "binding" + and _filing_status_label(_dimensions(fact).get("filing_status")) == "All" + ) + + def _state_income_tax_reference_from_fact( fact: object, *, @@ -3727,6 +4078,40 @@ def _str_at(obj: object, *path: str) -> str: accepted_name_substrings=(".adjusted_gross_income",), min_matches=20, ), + TargetCoverageRequirement( + requirement_id="irs_state_agi_top_tail", + label="SOI AGI of returns at $1M+ in every state", + accepted_families=("irs_soi",), + required_metadata=( + (_SOI_STATE_AGI_BAND_REBASE_FLAG, "true"), + ("source_measure_id", "adjusted_gross_income"), + ("agi_lower_bound", "1000000.0"), + ), + min_matches=len(US_STATE_FIPS_TO_POSTAL), + notes=( + "State totals leave a state's top tail free, which is what " + "progressive state rate schedules tax (microcosm#940). A feed " + "without the split Historic Table 2 state bands must fail here, " + "not ship without the constraint." + ), + ), + TargetCoverageRequirement( + requirement_id="irs_state_agi_top_tail_returns", + label="SOI returns at $1M+ AGI in every state", + accepted_families=("irs_soi",), + required_metadata=( + (_SOI_STATE_AGI_BAND_REBASE_FLAG, "true"), + ("source_measure_id", "return_count"), + ("agi_lower_bound", "1000000.0"), + ), + min_matches=len(US_STATE_FIPS_TO_POSTAL), + notes=( + "The count half of irs_state_agi_top_tail: a state's AGI above $1M " + "is pinned only by its $1M+ AGI and return count together, and " + "each measure's bands are dropped independently when its " + "partition or state total is missing (microcosm#940)." + ), + ), TargetCoverageRequirement( requirement_id="irs_wages_distribution", label="SOI wages by AGI bracket", diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/source_coverage.py b/packages/microcosm-build/src/microcosm/build/us_runtime/source_coverage.py index d37e3878e..cff3f9086 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/source_coverage.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/source_coverage.py @@ -95,6 +95,7 @@ class SourceCoverageEntry: "soi-state-2022", "soi-historic-table-2", "soi-historic-table-2-state-agi-2022", + "soi-historic-table-2-state-agi-2023", "soi-historic-table-2-state-broad-2022", "soi-historic-table-2-state-eitc-2022", "soi-congressional-district-2022", diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/target_aging.py b/packages/microcosm-build/src/microcosm/build/us_runtime/target_aging.py index c422e9f5e..a8296fa47 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/target_aging.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/target_aging.py @@ -248,8 +248,18 @@ def find_period_contract_violations( continue if metadata.get("period_contract_waiver"): continue + # The period the value is AT: a rebased row's value sits at its + # control's period (``uprating_to_period``), the period _age_spec ages + # it from. A state AGI band rebased onto an older state total + # (microcosm#940) is a row whose two periods differ. + uprated_to = ( + metadata.get("uprating_to_period") + if "uprating_factor" in metadata + else None + ) fact_period = ( - metadata.get("source_period") + uprated_to + or metadata.get("source_period") or metadata.get("ledger_fact_period") or str(spec.period) ) diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py index a8c4eea70..bde92cfe9 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py @@ -908,8 +908,9 @@ def test_package_records_the_materialized_soi_mode_not_the_parser_default( def test_pinned_feed_soi_surfaces_match_their_contracts() -> None: """On the real feed: the default ``state`` surface is Build O/P's - 3,972-spec admin contract, built only from the three Historic Table 2 - state tables at state geography; ``totals`` holds no + 3,972-spec admin contract plus the 408 state AGI-band rows of + microcosm#940 (4,380 specs), built only from the Historic Table 2 state + tables at state geography; ``totals`` holds no ``soi_fiscal_distribution`` spec; ``full`` adds exactly those specs to ``totals`` and contains ``state``. @@ -936,11 +937,13 @@ def test_pinned_feed_soi_surfaces_match_their_contracts() -> None: # Build P's ACS local contract: 102 SNAP + 51 Medicaid + 3,819 SOI admin # specs (4,459 with the 487 population marginals); Build O's 4,461 plus the - # Vermont under-$1 taxable-interest pair the compiler now excludes. + # Vermont under-$1 taxable-interest pair the compiler now excludes. The + # TY2023 state AGI bands (#940: 51 states x 4 bands x 2 measures, same + # record-set spec) add 408 SOI specs. families_count = {} for spec in state_specs: families_count[spec.family] = families_count.get(spec.family, 0) + 1 - assert families_count == {"usda_snap": 102, "cms_medicaid": 51, "irs_soi": 3819} + assert families_count == {"usda_snap": 102, "cms_medicaid": 51, "irs_soi": 4227} soi = [spec for spec in state_specs if spec.family == "irs_soi"] record_sets = {} for spec in soi: @@ -948,7 +951,7 @@ def test_pinned_feed_soi_surfaces_match_their_contracts() -> None: record_sets[key] = record_sets.get(key, 0) + 1 assert record_sets == { "irs_soi.historic_table_2.state_broad_totals.v1": 2397, - "irs_soi.historic_table_2.state_agi_counts_and_amounts.v1": 912, + "irs_soi.historic_table_2.state_agi_counts_and_amounts.v1": 1320, "irs_soi.historic_table_2.state_eitc.v1": 510, } assert {spec.metadata["ledger_geography_level"] for spec in soi} == {"state"} diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_sparse_cd.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_sparse_cd.py index e8a647496..07bede8bd 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_sparse_cd.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_sparse_cd.py @@ -903,17 +903,17 @@ def test_pinned_feed_state_cd_surface_matches_its_contract() -> None: receipt = surface.soi_receipt soi = [spec for spec in specs if spec.family == "irs_soi"] assert receipt["counts"] == { - "historic_table_2_state": 3819, + "historic_table_2_state": 4227, "cd_file_state": 302, "congressional_district": 21743, "congressional_district_by_parent_basis": { "historic_table_2": 19181, "cd_file_state_total_bridged": 2562, }, - "total": 25864, + "total": 26272, } - assert len(soi) == 25864 - assert len(specs) == 25864 + 102 + 51 + assert len(soi) == 26272 + assert len(specs) == 26272 + 102 + 51 reconciliation = module.cd_surface.state_parent_reconciliation(soi) assert len(reconciliation) == 2189 assert all(block["ok"] for block in reconciliation) diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_chronicle_feed.py b/packages/microcosm-build/tests/engine_free/us/test_us_chronicle_feed.py index 5b9012648..3f9bd565b 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_chronicle_feed.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_chronicle_feed.py @@ -31,8 +31,8 @@ _TEST_PATHS = paths_for("microcosm-build") _ROOT = _TEST_PATHS.repository -_CHRONICLE_COMMIT = "c5e5bf8aa84960c1a200ee47303b19c953092d0f" -_FACTS_SHA256 = "b85437390021777e746f507c5890305496baf5fc7f2c78ba08ddb090f4839801" +_CHRONICLE_COMMIT = "51aa40fd28e2ca81937752515e773d123fecfb71" +_FACTS_SHA256 = "965a29ac9458edb58a05184917ee4a19772fd3dc7b4588db6eb6da5803641aac" _SCHEMA_SHA256 = "bdb51e2a8115634633ba7448c4005930fd9c0bfbade5e1b079b6bc24da485d3d" @@ -55,7 +55,7 @@ def test_pin_records_the_rebuilt_bare_feed() -> None: assert pin.source_repo == "PolicyEngine/chronicle" assert pin.source_commit == _CHRONICLE_COMMIT assert pin.scope == "us_fiscal_targets" - assert pin.fact_row_count == 39158 + assert pin.fact_row_count == 40178 assert pin.facts_sha256 == _FACTS_SHA256 assert pin.consumer_fact_schema_versions == ("chronicle.consumer_fact.v3",) assert pin.consumer_fact_schema_sha256 == _SCHEMA_SHA256 @@ -137,8 +137,8 @@ def test_scope_names_every_pinned_pair_once() -> None: scope = builder.load_scope(scope_path) raw = scope["raw"] assert scope["commit"] == load_us_chronicle_feed().source_commit - assert len(scope["pairs"]) == 586 == raw["pair_count"] - assert sum(len(p) for p in scope["runs"].values()) == 62 + assert len(scope["pairs"]) == 637 == raw["pair_count"] + assert sum(len(p) for p in scope["runs"].values()) == 63 assert set(scope["runs"]) == { 2020, 2021, diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_fiscal_targets.py b/packages/microcosm-build/tests/engine_free/us/test_us_fiscal_targets.py index d9dfb311d..de4f6c682 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_fiscal_targets.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_fiscal_targets.py @@ -891,17 +891,19 @@ def test_pinned_feed_exclusion_receipt(pinned_feed_national_state_surface) -> No def test_pinned_feed_national_state_surface_restores_the_fences( pinned_feed_national_state_surface, ) -> None: - """The release surface on the pinned feed: 32,842 compiled targets after - Medicaid substitution, 5,694 national_state targets at registry - d315c75804ef, 32 CHIP rows none of them for an M-CHIP state, no - other-income row and no tips return count. Before microcosm#956 it was + """The release surface on the pinned feed: 33,250 compiled targets after + Medicaid substitution, 6,102 national_state targets at registry + f96be9f41781, 32 CHIP rows none of them for an M-CHIP state, no + other-income row and no tips return count. The 408 state AGI-band rows of + microcosm#940 (51 states x 4 bands x 2 measures) took it from 32,842 / + 5,694 at d315c75804ef on the c5e5bf8 feed; before microcosm#956 it was 32,867 / 5,719 at d5f9d854fe11, and before decision d179 dropped the ty2020 tips return count it was 32,843 / 5,695 at 386fac439e77 (docs/us-chronicle-feed-repin.md).""" registry, surface, _ = pinned_feed_national_state_surface - assert len(registry.specs) == 32_842 - assert len(surface.specs) == 5_694 - assert surface.version == "d315c75804ef" + assert len(registry.specs) == 33_250 + assert len(surface.specs) == 6_102 + assert surface.version == "f96be9f41781" chip = [ spec for spec in surface.specs @@ -5347,6 +5349,7 @@ def test_soi_income_tax_liability_satisfies_total_tax() -> None: "metadata": {"target_role": "federal_income_tax_total"}, }, *complete_agi_distribution_rows(), + *complete_state_agi_top_tail_rows(), *complete_income_source_rows(), *complete_deduction_amount_rows(), *complete_program_rows(), diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_soi_state_agi_bands.py b/packages/microcosm-build/tests/engine_free/us/test_us_soi_state_agi_bands.py new file mode 100644 index 000000000..7f03b3789 --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/us/test_us_soi_state_agi_bands.py @@ -0,0 +1,1037 @@ +"""State x AGI-band SOI targets from Historic Table 2 (microcosm#940). + +A state's Historic Table 2 AGI band binds, from the $100k floor up, as a share +of the same state's published partition, rebased onto the state all-returns +total that binds (``_rebase_soi_state_agi_bands``). The synthetic tests below +pin the rule and its invariants; the feed-gated tests check it on the pinned +Chronicle feed. +""" + +from __future__ import annotations + +import importlib.util +import math +import random +from hashlib import sha256 + +import pytest + +from microcosm.build import target_profile_coverage_gate +from microcosm.build.us_runtime import ( + US_FISCAL_TARGET_COVERAGE_REQUIREMENTS, + US_FISCAL_TARGET_REFERENCES, + compile_us_fiscal_target_registry, +) +from microcosm.build.us_runtime.fiscal_targets import ( + US_SOI_STATE_AGI_BAND_MINIMUM_LOWER_BOUND, +) +from microcosm.build.us_runtime.target_aging import age_us_dollar_targets +from microcosm.calibrate.geography_constants import US_STATE_FIPS_TO_POSTAL +from test_support.paths import paths_for + +AGI = "us:statutes/26/62#adjusted_gross_income" +POSTAL_TO_FIPS = {postal: fips for fips, postal in US_STATE_FIPS_TO_POSTAL.items()} +FLAG = "requires_state_agi_band_rebase" +MEASURES = ("return_count", "adjusted_gross_income") + +#: The ten Historic Table 2 AGI stubs, as Chronicle labels them. +BANDS: tuple[tuple[str, float | None, float | None], ...] = ( + ("under_1", None, 1), + ("1_to_10k", 1, 10_000), + ("10k_to_25k", 10_000, 25_000), + ("25k_to_50k", 25_000, 50_000), + ("50k_to_75k", 50_000, 75_000), + ("75k_to_100k", 75_000, 100_000), + ("100k_to_200k", 100_000, 200_000), + ("200k_to_500k", 200_000, 500_000), + ("500k_to_1m", 500_000, 1_000_000), + ("1m_plus", 1_000_000, None), +) +#: The TY2022 Chronicle package publishes stubs 9 and 10 summed. +COLLAPSED_BANDS = (*BANDS[:8], ("500k_plus", 500_000, None)) +BINDING_BANDS = tuple( + band + for band, lower, _ in BANDS + if lower is not None and lower >= US_SOI_STATE_AGI_BAND_MINIMUM_LOWER_BOUND +) + + +# -------------------------------------------------------------------------- +# Synthetic Chronicle facts + + +def _fact_id(name: str, period: object) -> str: + digest = sha256(f"{name}@{period}".encode()).hexdigest()[:12] + return f"{name.replace('.', '_')[:72]}_{digest}_{period}" + + +def _fact( + *, + source_record_id: str, + record_set_id: str, + measure_id: str, + value: float, + period: int, + geography_level: str, + geography_id: str, + dimensions: dict[str, str], + groupby_dimension: str, + groupby_value_id: str, + constraints: list[dict[str, object]] | None = None, + source_name: str = "irs_soi", +) -> dict[str, object]: + fact_id = _fact_id(source_record_id, period) + labels = {**dimensions, groupby_dimension: groupby_value_id} + return { + "label": f"Test label for {source_record_id}", + "aggregate_fact_key": f"ledger.aggregate_fact.v2:{fact_id}", + "semantic_fact_key": f"ledger.semantic_fact.v2:{fact_id}", + "legacy_fact_key": f"ledger.fact.v1:{fact_id}", + "lineage": {"source_record_id": source_record_id}, + "value": value, + "period": {"type": "tax_year", "value": period}, + "entity": {"name": "tax_unit"}, + "aggregation": {"method": "sum"}, + "geography": { + "level": geography_level, + "id": geography_id, + "name": f"Test geography {geography_id}", + }, + "dimensions": dict(dimensions), + "dimension_labels": {key: f"Test dimension {key}" for key in labels}, + "dimension_value_labels": { + key: {str(value): f"Test value {key}={value}"} + for key, value in labels.items() + }, + "universe_constraints": {"constraints": list(constraints or [])}, + "layout": { + "record_set_id": record_set_id, + "groupby_dimension": groupby_dimension, + "groupby_dimension_label": f"Test dimension {groupby_dimension}", + "groupby_value_id": groupby_value_id, + "groupby_value_label": ( + f"Test value {groupby_dimension}={groupby_value_id}" + ), + "measure_id": measure_id, + }, + "observed_measure": { + "source_name": source_name, + "source_table": f"{source_name} table", + "source_measure_id": measure_id, + "source_concept": measure_id, + "unit": "count" if measure_id == "return_count" else "usd", + }, + "source": { + "source_name": source_name, + "source_table": f"{source_name} table", + "vintage": f"tax_year_{period}", + "url": f"https://example.org/{fact_id}", + }, + } + + +def _band_fact( + postal: str, + period: int, + band: str, + lower: float | None, + upper: float | None, + measure_id: str, + value: float, + *, + filing_status: str = "all", + record_set_kind: str = "state_agi", +) -> dict[str, object]: + record_set_id = ( + f"irs_soi.ty{period}.historic_table_2.{record_set_kind}.{postal.lower()}" + ) + constraints = [] + if upper is not None: + constraints.append({"variable": AGI, "operator": "<", "value": upper}) + if lower is not None: + constraints.append({"variable": AGI, "operator": ">=", "value": lower}) + geography_level, geography_id = ( + ("country", "0100000US") + if postal == "US" + else ("state", f"0400000US{POSTAL_TO_FIPS[postal]}") + ) + value_id = band if filing_status == "all" else f"{filing_status}_{band}" + return _fact( + source_record_id=f"{record_set_id}.{value_id}.{measure_id}", + record_set_id=record_set_id, + measure_id=measure_id, + value=value, + period=period, + geography_level=geography_level, + geography_id=geography_id, + dimensions={"filing_status": filing_status, "income_range": band}, + groupby_dimension=AGI, + groupby_value_id=band, + constraints=constraints, + ) + + +def _state_total_fact( + postal: str, + period: int, + measure_id: str, + value: float, + *, + record_set_id: str | None = None, +) -> dict[str, object]: + record_set_id = record_set_id or ( + f"irs_soi.ty{period}.historic_table_2.state_broad.{postal.lower()}" + ) + return _fact( + source_record_id=f"{record_set_id}.all.{measure_id}", + record_set_id=record_set_id, + measure_id=measure_id, + value=value, + period=period, + geography_level="state", + geography_id=f"0400000US{POSTAL_TO_FIPS[postal]}", + dimensions={"filing_status": "all", "income_range": "all"}, + groupby_dimension="state", + groupby_value_id="all", + ) + + +def _partition( + postal: str, + period: int, + values: dict[str, tuple[float, float]], + *, + bands=BANDS, +) -> list[dict[str, object]]: + """One state's band facts: ``values[band] = (returns, agi)``.""" + facts = [] + for band, lower, upper in bands: + returns, agi = values[band] + facts.append( + _band_fact(postal, period, band, lower, upper, "return_count", returns) + ) + facts.append( + _band_fact(postal, period, band, lower, upper, "adjusted_gross_income", agi) + ) + return facts + + +def _totals(postal: str, period: int, returns: float, agi: float) -> list[dict]: + return [ + _state_total_fact(postal, period, "return_count", returns), + _state_total_fact(postal, period, "adjusted_gross_income", agi), + ] + + +#: Colorado's published TY2023 cells (23in55cmcsv.csv, sha256 d1f7c890...668f, +#: AGI_STUB 1-10: N1 and A00100 x 1000, AGI in dollars). +CO_2023 = { + "under_1": (52_560, -2_879_696_000), + "1_to_10k": (315_840, 1_452_173_000), + "10k_to_25k": (397_560, 6_852_985_000), + "25k_to_50k": (630_840, 23_652_280_000), + "50k_to_75k": (480_120, 29_575_755_000), + "75k_to_100k": (317_240, 27_490_269_000), + "100k_to_200k": (581_520, 81_135_957_000), + "200k_to_500k": (257_510, 74_198_170_000), + "500k_to_1m": (38_030, 25_370_899_000), + "1m_plus": (15_610, 47_266_883_000), +} +#: Colorado's published TY2023 all-returns total (AGI_STUB 0). +CO_2023_TOTAL_RETURNS = 3_086_830 +CO_2023_TOTAL_AGI = 314_115_675_000 +#: Colorado's TY2022 all-returns totals (22in55cmcsv.csv, AGI_STUB 0). +CO_2022_TOTAL_RETURNS = 2_972_380 +CO_2022_TOTAL_AGI = 297_676_269_000 + + +def test_colorado_fixture_adds_up_to_the_published_state_total() -> None: + """Guards the fixture itself: its ten cells sum to the file's stub 0.""" + assert sum(returns for returns, _ in CO_2023.values()) == CO_2023_TOTAL_RETURNS + assert sum(agi for _, agi in CO_2023.values()) == CO_2023_TOTAL_AGI + + +def _reference_fact(reference, value: float) -> dict[str, object]: + selector = dict(reference.ledger_selector) + source_name = str(selector.get("source_name") or reference.family) + measure_id = str( + selector.get("source_measure_id") + or selector.get("layout_measure_id") + or reference.measure + or reference.name + ) + period = selector.get("period_value") or reference.period + fact_id = _fact_id(reference.name, period) + return { + "label": f"Test label for {reference.name}", + "aggregate_fact_key": f"ledger.aggregate_fact.v2:{fact_id}", + "semantic_fact_key": f"ledger.semantic_fact.v2:{fact_id}", + "legacy_fact_key": f"ledger.fact.v1:{fact_id}", + "lineage": { + "source_record_id": reference.ledger_source_record_id + or f"source.record:{fact_id}" + }, + "value": value, + "period": { + "type": str(selector.get("period_type") or "tax_year"), + "value": period, + }, + "entity": {"name": str(selector.get("entity_name") or reference.entity)}, + "aggregation": {"method": "sum"}, + "geography": { + "level": str(selector.get("geography_level") or "country"), + "id": str(selector.get("geography_id") or "0100000US"), + "name": "Test geography", + }, + "dimensions": dict(selector.get("dimensions") or {}), + "layout": { + "record_set_id": str( + selector.get("layout_record_set_id") or f"{source_name}.record_set" + ), + "groupby_dimension": str(selector.get("layout_groupby_dimension") or ""), + "groupby_value_id": str(selector.get("layout_groupby_value_id") or "all"), + "measure_id": measure_id, + }, + "observed_measure": { + "source_name": source_name, + "source_table": str(selector.get("source_table") or f"{source_name} t"), + "source_measure_id": measure_id, + "source_concept": str(selector.get("source_concept") or measure_id), + "unit": "usd", + }, + "source": { + "source_name": source_name, + "source_table": str(selector.get("source_table") or f"{source_name} t"), + "vintage": str(period), + "url": f"https://example.org/{fact_id}", + }, + } + + +def _packaged_reference_facts() -> list[dict[str, object]]: + return [ + _reference_fact(reference, value=index + 1) + for index, reference in enumerate(US_FISCAL_TARGET_REFERENCES) + ] + + +def _compile(facts, *, target_period: int = 2024): + return compile_us_fiscal_target_registry( + [*_packaged_reference_facts(), *facts], + target_period=target_period, + allow_unaged_dollar_targets=True, + ) + + +def _band_specs(registry) -> dict[str, object]: + return { + spec.name: spec for spec in registry.specs if spec.metadata.get(FLAG) == "true" + } + + +def _cbo_agi_fact(period: int, value: float) -> dict[str, object]: + record_set_id = ( + f"cbo.revenue_projection.ty{period}.income_by_source.adjusted_gross_income" + ) + fact = _fact( + source_record_id=f"{record_set_id}.projected_amount", + record_set_id=record_set_id, + measure_id="projected_amount", + value=value, + period=period, + geography_level="country", + geography_id="0100000US", + dimensions={}, + groupby_dimension="cbo.income_source", + groupby_value_id="adjusted_gross_income", + source_name="cbo", + ) + fact["assertion"] = "source_projection" + fact["observed_measure"]["source_concept"] = "cbo.adjusted_gross_income" + fact["observed_measure"]["unit"] = "usd" + return fact + + +def _co_name(band: str, measure_id: str, period: int = 2023) -> str: + return f"irs_soi.ty{period}.historic_table_2.state_agi.co.{band}.{measure_id}" + + +# -------------------------------------------------------------------------- +# The rule + + +def test_state_bands_bind_as_shares_of_the_bound_state_total() -> None: + """TY2023 Colorado bands against the TY2022 state total that binds: each + binding band is control x band / partition, landed at the control's + period, with the share and the control named in its metadata.""" + registry = _compile( + [ + *_partition("CO", 2023, CO_2023), + *_totals("CO", 2022, CO_2022_TOTAL_RETURNS, CO_2022_TOTAL_AGI), + ] + ) + bands = _band_specs(registry) + + assert set(bands) == { + _co_name(band, measure) for band in BINDING_BANDS for measure in MEASURES + } + for measure, control, column in ( + ("return_count", CO_2022_TOTAL_RETURNS, 0), + ("adjusted_gross_income", CO_2022_TOTAL_AGI, 1), + ): + partition = sum(values[column] for values in CO_2023.values()) + for band in BINDING_BANDS: + spec = bands[_co_name(band, measure)] + share = CO_2023[band][column] / partition + assert spec.value == pytest.approx(control * share, rel=1e-12) + assert spec.metadata["state_fips"] == "08" + assert spec.metadata["uprating_from_period"] == "2023" + assert spec.metadata["uprating_to_period"] == "2022" + assert spec.metadata["uprating_index"] == f"state_total_{measure}" + assert spec.metadata["uprating_index_source_record_id"] == ( + f"irs_soi.ty2022.historic_table_2.state_broad.co.all.{measure}" + ) + assert float(spec.metadata["state_agi_band_share"]) == pytest.approx( + share, rel=1e-12 + ) + assert float(spec.metadata["uprating_factor"]) == pytest.approx( + control / partition, rel=1e-12 + ) + top = bands[_co_name("1m_plus", "adjusted_gross_income")] + assert top.metadata["agi_lower_bound"] == "1000000.0" + assert top.metadata["agi_upper_bound"] == "inf" + assert top.metadata["measure_mode"] == "sum" + assert bands[_co_name("1m_plus", "return_count")].metadata["measure_mode"] == ( + "indicator_sum" + ) + + +def test_bands_below_the_floor_and_non_state_rows_never_bind() -> None: + """The $100k floor is inclusive; national HT2 bands (Table 1.1 owns the + national shape), filing-status slices and other HT2 state tables stay + refused across periods.""" + us_bands = [ + _band_fact("US", 2023, band, lower, upper, measure, 1_000.0) + for band, lower, upper in BANDS + for measure in MEASURES + ] + single_filers = [ + _band_fact( + "CO", 2023, band, lower, upper, measure, 1_000.0, filing_status="single" + ) + for band, lower, upper in BANDS + for measure in MEASURES + ] + other_table = [ + _band_fact( + "CO", 2023, band, lower, upper, measure, 1_000.0, record_set_kind="state_x" + ) + for band, lower, upper in BANDS + for measure in MEASURES + ] + registry = _compile( + [ + *_partition("CO", 2023, CO_2023), + *_totals("CO", 2022, CO_2022_TOTAL_RETURNS, CO_2022_TOTAL_AGI), + *us_bands, + *single_filers, + *other_table, + ] + ) + names = {spec.name for spec in registry.specs} + + assert {name for name in names if ".state_agi.co." in name} == { + _co_name(band, measure) for band in BINDING_BANDS for measure in MEASURES + } + assert _co_name("100k_to_200k", "return_count") in names + assert _co_name("75k_to_100k", "return_count") not in names + assert not {name for name in names if ".historic_table_2.us." in name} + assert not {name for name in names if ".state_x." in name} + + +def test_an_older_vintage_never_binds_beside_a_newer_one() -> None: + """A collapsed TY2022 ``500k_plus`` row has no TY2023 twin, so latest-period + selection keeps it; the pass drops it because the state's newest bands + are TY2023. Only TY2023 bands bind, and they tile the line.""" + ty2022_values = {band: (100.0, 1_000_000.0) for band, _, _ in COLLAPSED_BANDS} + registry = _compile( + [ + *_partition("CO", 2022, ty2022_values, bands=COLLAPSED_BANDS), + *_partition("CO", 2023, CO_2023), + *_totals("CO", 2022, CO_2022_TOTAL_RETURNS, CO_2022_TOTAL_AGI), + ] + ) + bands = _band_specs(registry) + + assert {spec.metadata["uprating_from_period"] for spec in bands.values()} == { + "2023" + } + assert not [name for name in bands if ".500k_plus." in name] + assert len(bands) == len(BINDING_BANDS) * len(MEASURES) + + +def test_the_latest_vintage_binds_even_when_it_is_the_collapsed_one() -> None: + """With only the TY2022 package the collapsed top band binds (as a share), + and nothing below the floor does.""" + ty2022_values = {band: (100.0, 1_000_000.0) for band, _, _ in COLLAPSED_BANDS} + registry = _compile( + [ + *_partition("CO", 2022, ty2022_values, bands=COLLAPSED_BANDS), + *_totals("CO", 2022, 900.0, 9_000_000.0), + ] + ) + bands = _band_specs(registry) + + assert {name.split(".")[5] for name in bands} == { + "100k_to_200k", + "200k_to_500k", + "500k_plus", + } + for spec in bands.values(): + assert spec.value == pytest.approx(100.0 if "count" in spec.name else 1e6) + + +def test_bands_without_a_complete_partition_or_a_control_are_dropped() -> None: + """A gap in the published partition, or no state total to rebase onto, + drops the state's bands: never an unanchored nominal level.""" + gap = dict(CO_2023) + gapped = [ + fact + for fact in _partition("CO", 2023, gap) + if ".75k_to_100k." not in str(fact["lineage"]["source_record_id"]) + ] + registry = _compile( + [ + *gapped, + *_totals("CO", 2022, CO_2022_TOTAL_RETURNS, CO_2022_TOTAL_AGI), + *_partition("WY", 2023, CO_2023), + ] + ) + + assert _band_specs(registry) == {} + + +def test_congressional_district_state_totals_never_anchor_a_state() -> None: + """The CD file's ``_total`` rows are a processing-window subset with a + wrong vintage stamp; with only those, the bands are dropped.""" + cd_record_set = "irs_soi.ty2023.congressional_district_2022.all_returns" + registry = _compile( + [ + *_partition("CO", 2023, CO_2023), + _state_total_fact( + "CO", 2023, "return_count", 1.0, record_set_id=cd_record_set + ), + _state_total_fact( + "CO", 2023, "adjusted_gross_income", 1.0, record_set_id=cd_record_set + ), + ] + ) + + assert _band_specs(registry) == {} + + +def test_the_control_is_the_latest_state_total_not_after_the_target() -> None: + registry = _compile( + [ + *_partition("CO", 2023, CO_2023), + *_totals("CO", 2021, 1.0, 1.0), + *_totals("CO", 2022, CO_2022_TOTAL_RETURNS, CO_2022_TOTAL_AGI), + *_totals("CO", 2025, 5.0, 5.0), + ] + ) + controls = { + spec.metadata["uprating_index_source_record_id"] + for spec in _band_specs(registry).values() + } + + assert controls == { + f"irs_soi.ty2022.historic_table_2.state_broad.co.all.{measure}" + for measure in MEASURES + } + + +def test_overlapping_bands_of_one_vintage_are_a_packaging_error() -> None: + both_tops = [ + *_partition("CO", 2023, CO_2023), + _band_fact("CO", 2023, "500k_plus", 500_000, None, "return_count", 53_640.0), + *_totals("CO", 2022, CO_2022_TOTAL_RETURNS, CO_2022_TOTAL_AGI), + ] + + with pytest.raises(ValueError, match="Overlapping state AGI bands"): + _compile(both_tops) + + +def test_rebased_bands_age_with_the_state_total() -> None: + """End to end: the AGI bands and the state AGI total take the same + 2022->2024 link, so each band stays its exact share of the aged total; + counts never age.""" + registry = _compile( + [ + *_partition("CO", 2023, CO_2023), + *_totals("CO", 2022, CO_2022_TOTAL_RETURNS, CO_2022_TOTAL_AGI), + ] + ) + cbo = ( + _cbo_agi_fact(2022, 14_000_000_000_000), + _cbo_agi_fact(2023, 15_000_000_000_000), + _cbo_agi_fact(2024, 16_000_000_000_000), + ) + aged = { + spec.name: spec + for spec in age_us_dollar_targets(registry, cbo, target_period=2024).specs + } + link = 16 / 14 + total_agi = aged[ + "irs_soi.ty2022.historic_table_2.state_broad.co.all.adjusted_gross_income" + ] + total_returns = aged[ + "irs_soi.ty2022.historic_table_2.state_broad.co.all.return_count" + ] + + assert total_agi.value == pytest.approx(CO_2022_TOTAL_AGI * link, rel=1e-12) + assert total_returns.value == CO_2022_TOTAL_RETURNS + for band in BINDING_BANDS: + agi = aged[_co_name(band, "adjusted_gross_income")] + returns = aged[_co_name(band, "return_count")] + assert float(agi.metadata["aging_factor"]) == pytest.approx(link, rel=1e-12) + assert agi.metadata["source_period"] == "2022" + assert agi.value / total_agi.value == pytest.approx( + float(agi.metadata["state_agi_band_share"]), rel=1e-12 + ) + assert returns.metadata["aging_factor"] == "1" + assert returns.value / total_returns.value == pytest.approx( + float(returns.metadata["state_agi_band_share"]), rel=1e-12 + ) + + +@pytest.mark.parametrize( + ("requirement_id", "measure"), + [ + ("irs_state_agi_top_tail", "adjusted_gross_income"), + ("irs_state_agi_top_tail_returns", "return_count"), + ], +) +def test_release_coverage_requires_top_tail_rows_in_every_state( + requirement_id: str, measure: str +) -> None: + """Both halves of a state's $1M+ cell are release requirements: dropping + one state's row of either measure fails the gate.""" + requirement = next( + requirement + for requirement in US_FISCAL_TARGET_COVERAGE_REQUIREMENTS + if requirement.requirement_id == requirement_id + ) + facts = [] + for postal in sorted(POSTAL_TO_FIPS): + facts += _partition(postal, 2023, CO_2023) + facts += _totals(postal, 2022, CO_2022_TOTAL_RETURNS, CO_2022_TOTAL_AGI) + registry = _compile(facts) + everything = target_profile_coverage_gate(registry.specs, [requirement]) + one_state_short = target_profile_coverage_gate( + [spec for spec in registry.specs if spec.name != _co_name("1m_plus", measure)], + [requirement], + ) + + assert requirement.min_matches == 51 + assert everything.passed + assert not one_state_short.passed + + +def test_state_bands_below_the_floor_never_bind_even_in_their_own_year() -> None: + """At a target period equal to the bands' tax year nothing is cross-period, + so the floor itself must refuse sub-$100k state bands (and non-all filing + statuses); binding bands still carry the rebase flag.""" + from microcosm.build.us_runtime import fiscal_targets + + for band, lower, upper in BANDS: + for measure in MEASURES: + fact = _band_fact("CO", 2023, band, lower, upper, measure, 1_000.0) + reference = fiscal_targets._soi_reference_from_fact( + fact, target_period=2023 + ) + if band in BINDING_BANDS: + assert reference is not None, band + assert reference.metadata[FLAG] == "true" + else: + assert reference is None, band + single = _band_fact( + "CO", 2023, band, lower, upper, measure, 1_000.0, filing_status="single" + ) + assert ( + fiscal_targets._soi_reference_from_fact(single, target_period=2023) + is None + ) + + +def test_an_incomplete_newest_vintage_falls_back_to_the_last_complete_one() -> None: + """A TY2023 partition with a gap does not bind; the complete TY2022 bands + do, as shares, instead of the state losing its bands.""" + ty2022_values = {band: (100.0, 1_000_000.0) for band, _, _ in COLLAPSED_BANDS} + gapped_2023 = [ + fact + for fact in _partition("CO", 2023, CO_2023) + if ".75k_to_100k." not in str(fact["lineage"]["source_record_id"]) + ] + registry = _compile( + [ + *_partition("CO", 2022, ty2022_values, bands=COLLAPSED_BANDS), + *gapped_2023, + *_totals("CO", 2022, 900.0, 9_000_000.0), + ] + ) + bands = _band_specs(registry) + + assert bands + assert {spec.metadata["uprating_from_period"] for spec in bands.values()} == { + "2022" + } + assert {name.split(".")[5] for name in bands} == { + "100k_to_200k", + "200k_to_500k", + "500k_plus", + } + + +def test_identical_reemissions_collapse_and_conflicting_ones_raise() -> None: + """One source record id emitted twice with the same bytes is one band; + the same id with a different value is a feed error.""" + base = [ + *_partition("CO", 2023, CO_2023), + *_totals("CO", 2022, CO_2022_TOTAL_RETURNS, CO_2022_TOTAL_AGI), + ] + duplicate = dict(base[0]) + registry = _compile([*base, duplicate]) + assert len(_band_specs(registry)) == len(BINDING_BANDS) * len(MEASURES) + + conflicting = {**base[0], "value": base[0]["value"] + 10} + with pytest.raises(ValueError, match="appears twice with different"): + _compile([*base, conflicting]) + + +def test_a_malformed_vintage_that_cannot_bind_does_not_stop_the_compile() -> None: + """An overlapping TY2021 partition is never examined when the state's + newest vintage (TY2023) is complete.""" + overlapping_2021 = [ + *_partition("CO", 2021, CO_2023), + _band_fact("CO", 2021, "500k_plus", 500_000, None, "return_count", 1.0), + ] + registry = _compile( + [ + *overlapping_2021, + *_partition("CO", 2023, CO_2023), + *_totals("CO", 2022, CO_2022_TOTAL_RETURNS, CO_2022_TOTAL_AGI), + ] + ) + + assert { + spec.metadata["uprating_from_period"] for spec in _band_specs(registry).values() + } == {"2023"} + + +def test_period_contract_reads_the_period_a_rebased_band_sits_at() -> None: + """Without aging, TY2023 AGI bands rebased onto a TY2022 state total hold + 2022-level dollars: at a 2023 build they violate the period contract like + the state total they are shares of, and at a 2022 build neither does.""" + from dataclasses import replace + + from microcosm.build.us_runtime.target_aging import ( + find_period_contract_violations, + ) + from microcosm.calibrate import TargetRegistry + + compiled = _compile( + [ + *_partition("CO", 2023, CO_2023), + *_totals("CO", 2022, CO_2022_TOTAL_RETURNS, CO_2022_TOTAL_AGI), + ] + ) + # _compile waives the contract at its 2024 build; remove the waivers to + # ask the contract afresh at other build periods. + registry = TargetRegistry( + [ + replace( + spec, + metadata={ + key: value + for key, value in spec.metadata.items() + if key != "period_contract_waiver" + }, + ) + for spec in compiled.specs + ], + country="us", + ) + agi_bands = { + name + for name, spec in _band_specs(registry).items() + if spec.metadata["source_measure_id"] == "adjusted_gross_income" + } + total = "irs_soi.ty2022.historic_table_2.state_broad.co.all.adjusted_gross_income" + at_2023 = { + violation.target_name + for violation in find_period_contract_violations(registry, target_period=2023) + } + at_2022 = { + violation.target_name + for violation in find_period_contract_violations(registry, target_period=2022) + } + + assert agi_bands | {total} <= at_2023 + assert not (agi_bands | {total}) & at_2022 + + +# -------------------------------------------------------------------------- +# Invariants over generated states (Hypothesis is a workspace dependency; the +# wheels job installs no test extras, so these skip there). + + +def _generated_state_facts(draw_values, postal: str, period: int): + values = {} + for band, lower, _ in BANDS: + returns = draw_values(0, 10_000_000) + mean = (lower or 0) + draw_values(0, 5_000_000) + agi = -draw_values(0, 10**10) if band == "under_1" else returns * mean + values[band] = (float(returns), float(agi)) + return values + + +def test_rebase_invariants_hold_for_generated_partitions() -> None: + """For generated partitions and controls: every band equals control x + band / partition; the binding bands of a state sum to control x their + partition share; scaling a control scales exactly that state's bands; + and the output never depends on feed order.""" + pytest.importorskip("hypothesis") + from hypothesis import given, settings + from hypothesis import strategies as st + + states = sorted(POSTAL_TO_FIPS) + + @settings(max_examples=40, deadline=None) + @given( + chosen=st.lists(st.sampled_from(states), min_size=1, max_size=3, unique=True), + seed=st.integers(0, 2**32 - 1), + scale=st.floats(0.25, 4.0, allow_nan=False, allow_infinity=False), + ) + def check(chosen, seed, scale): + rng = random.Random(seed) + + def draw(low, high): + return rng.randint(low, high) + + facts = [] + expected = {} + controls = {} + for postal in chosen: + values = _generated_state_facts(draw, postal, 2023) + facts += _partition(postal, 2023, values) + returns_total = float(draw(1, 10_000_000)) + agi_total = float(draw(1, 10**12)) + facts += _totals(postal, 2022, returns_total, agi_total) + controls[postal] = (returns_total, agi_total) + for column, measure in enumerate(MEASURES): + partition = sum(value[column] for value in values.values()) + for band in BINDING_BANDS: + if partition == 0: + continue + expected[ + f"irs_soi.ty2023.historic_table_2.state_agi." + f"{postal.lower()}.{band}.{measure}" + ] = controls[postal][column] * values[band][column] / partition + + bands = { + name: spec.value for name, spec in _band_specs(_compile(facts)).items() + } + assert set(bands) == set(expected) + for name, value in expected.items(): + assert bands[name] == pytest.approx(value, rel=1e-9, abs=1e-6) + + shuffled = list(facts) + rng.shuffle(shuffled) + reordered = { + name: spec.value for name, spec in _band_specs(_compile(shuffled)).items() + } + assert reordered == pytest.approx(bands, rel=1e-12) + + first = chosen[0] + scaled_facts = [ + {**fact, "value": fact["value"] * scale} + if ".state_broad." in str(fact["lineage"]["source_record_id"]) + and f".{first.lower()}.all." in str(fact["lineage"]["source_record_id"]) + else fact + for fact in facts + ] + scaled = { + name: spec.value + for name, spec in _band_specs(_compile(scaled_facts)).items() + } + for name, value in bands.items(): + factor = scale if f".state_agi.{first.lower()}." in name else 1.0 + assert scaled[name] == pytest.approx(value * factor, rel=1e-9, abs=1e-6) + + check() + + +# -------------------------------------------------------------------------- +# The pinned Chronicle feed (skips where the feed is not on disk, as in CI) + + +def _load_repo_tool(name: str): + path = paths_for("microcosm-build").repository / "tools" / f"{name}.py" + spec = importlib.util.spec_from_file_location(f"_tool_{name}", path) + assert spec is not None and spec.loader is not None + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +@pytest.fixture(scope="module") +def pinned_feed_registry(): + feed_path = _load_repo_tool("build_us_target_parity_manifest").DEFAULT_FEED_PATH + if not feed_path.exists(): + pytest.skip(f"pinned feed not present at {feed_path}") + from microcosm.build.ledger_artifact import load_ledger_consumer_artifact + from microcosm.build.us_runtime import ( + default_congressional_district_vintage_crosswalk_path, + load_congressional_district_vintage_crosswalk, + ) + from microcosm.build.us_runtime.chronicle_feed import load_us_chronicle_feed + + facts = load_ledger_consumer_artifact( + feed_path, + expected_facts_sha256=load_us_chronicle_feed().facts_sha256, + expected_manifest_sha256=None, + ).facts + crosswalk = load_congressional_district_vintage_crosswalk( + default_congressional_district_vintage_crosswalk_path() + ) + registry = compile_us_fiscal_target_registry( + facts, + target_period=2024, + congressional_district_vintage_crosswalk=crosswalk, + age_targets=True, + ) + return facts, registry + + +def test_pinned_feed_binds_every_state_band_from_ty2023(pinned_feed_registry) -> None: + """51 states x 4 bands x 2 measures, all TY2023, each an exact share of + its bound state total after aging; Colorado's $1M+ rows pinned.""" + _, registry = pinned_feed_registry + bands = _band_specs(registry) + totals = { + (spec.metadata["state_fips"], spec.metadata["source_measure_id"]): spec + for spec in registry.specs + if spec.name.startswith("irs_soi.ty") + and ".historic_table_2.state_broad." in spec.name + and ".all." in spec.name + and spec.metadata.get("source_measure_id") in MEASURES + } + + assert len(bands) == 51 * len(BINDING_BANDS) * len(MEASURES) + assert {spec.metadata["uprating_from_period"] for spec in bands.values()} == { + "2023" + } + assert {name.split(".")[5] for name in bands} == set(BINDING_BANDS) + for spec in bands.values(): + key = (spec.metadata["state_fips"], spec.metadata["source_measure_id"]) + assert ( + spec.metadata["uprating_index_source_record_id"] + == (totals[key].metadata["ledger_source_record_id"]) + ) + assert spec.value / totals[key].value == pytest.approx( + float(spec.metadata["state_agi_band_share"]), rel=1e-12 + ) + + top = bands[_co_name("1m_plus", "adjusted_gross_income")] + share = 47_266_883_000 / sum(agi for _, agi in CO_2023.values()) + assert float(top.metadata["state_agi_band_share"]) == pytest.approx( + share, rel=1e-12 + ) + assert top.value == pytest.approx( + CO_2022_TOTAL_AGI * share * float(top.metadata["aging_factor"]), rel=1e-12 + ) + top_returns = bands[_co_name("1m_plus", "return_count")] + assert top_returns.value == pytest.approx( + CO_2022_TOTAL_RETURNS + * 15_610 + / sum(returns for returns, _ in CO_2023.values()), + rel=1e-12, + ) + + +def test_pinned_feed_state_bands_have_means_inside_their_edges( + pinned_feed_registry, +) -> None: + """Every state band's aged AGI per return lies inside the band.""" + _, registry = pinned_feed_registry + bands = _band_specs(registry) + for name, spec in bands.items(): + if not name.endswith(".adjusted_gross_income"): + continue + returns = bands[name.removesuffix("adjusted_gross_income") + "return_count"] + mean = spec.value / returns.value + lower = float(spec.metadata["agi_lower_bound"]) + upper = float(spec.metadata["agi_upper_bound"]) + assert lower <= mean < upper, (name, mean) + + +def test_pinned_feed_state_top_tail_agrees_with_table_1_1(pinned_feed_registry) -> None: + """Differential against the national owner of the AGI shape: summed over + the states, the aged $500k-$1M and $1M+ bands come to 97%-100% of SOI + Table 1.1's TY2023 classes aged to 2024 the same way. Table 1.1 also + counts returns filed from other areas and Puerto Rico, which no state + holds (1.2%-1.7% of these classes in the raw HT2 files), and the states' + TY2022 totals grew like the nation's to TY2023 (AGI x1.0305 in HT2 and in + Table 1.1; returns +0.19%), so the expected ratio is 0.98-0.99.""" + facts, registry = pinned_feed_registry + bands = _band_specs(registry) + table_1_1: dict[tuple[str, float, float], float] = {} + for fact in facts: + record_id = str(fact["lineage"]["source_record_id"]) + if not record_id.startswith("irs_soi.ty2023.table_1_1."): + continue + measure = record_id.rsplit(".", 1)[1] + if measure not in MEASURES: + continue + if (fact.get("dimensions") or {}).get("filing_status", "all") != "all": + continue + lower, upper = -math.inf, math.inf + for constraint in (fact.get("universe_constraints") or {}).get( + "constraints" + ) or []: + if constraint["operator"] == ">=": + lower = float(constraint["value"]) + elif constraint["operator"] == "<": + upper = float(constraint["value"]) + if (lower, upper) != (-math.inf, math.inf): + table_1_1[(measure, lower, upper)] = float(fact["value"]) + link = float( + next( + spec + for spec in registry.specs + if spec.name == "irs_soi.ty2023.table_1_1.all.adjusted_gross_income" + ).metadata["aging_factor"] + ) + + for band, lower, upper in ( + ("500k_to_1m", 500_000.0, 1_000_000.0), + ("1m_plus", 1_000_000.0, math.inf), + ): + for measure in MEASURES: + national = sum( + value + for (class_measure, class_lower, class_upper), value in ( + table_1_1.items() + ) + if class_measure == measure + and class_lower >= lower + and class_upper <= upper + ) + if measure == "adjusted_gross_income": + national *= link + states = sum( + spec.value + for name, spec in bands.items() + if name.endswith(f".{band}.{measure}") + ) + assert 0.97 <= states / national <= 1.0, (band, measure, states / national) diff --git a/test_support/microcosm_build/us_fiscal_targets.py b/test_support/microcosm_build/us_fiscal_targets.py index 7f83264f1..394d05f3a 100644 --- a/test_support/microcosm_build/us_fiscal_targets.py +++ b/test_support/microcosm_build/us_fiscal_targets.py @@ -1174,6 +1174,7 @@ def complete_coverage_targets() -> list[dict[str, object]]: return [ federal_income_tax_total_row(), *complete_agi_distribution_rows(), + *complete_state_agi_top_tail_rows(), *complete_income_source_rows(), *complete_deduction_amount_rows(), *complete_program_rows(), @@ -1184,6 +1185,30 @@ def complete_coverage_targets() -> list[dict[str, object]]: ] +def complete_state_agi_top_tail_rows() -> list[dict[str, object]]: + """$1M+ AGI and return-count state band rows for all 51 states (#940).""" + rows = [] + for postal in US_STATE_FIPS_TO_POSTAL.values(): + for measure in ("adjusted_gross_income", "return_count"): + name = ( + f"irs_soi.ty2023.historic_table_2.state_agi.{postal.lower()}." + f"1m_plus.{measure}" + ) + rows.append( + { + "name": name, + "measure": name, + "family": "irs_soi", + "metadata": { + "requires_state_agi_band_rebase": "true", + "source_measure_id": measure, + "agi_lower_bound": "1000000.0", + }, + } + ) + return rows + + def federal_income_tax_total_row() -> dict[str, object]: return { "name": "irs_soi.ty2023.table_3_3.us.all.income_tax_liability_amount", diff --git a/tools/build_us_fiscal_refresh_release.py b/tools/build_us_fiscal_refresh_release.py index 9c16a01e1..6e2f87d47 100644 --- a/tools/build_us_fiscal_refresh_release.py +++ b/tools/build_us_fiscal_refresh_release.py @@ -713,6 +713,7 @@ def _automatic_gc_suspended(): "soi-state-2022", "soi-historic-table-2", "soi-historic-table-2-state-agi-2022", + "soi-historic-table-2-state-agi-2023", "soi-historic-table-2-state-broad-2022", "soi-historic-table-2-state-eitc-2022", "soi-w2-statistics-2020", diff --git a/tools/build_us_target_parity_manifest.py b/tools/build_us_target_parity_manifest.py index 57d3238ba..0b8548ebe 100644 --- a/tools/build_us_target_parity_manifest.py +++ b/tools/build_us_target_parity_manifest.py @@ -61,7 +61,7 @@ MANIFEST_PATH = US_PACKAGE_DIR / "target_parity_manifest.json" FEED_FAMILIES_PATH = US_PACKAGE_DIR / "target_parity_feed_families.json" -DEFAULT_FEED_NAME = "consumer_facts_us_c5e5bf8.jsonl" +DEFAULT_FEED_NAME = "consumer_facts_us_51aa40f.jsonl" DEFAULT_FEED_PATH = ( Path.home() / "PolicyEngine" / "_buildh-runtime" / "inputs" / DEFAULT_FEED_NAME )