Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions arch/source_package.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,16 @@
SOURCE_PACKAGE_RESOURCE_PACKAGE = "packages"
SOURCE_PACKAGE_ALIASES = {
"soi-table-1-1": Path("irs_soi/table_1_1"),
"soi-table-1-2": Path("irs_soi/table_1_2"),
"soi-table-1-4": Path("irs_soi/table_1_4"),
"soi-table-2-1": Path("irs_soi/table_2_1"),
"soi-table-2-5": Path("irs_soi/table_2_5"),
"soi-table-4-3": Path("irs_soi/table_4_3"),
"soi-w2-statistics-2020": Path("irs_soi/w2_statistics_2020"),
"soi-ira-traditional-contributions-2022": Path(
"irs_soi/ira_traditional_contributions_2022"
),
"soi-ira-roth-contributions-2022": Path("irs_soi/ira_roth_contributions_2022"),
}
SOURCE_ARTIFACT_CACHE_ENV = "ARCH_SOURCE_ARTIFACT_CACHE_DIR"
SOURCE_ARTIFACT_FETCH_ENV = "ARCH_SOURCE_ARTIFACT_FETCH"
Expand Down
Binary file added db/data/irs_soi/ira_contributions/22in05ira.xlsx
Binary file not shown.
Binary file added db/data/irs_soi/ira_contributions/22in06ira.xlsx
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
source_id: irs_soi
package_id: soi-ira-roth-contributions-2022
dataset: irs_soi_roth_ira_contributions_2022
source_page: https://www.irs.gov/statistics/soi-tax-stats-accumulation-and-distribution-of-individual-retirement-arrangements
table: Table 6. Taxpayers with Roth Individual Retirement Arrangement (IRA) Plan Contributions,
by Size of Contribution and Age of Taxpayer
files:
2022:
filename: 22in06ira.xlsx
source_url: https://www.irs.gov/pub/irs-soi/22in06ira.xlsx
sha256: c1fb0894cb09d2486be4510b7e6ce0b8597787725b928ab8813f577d9fb13183
size_bytes: 13617
source_table: Table 6. Taxpayers with Roth Individual Retirement Arrangement (IRA)
Plan Contributions, by Size of Contribution and Age of Taxpayer
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-ira-roth-contributions-2022/2022/c1fb0894cb09d2486be4510b7e6ce0b8597787725b928ab8813f577d9fb13183/22in06ira.xlsx
uri: r2://arch-raw/raw/irs_soi/soi-ira-roth-contributions-2022/2022/c1fb0894cb09d2486be4510b7e6ce0b8597787725b928ab8813f577d9fb13183/22in06ira.xlsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
source_id: irs_soi
package_id: soi-ira-traditional-contributions-2022
dataset: irs_soi_traditional_ira_contributions_2022
source_page: https://www.irs.gov/statistics/soi-tax-stats-accumulation-and-distribution-of-individual-retirement-arrangements
table: Table 5. Taxpayers with Traditional Individual Retirement Arrangement (IRA)
Plan Contributions, by Size of Contribution and Age of Taxpayer
files:
2022:
filename: 22in05ira.xlsx
source_url: https://www.irs.gov/pub/irs-soi/22in05ira.xlsx
sha256: 31ce9dd2fe631b336170af339bd7e9de86901cd20dbfd4cb8fb1c9a1d55cd90f
size_bytes: 13932
source_table: Table 5. Taxpayers with Traditional Individual Retirement Arrangement
(IRA) Plan Contributions, by Size of Contribution and Age of Taxpayer
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-ira-traditional-contributions-2022/2022/31ce9dd2fe631b336170af339bd7e9de86901cd20dbfd4cb8fb1c9a1d55cd90f/22in05ira.xlsx
uri: r2://arch-raw/raw/irs_soi/soi-ira-traditional-contributions-2022/2022/31ce9dd2fe631b336170af339bd7e9de86901cd20dbfd4cb8fb1c9a1d55cd90f/22in05ira.xlsx
Binary file added db/data/irs_soi/table_1_2/21in12ms.xls
Binary file not shown.
Binary file added db/data/irs_soi/table_1_2/22in12ms.xls
Binary file not shown.
Binary file added db/data/irs_soi/table_1_2/23in12ms.xls
Binary file not shown.
42 changes: 42 additions & 0 deletions db/data/irs_soi/table_1_2/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
source_id: irs_soi
package_id: soi-table-1-2
dataset: irs_soi_soi-table-1-2
source_page: https://www.irs.gov/statistics/soi-tax-stats-individual-income-tax-returns-complete-report-publication-1304-basic-tables-part-1
table: Publication 1304 Table 1.2
files:
2023:
filename: 23in12ms.xls
source_url: https://www.irs.gov/pub/irs-soi/23in12ms.xls
sha256: 549861a1c7b38256abf9506a6111dcf82110266d0168199dfa465a5d61134490
size_bytes: 62464
fetched_at: '2026-05-11T11:40:08+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-1-2/2023/549861a1c7b38256abf9506a6111dcf82110266d0168199dfa465a5d61134490/23in12ms.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-1-2/2023/549861a1c7b38256abf9506a6111dcf82110266d0168199dfa465a5d61134490/23in12ms.xls
2021:
filename: 21in12ms.xls
source_url: https://www.irs.gov/pub/irs-soi/21in12ms.xls
sha256: 5f68dae68357e3e1b8669389722c4e4d00030a9d1f4d77a41b4e2bce84b74643
size_bytes: 61952
fetched_at: '2026-05-11T12:24:07+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-1-2/2021/5f68dae68357e3e1b8669389722c4e4d00030a9d1f4d77a41b4e2bce84b74643/21in12ms.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-1-2/2021/5f68dae68357e3e1b8669389722c4e4d00030a9d1f4d77a41b4e2bce84b74643/21in12ms.xls
2022:
filename: 22in12ms.xls
source_url: https://www.irs.gov/pub/irs-soi/22in12ms.xls
sha256: ffc483e16aa05762c5ac6dfdbfa86250cd4db5969b1cf6db2296539601a54503
size_bytes: 62464
fetched_at: '2026-05-11T12:24:07+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-1-2/2022/ffc483e16aa05762c5ac6dfdbfa86250cd4db5969b1cf6db2296539601a54503/22in12ms.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-1-2/2022/ffc483e16aa05762c5ac6dfdbfa86250cd4db5969b1cf6db2296539601a54503/22in12ms.xls
Binary file added db/data/irs_soi/table_2_1/21in21id.xls
Binary file not shown.
Binary file added db/data/irs_soi/table_2_1/22in21id.xls
Binary file not shown.
Binary file added db/data/irs_soi/table_2_1/23in21id.xls
Binary file not shown.
42 changes: 42 additions & 0 deletions db/data/irs_soi/table_2_1/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
source_id: irs_soi
package_id: soi-table-2-1
dataset: irs_soi_soi-table-2-1
source_page: https://www.irs.gov/statistics/soi-tax-stats-individual-income-tax-returns-complete-report-publication-1304-basic-tables-part-2
table: Publication 1304 Table 2.1
files:
2023:
filename: 23in21id.xls
source_url: https://www.irs.gov/pub/irs-soi/23in21id.xls
sha256: df6cf04ed3b716dd670db055755528916ef02d59967e1af3ead59cc48bd4de80
size_bytes: 75776
fetched_at: '2026-05-11T11:44:21+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-2-1/2023/df6cf04ed3b716dd670db055755528916ef02d59967e1af3ead59cc48bd4de80/23in21id.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-2-1/2023/df6cf04ed3b716dd670db055755528916ef02d59967e1af3ead59cc48bd4de80/23in21id.xls
2021:
filename: 21in21id.xls
source_url: https://www.irs.gov/pub/irs-soi/21in21id.xls
sha256: 726318d6f72f11aa9b948a3c33fa99099fe0f856c106dfd2be76b9bcc06ed5f3
size_bytes: 73216
fetched_at: '2026-05-11T12:24:07+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-2-1/2021/726318d6f72f11aa9b948a3c33fa99099fe0f856c106dfd2be76b9bcc06ed5f3/21in21id.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-2-1/2021/726318d6f72f11aa9b948a3c33fa99099fe0f856c106dfd2be76b9bcc06ed5f3/21in21id.xls
2022:
filename: 22in21id.xls
source_url: https://www.irs.gov/pub/irs-soi/22in21id.xls
sha256: 0ebe525448c24c3a8fb99ca57136be27a97dcea24c04230670886c00b1db7ed9
size_bytes: 77312
fetched_at: '2026-05-11T12:24:07+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-2-1/2022/0ebe525448c24c3a8fb99ca57136be27a97dcea24c04230670886c00b1db7ed9/22in21id.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-2-1/2022/0ebe525448c24c3a8fb99ca57136be27a97dcea24c04230670886c00b1db7ed9/22in21id.xls
Binary file added db/data/irs_soi/table_2_5/20in25ic.xls
Binary file not shown.
Binary file added db/data/irs_soi/table_2_5/21in25ic.xls
Binary file not shown.
Binary file added db/data/irs_soi/table_2_5/22in25ic.xls
Binary file not shown.
Binary file added db/data/irs_soi/table_2_5/23in25ic.xls
Binary file not shown.
54 changes: 54 additions & 0 deletions db/data/irs_soi/table_2_5/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
source_id: irs_soi
package_id: soi-table-2-5
dataset: irs_soi_soi-table-2-5
source_page: https://www.irs.gov/statistics/soi-tax-stats-individual-income-tax-returns-complete-report-publication-1304-basic-tables-part-2
table: Publication 1304 Table 2.5
files:
2023:
filename: 23in25ic.xls
source_url: https://www.irs.gov/pub/irs-soi/23in25ic.xls
sha256: c6a58f637e42e83248b1f6f336fddc5d94ac91e04ccf68b1d089291d2d5fe1a5
size_bytes: 55296
fetched_at: '2026-05-11T11:50:29+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-2-5/2023/c6a58f637e42e83248b1f6f336fddc5d94ac91e04ccf68b1d089291d2d5fe1a5/23in25ic.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-2-5/2023/c6a58f637e42e83248b1f6f336fddc5d94ac91e04ccf68b1d089291d2d5fe1a5/23in25ic.xls
2021:
filename: 21in25ic.xls
source_url: https://www.irs.gov/pub/irs-soi/21in25ic.xls
sha256: d4429c04a101b70cf23c6412f3246a3bc6a7244bad99f3561e54c302007f3285
size_bytes: 54784
fetched_at: '2026-05-11T12:24:30+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-2-5/2021/d4429c04a101b70cf23c6412f3246a3bc6a7244bad99f3561e54c302007f3285/21in25ic.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-2-5/2021/d4429c04a101b70cf23c6412f3246a3bc6a7244bad99f3561e54c302007f3285/21in25ic.xls
2022:
filename: 22in25ic.xls
source_url: https://www.irs.gov/pub/irs-soi/22in25ic.xls
sha256: bd890a09ef3a35c577dcc9d94272a7ee40d836453c686d70599372b48b863884
size_bytes: 55296
fetched_at: '2026-05-11T12:24:30+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-2-5/2022/bd890a09ef3a35c577dcc9d94272a7ee40d836453c686d70599372b48b863884/22in25ic.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-2-5/2022/bd890a09ef3a35c577dcc9d94272a7ee40d836453c686d70599372b48b863884/22in25ic.xls
2020:
filename: 20in25ic.xls
source_url: https://www.irs.gov/pub/irs-soi/20in25ic.xls
sha256: 28f8823857b345b59575038736011dfb750ba362df38ddb0b4b9b591a1cc7135
size_bytes: 61440
fetched_at: '2026-05-11T21:26:57+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-2-5/2020/28f8823857b345b59575038736011dfb750ba362df38ddb0b4b9b591a1cc7135/20in25ic.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-2-5/2020/28f8823857b345b59575038736011dfb750ba362df38ddb0b4b9b591a1cc7135/20in25ic.xls
Binary file added db/data/irs_soi/table_4_3/21in43ts.xls
Binary file not shown.
Binary file added db/data/irs_soi/table_4_3/22in43ts.xls
Binary file not shown.
Binary file added db/data/irs_soi/table_4_3/23in43ts.xls
Binary file not shown.
42 changes: 42 additions & 0 deletions db/data/irs_soi/table_4_3/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
source_id: irs_soi
package_id: soi-table-4-3
dataset: irs_soi_soi-table-4-3
source_page: https://www.irs.gov/statistics/soi-tax-stats-individual-income-tax-returns-complete-report-publication-1304-basic-tables-part-4
table: Publication 1304 Table 4.3
files:
2023:
filename: 23in43ts.xls
source_url: https://www.irs.gov/pub/irs-soi/23in43ts.xls
sha256: 4a65447b858f14cb39c6fdc1935c9f4cb8ee0a0c4c245baf263c29d80d1a49c8
size_bytes: 58880
fetched_at: '2026-05-11T11:53:23+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-4-3/2023/4a65447b858f14cb39c6fdc1935c9f4cb8ee0a0c4c245baf263c29d80d1a49c8/23in43ts.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-4-3/2023/4a65447b858f14cb39c6fdc1935c9f4cb8ee0a0c4c245baf263c29d80d1a49c8/23in43ts.xls
2022:
filename: 22in43ts.xls
source_url: https://www.irs.gov/pub/irs-soi/22in43ts.xls
sha256: cb36e5fbd7862f54067801c4ee7abac45cc94c10ef8aed4c30adca9cdac85e4c
size_bytes: 58880
fetched_at: '2026-05-11T12:24:30+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-4-3/2022/cb36e5fbd7862f54067801c4ee7abac45cc94c10ef8aed4c30adca9cdac85e4c/22in43ts.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-4-3/2022/cb36e5fbd7862f54067801c4ee7abac45cc94c10ef8aed4c30adca9cdac85e4c/22in43ts.xls
2021:
filename: 21in43ts.xls
source_url: https://www.irs.gov/pub/irs-soi/21in43ts.xls
sha256: c2c4717067e661d62d4615b1147f41d780dc769ad4ee30cc0f03c07270700709
size_bytes: 58880
fetched_at: '2026-05-11T12:24:30+00:00'
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-table-4-3/2021/c2c4717067e661d62d4615b1147f41d780dc769ad4ee30cc0f03c07270700709/21in43ts.xls
uri: r2://arch-raw/raw/irs_soi/soi-table-4-3/2021/c2c4717067e661d62d4615b1147f41d780dc769ad4ee30cc0f03c07270700709/21in43ts.xls
Binary file added db/data/irs_soi/w2_statistics/20in04w2all.xlsx
Binary file not shown.
20 changes: 20 additions & 0 deletions db/data/irs_soi/w2_statistics/manifest_2020_source_package.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
source_id: irs_soi
package_id: soi-w2-statistics-2020
dataset: irs_soi_w2_statistics_2020
source_page: https://www.irs.gov/statistics/soi-tax-stats-individual-information-return-form-w2-statistics
table: Table 4.B. Summary of Items for Taxpayers with Form W-2, by Return and Earner
Type, Tax Year 2020
files:
2020:
filename: 20in04w2all.xlsx
source_url: https://www.irs.gov/pub/irs-soi/20in04w2all.xlsx
sha256: 1178d77618cc1d2f873506909eeec660f36e3599854f31337f9dcaec6cfc442f
size_bytes: 25491
source_table: Table 4.B. Summary of Items for Taxpayers with Form W-2, by Return
and Earner Type, Tax Year 2020
storage:
r2:
provider: r2
bucket: arch-raw
key: raw/irs_soi/soi-w2-statistics-2020/2020/1178d77618cc1d2f873506909eeec660f36e3599854f31337f9dcaec6cfc442f/20in04w2all.xlsx
uri: r2://arch-raw/raw/irs_soi/soi-w2-statistics-2020/2020/1178d77618cc1d2f873506909eeec660f36e3599854f31337f9dcaec6cfc442f/20in04w2all.xlsx
66 changes: 66 additions & 0 deletions packages/irs_soi/ira_roth_contributions_2022/source_package.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
schema_version: arch.source_package.v1
package_id: soi-ira-roth-contributions-2022
label: IRS SOI 2022 Roth IRA contribution totals
artifact:
source_name: irs_soi
source_table: Table 6. Taxpayers with Roth Individual Retirement Arrangement (IRA) Plan Contributions, by Size of Contribution and Age of Taxpayer
resource_package: db
resource_directory: data/irs_soi/ira_contributions
manifest: manifest_roth_source_package.yaml
vintage: tax_year_{year}
extracted_at: '2026-05-08'
extraction_method: xlsx whole-workbook used-range cell parse
parser: xlsx_used_range
artifact_year: 2022
record_sets:
- record_set_id: irs_soi.ty{year}.roth_ira_contributions.all_taxpayers
record_set_spec_id: irs_soi.roth_ira_contributions.all_taxpayers.v1
source_record_id_prefix: irs_soi.ty{year}.roth_ira_contributions.all_taxpayers
sheet_name: Sheet1
period_type: tax_year
period: '{year}'
geography_id: 0100000US
geography_level: country
geography_name: United States
geography_vintage: current
entity: tax_unit
entity_role: filing_unit
domain: individual_retirement_arrangement_contributions
groupby_dimension: irs_soi.ira_contribution_size
rows:
- value_id: all_taxpayers
label: All taxpayers
ordinal: 0
row_number: 8
expected_row_header_column: A
expected_row_header: All taxpayers
table_record_kind: total
guard_cells:
- column: B
row: 4
expected_value: Total
label: total contribution size
measures:
- measure_id: taxpayer_count
label: Number of taxpayers
ordinal: 0
column: B
source_column_id: number_of_taxpayers
expected_column_header_row: 5
expected_column_header: "Number of \ntaxpayers"
concept: irs_soi.roth_ira_contributors
unit: count
aggregation: count
expected_cell_type: number
- measure_id: amount
label: Contribution amount
ordinal: 1
column: C
source_column_id: amount
expected_column_header_row: 5
expected_column_header: Amount
concept: irs_soi.roth_ira_contributions
unit: usd
aggregation: sum
value_scale: 1000
expected_cell_type: number
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
schema_version: arch.source_package.v1
package_id: soi-ira-traditional-contributions-2022
label: IRS SOI 2022 Traditional IRA contribution totals
artifact:
source_name: irs_soi
source_table: Table 5. Taxpayers with Traditional Individual Retirement Arrangement (IRA) Plan Contributions, by Size of Contribution and Age of Taxpayer
resource_package: db
resource_directory: data/irs_soi/ira_contributions
manifest: manifest_traditional_source_package.yaml
vintage: tax_year_{year}
extracted_at: '2026-05-08'
extraction_method: xlsx whole-workbook used-range cell parse
parser: xlsx_used_range
artifact_year: 2022
record_sets:
- record_set_id: irs_soi.ty{year}.traditional_ira_contributions.all_taxpayers
record_set_spec_id: irs_soi.traditional_ira_contributions.all_taxpayers.v1
source_record_id_prefix: irs_soi.ty{year}.traditional_ira_contributions.all_taxpayers
sheet_name: Sheet1
period_type: tax_year
period: '{year}'
geography_id: 0100000US
geography_level: country
geography_name: United States
geography_vintage: current
entity: tax_unit
entity_role: filing_unit
domain: individual_retirement_arrangement_contributions
groupby_dimension: irs_soi.ira_contribution_size
rows:
- value_id: all_taxpayers
label: All taxpayers
ordinal: 0
row_number: 8
expected_row_header_column: A
expected_row_header: All taxpayers
table_record_kind: total
guard_cells:
- column: B
row: 4
expected_value: Total
label: total contribution size
measures:
- measure_id: taxpayer_count
label: Number of taxpayers
ordinal: 0
column: B
source_column_id: number_of_taxpayers
expected_column_header_row: 5
expected_column_header: "Number of \ntaxpayers"
concept: irs_soi.traditional_ira_contributors
unit: count
aggregation: count
expected_cell_type: number
- measure_id: amount
label: Contribution amount
ordinal: 1
column: C
source_column_id: amount
expected_column_header_row: 5
expected_column_header: Amount
concept: irs_soi.traditional_ira_contributions
unit: usd
aggregation: sum
value_scale: 1000
expected_cell_type: number
Loading
Loading