Every election year the same file gets drawn as a circle. A candidate’s money, cut into slices: from individual people, from political action committees, from the party, from the candidate’s own pocket. The circle is offered as the plain-language version of the filing, the part a reader can take in without arithmetic.
That is a claim, and it can be tested. Can a reader get a candidate’s finances off the circle? And if not, can they get them off the radar chart usually reached for instead?
This matters for a reason that has nothing to do with campaign finance. Most people meet political data as a picture rather than as a table. When the picture cannot carry the comparison a reader is making, the drawing has decided the conclusion, and nothing on the page says so.
The evidence is one file drawn twice: in the two forms this brief is about, and as plain bars. The file is the summary the Federal Election Commission publishes for every candidate’s committee each election cycle, downloadable from its bulk-data page at https://www.fec.gov/data/browse-data/?tab=bulk-data; for 2023–24 it is 3,856 rows, one per candidate who filed, each carrying total receipts and a breakdown by source. It is the file these charts are actually made from every cycle.
A mandatory disclosure filing is the right evidence for two reasons. It is a complete count rather than a sample, so nothing below is an artifact of who happened to answer. And its categories were drawn by statute, so nobody can say a better analyst would have picked tidier ones. What such a filing is and what it can bear is the subject of this cluster’s campaign-finance chapter.
The table is the same file the campaign-finance brief reads, with the Commission’s column names attached. One row is one candidacy. Here are the six money columns for a single candidate:
| Source | Dollars | Share |
|---|---|---|
| From individuals | $15,936,794 | 69.4% |
| From PACs | $2,639,351 | 11.5% |
| From the party | $418 | 0.0% |
| The candidate’s own money | $0 | 0.0% |
| Transferred in | $4,384,634 | 19.1% |
| Everything else | $16,000 | 0.1% |
| Column | What it holds | Measurement |
|---|---|---|
| cand_id | the FEC’s identifier for a candidacy, not for a person | identifier |
| cand_name | the candidate’s name as filed, in whatever form the committee used | text |
| ttl_receipts | everything the committee took in during the cycle | continuous |
| indiv_contrib | money from people, in their own names | continuous |
| pac_contrib | money from political action committees | continuous |
| party_contrib | money from the candidate’s own party committee | continuous |
| self_funding | the candidate’s own money: contributions plus loans, added here | continuous |
| trans_from_auth | money moved in from another committee the candidate controls | continuous |
| other | the receipts left over, computed here as the total minus the five above | continuous |
Three of those columns are not in the download, and each one is a repair a pie chart requires before it can be drawn at all.
The FEC’s categories overlap.
self_funding is exactly cand_contrib plus
cand_loans, in all 3,856 rows. It is a subtotal sitting
beside its own two parts, and this brief checks that identity in every
row rather than assuming it. Drawn as it comes, a pie counts the
candidate’s own money twice and shrinks every other slice to make room,
so only the subtotal is kept.
The published sources do not add up. The five
remaining fields fall short of ttl_receipts, so a sixth
column, other, is computed here. It is a residual: what is
left over after you subtract the five named sources from the total. It
is usually small — for the candidate in the middle of the file, the
median, 0.53% of receipts — and not always. Thune raised 41.1% of
everything outside the five. Without that slice the pie would stretch
the five it has until they filled the circle.
Some of the numbers are negative. 14 candidates report negative individual contributions, because refunds during the period exceeded receipts. The smallest is $-118,173. A bar chart draws that below the axis. A pie cannot draw it at all, because there is no negative angle in a circle that sums to 360 degrees.
One more thing has to be true before a pie of this file means anything, and it is not. The file contains the same dollars more than once.
| Candidate ID | Name | Office | State | Receipts |
|---|---|---|---|---|
| P80000722 | BIDEN, JOSEPH R JR | President | 00 | $1,175,189,365 |
| P00009423 | HARRIS, KAMALA | President | 00 | $1,175,189,365 |
| H4AZ07043 | GALLEGO, RUBEN | House | AZ | $64,657,200 |
| S4AZ00139 | GALLEGO, RUBEN | Senate | AZ | $64,657,200 |
| H6MD08549 | TRONE, DAVID | House | MD | $63,833,137 |
| S4MD00319 | TRONE, DAVID | Senate | MD | $63,833,137 |
| H0CA27085 | SCHIFF, ADAM | House | CA | $48,149,197 |
| S4CA00555 | SCHIFF, ADAM | Senate | CA | $48,149,197 |
| H6NV03139 | ROSEN, JACKY | House | NV | $43,915,245 |
| S8NV00156 | ROSEN, JACKY | Senate | NV | $43,915,245 |
A person who files for two offices, or whose committee is renamed, gets a candidate record for each, and the FEC reports the committee’s totals under every one of them. 313 records in 142 groups report receipts identical to the cent. The largest pair is BIDEN, JOSEPH R JR and HARRIS, KAMALA, each carrying $1,175,189,365, because Biden’s committee was renamed for Harris and both candidate IDs inherited its totals.
Added up as filed, those 313 records hold $3.14 billion. Counted once each they hold $1.57 billion. A chart of “all money raised in 2024” built from this file without checking contains $1.57 billion that does not exist. This brief drops 171 duplicate records and works with 3,685.
Before you look at the figures, commit to a guess. Two campaigns below are drawn as pies. One of them raised $23.0m and the other $3.3m. Looking only at the two circles, how would you tell which is which? Write down what you would look for.
Figure 1. Two campaigns as pies, and the same numbers as bars. The circles are Jeffries and Teirab. Pies are the form under test, and bars are the control: both panels hold identical numbers, so any difference between them is the drawing rather than the data. In print both panels are shown; on screen the button switches between them.
The two pies are the same picture. No slice differs from its counterpart by more than 2.06 percentage points, a difference no eye can resolve at any size. And one of these campaigns raised 7.0 times as much as the other: $23.0m against $3.3m.
Take the largest slice in each circle, the money from individual people. In Jeffries’s pie it is 69.4% of the circle, in Teirab’s 71.0%: two wedges of the same angle, which the eye reads as the same amount. Now read the same two numbers off the bars, which are drawn in dollars. Jeffries’s bar stands for $15.9m and Teirab’s for $2.3m, and the first is about 6.8 times as long as the second. The pie did not distort that gap. It threw the number away, because a slice is a share of its own circle and nothing more, and these are shares of two different wholes.
That is not a distortion. It is the pie chart working as designed. A pie is drawn from shares, and its radius carries no information. Two pies are never comparable unless somebody writes the totals underneath, and at that point the reader is doing the comparison from the text, with the circles as decoration.
Now press the button, or look at the lower panel. The bars sit on a shared dollar axis and the question answers itself.
The second failure is inside a single pie. Try to rank Teirab’s three smallest sources from the circle alone. Together they are 1.26% of Teirab’s receipts — about 4.5 degrees of the circle’s 360, all three of them — and you are being asked to put them in order. You cannot, and it is not your fault. Cleveland and McGill (1984) measured how accurately people read the ways a number can be turned into a mark — a position, a length, an angle, an area, a shade — and found a clear order: position along a common scale first, then length, then angle and area near the bottom.1 A pie uses two of the worst three. The bar chart uses the best one.
A radar chart, also called a spider or star chart, looks like the fix. It puts each variable on its own spoke, plots the value along it, and joins the points into a polygon. It can hold several candidates at once, and it shows magnitudes rather than shares. It introduces a worse problem than the one it solves.
Figure 2. One candidate, six axes, and every way of ordering them. Pick a campaign with the buttons. Reorder the axes steps through all 60 distinct arrangements of the six spokes. Not a single number changes, and the polygon does. The strip on the right marks the area of every arrangement, with the current one in red. In print, six of the 60 arrangements for Steel are shown side by side.
Press it a few times. The area of the shape is a property of the order the axes were put in, and that order is a decision the chart never records. The arithmetic is not subtle. For 6 axes at equal angles with radii , the area is
In words: the polygon is a ring of 6 triangles, one between each pair of neighbouring spokes, and each triangle’s size comes from multiplying the two spoke lengths it sits between. Every term is a product of adjacent radii. Put the two largest values next to each other and the area is large; separate them and it collapses. The axes here are funding sources, and there is no sense in which PAC money comes “after” party money, so all 60 arrangements are equally defensible.
| Campaign | Profile | Smallest area | Largest area | Ratio |
|---|---|---|---|---|
| Harris | almost all from individuals and transfers | 0.0000 | 0.1080 | 3947× |
| Trone | almost all the candidate’s own money | 0.0000 | 0.0064 | 12701× |
| Scalise | almost all transferred in | 0.0001 | 0.0653 | 1115× |
| Smith | the most PAC-funded campaign in the file | 0.0002 | 0.1077 | 496× |
| Steel | the most evenly spread profile in the file | 0.0344 | 0.0846 | 2.46× |
The sparse profiles are the extreme cases, and they should be set aside. Trone raised almost everything from one source, so five of the six radii sit near zero and the polygon is a sliver. Look instead at Steel, the most evenly spread profile in the file, with money on five of the six axes. That is the case a radar chart is supposed to be good at. The same six numbers make polygons from 0.0344 to 0.0846, a factor of 2.46. Steel’s largest source is individuals, 44.0% of receipts. In the largest arrangement that spoke sits between the candidate’s own money (17.8%) and PACs (18.4%), and both of its products in the sum are big. In the smallest it sits between everything else (3.0%) and the party (0.0%), and the longest spoke on the chart is multiplied by almost nothing on either side.
The second button in Figure 2 is the other half of the problem. By default each axis is scaled to the largest of the six values, which is what makes the polygon fill the circle. Press it and every axis goes on one dollar scale, and the shape collapses toward the one or two spokes carrying real money. Neither picture is wrong, and they are different pictures of identical numbers. A radar chart cannot tell you which one you are looking at, because a spoke is a direction rather than a scale.
Neither form is banned, and saying so matters more than the criticism does. A pie is defensible when there are two or three categories, they genuinely partition one whole, the whole is stated in words nearby, and nobody is asked to compare it to another pie. “Fifty-two per cent to forty-eight” is a fact a circle can carry.
A radar is defensible when the axes have a natural cyclic order the reader already knows: months of the year, compass directions, hours of the day. Then the adjacency the area depends on is not arbitrary, because the data supplied it. Funding sources have no such order.
What to draw instead is in the lower panel of Figure 1: one bar per category, on a common scale, sorted by size. It is the least interesting graphic in this brief, and it answers every question the other two cannot.
This is a brief about drawing, not about money. Which candidates raise from whom is the campaign-finance brief’s subject. Nothing here should be read as a finding about American campaign finance.
The sixth category is a residual, and a residual is not a
source. “Everything else” is ttl_receipts minus
five published fields. It holds offsets to operating expenditures, loans
from other people, and receipts the summary file does not itemise, which
are different things with different meanings. It is drawn as one slice
because a pie needs the parts to close.
The duplicate rule is strict and therefore undercounts. The 142 groups match to the cent across every receipt field. Two records for the same person that differ by a dollar are not caught, which happens when one committee filed an amendment. The $1.57 billion of double-counted money is a floor.
Cleveland and McGill measured accuracy, not usefulness. Their ranking is about how precisely a person reads a value off an encoding. A pie is read accurately for one thing, whether a share is above or below a half, and that is a real question in politics.
Six axes is a choice. With 6 categories there are 60 cyclic arrangements, enumerated here rather than sampled. Split or merge a category and the count changes, and so does every area in Figure 2.
None of these is answered above, and every one can be answered by sorting or grouping the tables the Sources section hands over.
candidates.csv carries each source as a dollar amount
and as a share, in the p_ columns. Pick a candidate and
find which slices fall below one per cent. What would disappear from
their pie?areas.csv has one row per ordering per
candidate, with the area of that arrangement. Sort it for
one candidate and compare the largest against the smallest. Should the
order of the axes change the size of the shape?lookalikes.csv holds the two candidates whose pies are
indistinguishable. Compare their ttl_receipts and their
dollar columns rather than their p_ shares. Is the
resemblance real?duplicates.csv groups records reporting the same money.
Group by group and count the rows in each. Which candidate
appears under the most IDs, and what happens to any total computed
before those are found?Two stretch ideas point past the spreadsheet. Take a pie chart from a
news story about a recent election, find the filing under it, and check
whether the slices partition anything. And redraw
featured.csv as one bar panel per candidate on a shared
dollar axis, then decide which of the three forms you would put in front
of a reader.
Data
weball24), 2023–2024 cycle, published on the
Commission’s bulk-data page at https://www.fec.gov/data/browse-data/?tab=bulk-data and
read here in the named-column form this book’s campaign-finance
brief hands over. From it this brief checks the overlap between
self_funding and its parts, computes the sixth category,
finds the duplicate records, and works out the area of every axis
ordering.Method
The data itself
Every figure above is drawn from these tables. They are plain CSV, they open in a spreadsheet, and they are yours to take further.
areas.csv, candidates.csv, duplicates.csv, featured.csv, lookalikes.csv
One more file is not data about the subject – it is how this chapter
checked its own numbers: facts.csv, the individual
numbers the text above quotes.
William S. Cleveland and Robert McGill, “Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods,” Journal of the American Statistical Association 79, no. 387 (1984): 531–554, https://www.jstor.org/stable/2288400.↩︎