Methodology, Entity Resolution & Statutory Guardrails
1. Primary Public Data Sources & Statutory Guardrails
| Source Agency / Dataset | Forms & Bulk Files Ingested | Coverage Window | Statutory Guardrail & Deduplication Rule |
|---|---|---|---|
| Nebraska Accountability & Disclosure Commission (NADC) | Forms A-1, B-1AB/C/D, B-2A/B, B-4A/B1/B3, B-5, B-7, B-9, and Lobbyist/Principal (`lforma/b/c`) | 1999–2026 (43,964 rcpts, 33,858 exps in 2024) | Neb. Rev. Stat. § 49-14,132: Non-commercial public-interest research; individual contributor names suppressed into “Individuals (aggregate)”. |
| Federal Election Commission (FEC) | Committee master (`cm`), candidate linkage (`ccl`), `webl`, `webk`, `oth`/`pas2`, Schedule E IEs, ActBlue (`C00401224`) | 2016–Present cycles | 52 U.S.C. § 30111(a)(4): Sale or commercial use of contributor data prohibited; ActBlue conduit earmarks deduplicated and ZIP3 cells < 5 donors suppressed. |
| IRS Exempt Organizations BMF & Form 990 XML | 56+ state/regional IRS BMF extracts (1.9M+ EINs) + electronic Form 990 Schedule I & Schedule C XML filings | TY 2016–2024 + current BMF | 990 Schedule I grants are labeled final use undisclosed and never conflated with earmarked NADC/FEC campaign contributions. |
| USAspending.gov Federal Assistance API | Federal grant and cooperative agreement awards (assistance types 02–05) to Nebraska recipients | FY 2015–Present | 31 U.S.C. § 1352 (Byrd Amendment): Federal grants cannot be used for lobbying or campaign intervention; shown as distinct public stream. |
2. Deterministic Multi-Stage Entity Classifier & Legacy/Modern ID Bridge
Every committee, supplemental filer, contributor, expenditure payee, grant recipient, ballot measure funder, and network node across all 18 reporting periods is resolved through a deterministic multi-stage classifier (etl/classify.py + data/nadc_master_lookup.json):
- Exact EIN / FEC Committee ID / NADC Org ID Lookup: Matches against the IRS EO BMF (1.9M EINs), FEC Committee Master, and NADC Master Lookup (54,642 canonical entries bridging legacy NADC IDs like
99PAC00020, Form B-4/B-1 filing IDs likenadc-8822, and modern NADC Org IDs likenadc-7765). - NADC Filer & Contributor Type Resolution: Distinguishes Candidate committees (
C), Ballot question committees (B), Party committees (P), Separate segregated PACs, Independent PACs (I), Labor unions (501(c)(5)), Trade/business associations (501(c)(6)), Social-welfare advocacy orgs (501(c)(4)), Charitable nonprofits (501(c)(3)), Government agencies/universities, For-profit businesses, and Individual Supplemental Filers (Form B-7 / B-6). - Expenditure Payee & Purpose Classification: Classifies NADC expenditure payees and ballot/party vendors across advertising/media buyers, political strategy & polling firms, canvass/field operations, legal/compliance firms, and administrative vendors.
3. Netting Inter-Committee Transfers
NADC: A receipt is treated as an inter-committee transfer when its source type is a committee and its name matches another NADC filer; net receipts = receipts − transfers in.
FEC: net receipts = total receipts − transfers from affiliated/authorized committees (and, for PACs, contributions from other committees). Committee-to-committee edges use the giving committee's report only (memo entries and independent expenditures excluded) so each dollar appears once.
4. Reporting Periods & Single-Year vs. Cycle Scope
The global period selector offers two-year election cycles (`2016`–`2026`) and single calendar years (`y2015`–`y2026`), generated automatically from the current date each nightly refresh — off-years included. NADC 2022+ data comes from that reporting year's bulk extract; NADC 2015–2020 legacy data, FEC committee-to-committee transfers, and ActBlue earmarks are split by transaction date. Because the FEC publishes committee summary totals (`webl`/`webk`) per two-year cycle only, single-year views clearly label cycle-level FEC summary figures.
Data built 2026-10-24 03:22 CT · Period 2023-24 cycle counts: {"nadc_receipt_rows":43964,"nadc_expenditure_rows":33858,"fec_ne_committees_with_totals":63,"fec_transfer_rows":10987,"fec_actblue_earmark_rows":37823,"usaspending_raw_rows":100,"usaspending_recipients":93,"propublica_ein_links":28,"propublica_c4_sample":100,"propublica_c6_sample":100,"entities":3063,"flow_edges":5094}