Plate 01 — Position summary
Why the organizational / individual split is the primary axis
Pennsylvania bars corporations from contributing directly to candidates (25 P.S. § 3253). Corporate money must move through a separate segregated fund, so at state level it almost never looks corporate — it arrives as PAC money. That is why this sheet carries a sponsor-tracing layer: without it, corporate influence is structurally invisible.
| Split | Amount | Share | |
|---|---|---|---|
| Organizational | $548,471,533 | 54.5% | |
| Individual | $447,446,720 | 44.4% | |
| Unresolved | $10,941,332 | 1.1% |
Plate 02 — Money received, by politician (all vehicles, all years)
One row per politician, not per committee. PA re-issues candidate filer IDs every election year and a politician often files under several vehicles at once; these are consolidated. Sort any column; the split bar shows organizational versus individual.
| Politician | Office | Party | Total | Split | Org % | Donors |
|---|
Plate 03 — Largest donors, after entity resolution
Name variants are collapsed — “Jeff Yass”, “Jeffrey Yass” and “Jeffery Yass” are one entity. 48 of the top 100 donors were fragmented across spellings before this step, so any ranking built on raw names was wrong.
Organizational donors
| Entity | Total given | Recipients |
|---|
Individual donors
| Entity | Total given | Recipients |
|---|
Plate 04 — Organizational money by industry
Industry is derived from the sponsoring organization behind each PAC, not from the PAC's own name. “Unclassified” is mostly party committees and candidate-to-candidate transfers, which have no industry — but some of it is genuinely untagged and is the main place this layer can still be improved.
| Industry | Total given | PACs |
|---|
Plate 05 — Following money through the PAC network
Most large Pennsylvania PACs are non-connected — they have no corporate sponsor by design, so “who sponsors it” is the wrong question. The right one is who funds them, and because those PACs are themselves recipients in this dataset, the answer was already in the data. Where one funder supplies 50% or more of a PAC's receipts, that becomes a directed edge and the chain is walked to its origin.
Money traced to an ultimate source
| Ultimate source | Type | $ to politicians | Vehicles | Max hops |
|---|
Chains
Read right to left: the highlighted box is the origin.
Plate 06 — Method, and what not to trust
Sources
PA Department of State full campaign finance export · City of
Philadelphia campfin_contributions · FEC bulk files filtered to
Pennsylvania. 3,157,741 rows ingested, 3,014,777 after removing cross-jurisdiction
duplicates, 1,287 reporting rollup lines excluded.
Four things to know before quoting any number
1. All donor classification is derived. No jurisdiction publishes a reliable corporate-versus-individual flag. PA has no such field at all; Philadelphia's is 92% “Not Specified”; only the FEC's entity code is dependable. Every row carries the method and a confidence score.
2. Totals are taken on primary rows only. 47% of Philadelphia dollars duplicate a PA state row for committees that file in both places. Duplicates are flagged, not deleted.
3. Entities are deliberately under-merged. A wrong merge produces a fabricated influence claim, so borderline matches go to a review queue instead. A donor's resolved total is a floor, not a ceiling.
4. Chains use a 50% dominance threshold. A PAC funded 45/45/10 by three sources has no chain edge and reads as its own origin.
Defects found by auditing output
Every meaningful error in this build was caught by checking results, not by
reasoning about the design. Four Williamses merged into one donor. A Reading PA
“John M. Arnold” folded into the Houston megadonor. Comma-stripping reversed
every federal name, so FITZPATRICK, BRIAN parsed as first-name Fitzpatrick
and federal records never matched their PA counterparts. Regexes ending in a word
boundary meant CARPENTER never matched “CARPENTERS”, and building
trades money read $8.1M instead of $29.7M. The FEC's connected-organization field is
free text for some filers and attributed Commonwealth Leaders Fund to a sponsor named
“DEATON” — a $16M misattribution.