18a — Vote Reporting in Georgia: the Advance-Voting Tabulator Gap
18a.1 — Why this chapter exists
Actual Vote compares the vote totals printed on a precinct’s poll tape to the corresponding official results. In most places that comparison is a clean one-to-one join: one scanner counts one precinct’s ballots, and the official results report that precinct’s total, so the two line up candidate for candidate.
Advance (early) voting in Georgia breaks that assumption, and it breaks it in a way that will recur in every Georgia analysis and in any jurisdiction that reports early votes the same way. A Georgia advance-voting poll tape reports the total that one tabulator counted — but any registered voter in the county may vote early on any advance-voting machine, so that tabulator’s ballots come from dozens of different home precincts. The published results, meanwhile, redistribute each advance ballot to the voter’s home precinct. The unit the tape measures (one scanner’s blended total) and the unit the county publishes (each precinct’s scattered advance votes) never resolve to the same number. There is no published row that equals “the votes this advance-voting tabulator counted,” so there is nothing to compare the tape against.
This chapter explains that gap in detail, and then shows the remedy that closes it: a public-records request for the advance results grouped by the tabulator that counted them — the same certified ballots, re-sorted by scanner — which restores the one-to-one join exactly as it exists for election-day tapes. The worked example throughout is the 2026 Cobb County Primary Runoff analysis, where this gap first arose and was then closed: the 18 advance-voting tapes went from zero possible comparisons to 172 comparisons, all matching the county’s certified counts, once Cobb County provided the per-tabulator cast-vote records.
The problem, and the fix, in one sentence. Georgia's published results provide no unit that corresponds to a single advance‑voting tabulator — advance votes are reported by the voter's home precinct, not by the scanner that counted them — so an advance‑voting poll tape has nothing to compare against; but the county holds the same certified ballots in a form that can be grouped by tabulator, and a records request for that form closes the gap completely.
This is a structural property of how advance voting is reported — not an OCR failure and not a data error — and it will recur in every Georgia analysis. Below it is worked through the 2026 Cobb County runoff, where the 18 advance‑voting tapes went from zero possible comparisons to a complete, exact confirmation once the county supplied the per‑tabulator data.
What was at stake. In the Cobb runoff, volunteers filmed and we transcribed the advance‑voting tapes, but ~102,446 of the 108,942 candidate‑votes we read off this batch — about 94% — could not be checked against the published results at all, purely because Georgia publishes advance votes by home precinct rather than by scanner. By the fairer measure — verification opportunities, each tape's reading of one contest‑choice being one check — it was 241 checks (73%) that the reporting format put out of reach. The effort was real; the reporting granularity was the only thing standing between it and election transparency. (The 108,942 is a raw transcription count — every reading of every line across the videos, before de-duplication; the audited figure this chapter ends with, 73,953, counts each unique tabulator × contest × candidate value once.)
How it was recovered. None of that evidence was lost to a flaw in the count or the tapes — only to the view of the data that is published. The county's cast‑vote records hold the identical certified ballots tagged with the tabulator that scanned each one; aggregated by tabulator, they reconstruct exactly the per‑scanner unit a poll tape shows. Requesting that view turned 241 lost checks into 172 completed comparisons, every one matching the certified count — the recurring lesson of this chapter: when the published grain is too coarse, ask for the cast‑vote records grouped by tabulator.
18a.2 — Two kinds of tape are in a Georgia batch
| Tapes | What the scanner is | Comparable to the published results? |
|---|---|---|
| 5103–5108 6 tapes |
Election‑day precinct scanners. One scanner sits in one precinct’s polling place on election day and scans only that precinct’s in‑person ballots. (Kennesaw 2A/3A/4A/5A, Oregon 01, Kemp 02.) | Yes — 1:1 join |
| 5085–5102 18 tapes |
Advance‑voting scanners at the Cobb Elections Main Office / advance‑voting sites. Any registered voter in the county can vote early here, regardless of their home precinct. | No — no join unit |
18a.3 — The election‑day tapes join perfectly
An election‑day scanner only ever sees one precinct’s ballots, and Georgia’s official export reports results per precinct, broken out by voting method (Election Day, Advance Voting, Absentee by Mail, Provisional). So a precinct tape lines up exactly with that precinct’s “Election Day” column. That is why all six matched, candidate‑for‑candidate.
18a.4 — Why the advance‑voting tapes can’t join the published results
Advance voting breaks the one‑scanner‑equals‑one‑precinct assumption in both directions:
- The tape mixes many precincts. A single advance‑voting scanner accepts voters from every precinct in the county. Each voter casts their own home‑precinct ballot, but they all run through the same machine. The tape shows that scanner’s combined totals — a slice of dozens of precincts blended together.
- The official results split advance votes back out by home precinct. Georgia does not report advance votes by scanner or by advance‑voting location. It attributes each advance ballot to the voter’s home precinct and reports it there, under that precinct’s “Advance Voting” column. (In the data, every precinct is a real geographic precinct — there are no virtual / per‑location precincts for advance voting.)
So the thing the tape measures (one scanner’s blended total) and the way the county reports (each precinct’s scattered advance votes) never line up to a single number. There is no row in the official results that equals “the votes this advance‑voting scanner counted.”
18a.5 — A worked example, in real Cobb numbers
The diagram above is the whole argument; this section makes it concrete, with one real advance‑voting
tape (submission #5091) set beside the actual official record — plus every Cobb precinct and
all 18 of our advance‑voting tapes, so the “no scanner appears among the precincts” claim can be checked by
eye.
In Georgia, what many people call early voting is officially named advance voting — in-person voting before Election Day; Georgia's results use the term “advance voting,” so we do too from here on. (It's also what the “AV” in a tabulator name like “AV-Northeast ICP 1” stands for: Advance Voting — not “Actual Vote.”) An advance-voting poll tape reports the total an individual tabulator counted. The official results report those same advance votes by each voter's home precinct. Because one advance-voting tabulator scans ballots from many precincts, the two never line up to a single number. Here is the same contest, side by side.
What one advance-voting poll tape shows
our transcription of one tabulator's tape · Actual Vote submission #5091
AV-Northeast ICP 1
Voting Location: AV-Northeast
| US Senate — Rep | Votes |
|---|---|
| Mike Collins | 828 |
| Derek Dooley | 1,137 |
| Total Votes | 1,965 |
The tape identifies its own unit as “AV-Northeast ICP 1” — an advance-voting scanner at the Northeast advance-voting site (an “ICP”, Dominion ImageCast Precinct). One row of numbers for the whole machine; the advance voters who used it came from many different home precincts, all blended together. (Vote totals are our transcription of submission #5091, shown for illustration.)
How the official results report those same advance votes
US Senate — Rep · “Advance Voting”, reported per home precinct
| Precinct | Collins | Dooley |
|---|---|---|
| Acworth 1A | 128 | 150 |
| Acworth 1B | 136 | 148 |
| Addison 01 | 48 | 100 |
| Austell 1B | 5 | 5 |
| Bells Ferry 02 | 35 | 45 |
| Bells Ferry 04 | 55 | 75 |
| Big Shanty 01 | 31 | 65 |
| Big Shanty 02 | 47 | 63 |
| … 99 more precincts (107 reported; 41 withheld for voter privacy) | ||
| Sum of published advance cells (107 precincts) | 7,145 | 9,402 |
The advance votes are split across every home precinct — there is no row for the machine that scanned them.
Why they can't be matched. The tape's 828 Collins votes is one machine's blend of dozens of precincts. On the official side, those same ballots are scattered back to Acworth, Addison, Austell, Big Shanty… — so the tape's number is:
larger than any single precinct, smaller than the county — a cross-section of many precincts that the official data never groups back together. No published figure equals “what this tabulator counted,” so there is nothing to compare the tape against.
What the 828 actually is — an unknown blend. Any Cobb voter could vote early at any site, so this one scanner's 828 Collins votes is some mix of home precincts we cannot recover. And the 1,137 Dooley votes on the same tape are a separate group of voters — different people who happened to scan here — so their precinct mix is different again. For illustration only; both real splits are unrecorded:
828 (Collins) = 190 Acworth?
+ 240 Big Shanty?
+ 160 Kennesaw?
+ 238 a dozen others?
1,137 (Dooley) = 205 Big Shanty?
+ 312 Mableton?
+ 180 Powder Springs?
+ 440 a dozen others?
The two breakdowns can even draw on the same precincts — Big Shanty voters could show up on both lines (some voted Collins, some Dooley) — or on entirely different ones; there is no way to tell. Any combination summing to each total is possible. The official results do hold each precinct's advance count — but they never say which precincts' advance voters used this machine, so the tape's numbers can't be split apart or matched.
The official data has no tabulator level — by structure
This isn't a missing field we could request a different view of; the deepest unit in the public results is
precinct × voting method. Here is the actual official record for one precinct and candidate (Acworth 1A,
Mike Collins) — note there is no tabulator, machine, or scanner key
anywhere:
// official export → localResults["Cobb County"] → ballotItems["US Senate - Rep"] "ballotOptions": [ { "name": "Mike Collins", "precinctResults": [ { "id": "AC1A", "name": "Acworth 1A", "voteCount": 257, "groupResults": [ { "groupName": "Election Day", "voteCount": 128 }, { "groupName": "Advance Voting", "voteCount": 128 }, // ← the deepest grain there is { "groupName": "Absentee by Mail", "voteCount": 1 }, { "groupName": "Provisional", "voteCount": 0 } ] }, … 147 more precincts — and never a per-tabulator entry ] } ]
The poll tape stops one level deeper than the official data is ever published — at the machine. But the county still holds the data at that grain, in its cast‑vote records. Closing the gap is a matter of requesting that deeper view — which is exactly what §18a.6 does.
Verify it yourself: is “AV-Northeast ICP 1” an official precinct?
It is not — and you can confirm it by hand. The tape's reporting unit is an advance-voting scanner (“AV-Northeast ICP 1”); the official results are organized only by the three dimensions below — 148 home precincts × 4 voting methods × 11 contests, with no machine/tabulator dimension at all. Scan the precinct list: there is no “AV-Northeast”, no “AV-” anything, and no scanner name. (Counts are how many times each value appears across the 12,456 cells of the flattened official export — every precinct is reported for every method × contest.)
Voting methods (4)
the only breakdown the official data offers — none of them per-machine
- Absentee by Mail
- Advance Voting
- Election Day
- Provisional
Contests (11)
on this runoff ballot
- Commissioner of Insurance - Dem
- Commissioner of Labor - Dem
- Governor - Rep
- Lieutenant Governor - Dem
- Lieutenant Governor - Rep
- PSC - District 5 - Rep
- Secretary of State - Dem
- Secretary of State - Rep
- State School Superintendent - Rep
- US House of Representatives - District 11 - Rep
- US Senate - Rep
All 148 official precincts (every one — none is a scanner/AV site)
id · name, alphabetical. Search this list for “AV-Northeast”, “AV-West”, “ICP”, “scanner” — none appear.
AC1AAcworth 1AAC1BAcworth 1BAC1CAcworth 1CAD01Addison 01AU1AAustell 1AAU1BAustell 1BBK01Baker 01BF02Bells Ferry 02BF03Bells Ferry 03BF04Bells Ferry 04BG01Big Shanty 01BG02Big Shanty 02BR01Birney 01BW01Blackwell 01CK01Chalker 01CA01Chattahoochee 01CH02Cheatham Hill 02CH03Cheatham Hill 03CR01Chestnut Ridge 01CL01Clarkdale 01CL02Clarkdale 02DV01Davis 01DC01Dickerson 01DI01Dobbins 01DI02Dobbins 02DO01Dodgen 01DL01Dowell 01DU01Durham 01EP01East Piedmont 01EA01Eastside 01EA02Eastside 02EL01Elizabeth 01EL02Elizabeth 02EL03Elizabeth 03EL04Elizabeth 04EL05Elizabeth 05FO02Fair Oaks 02FO04Fair Oaks 04FR01Ford 01FY01Frey 01FP01Fullers Park 01GM01Garrison Mill 01GT01Gritters 01HR01Harrison 01HY01Hayes 01HT01Hightower 01KL01Kell 01KP01Kemp 01KP02Kemp 02KP03Kemp 03KE1AKennesaw 1AKE2AKennesaw 2AKE3AKennesaw 3AKE4AKennesaw 4AKE5AKennesaw 5ALA01Lassiter 01LM01Lost Mountain 01LM02Lost Mountain 02LM03Lost Mountain 03LM04Lost Mountain 04MA1AMableton 1AMA1BMableton 1BMA2AMableton 2AMA2BMableton 2BMA3AMableton 3AMA3BMableton 3BMA3CMableton 3CMA4AMableton 4AMA4BMableton 4BMA4CMableton 4CMA5AMableton 5AMA5BMableton 5BMA6AMableton 6AMA6BMableton 6BMB01Mabry 01MC01Macland 01MR1AMarietta 1AMR2AMarietta 2AMR2BMarietta 2BMR3AMarietta 3AMR3BMarietta 3BMR4AMarietta 4AMR4BMarietta 4BMR4CMarietta 4CMR5AMarietta 5AMR5BMarietta 5BMR6AMarietta 6AMR6BMarietta 6BMR7AMarietta 7AMS01Mars Hill 01MS02Mars Hill 02MK01McCleskey 01ML01McClure 01ME01McEachern 01MT01Mt. Bethel 01MT03Mt. Bethel 03MT04Mt. Bethel 04MD01Murdock 01NS01Nicholson 01NJ01Nickajack 01NC01North Cobb 01NP01Norton Park 01OK01Oakdale 01OR01Oregon 01OR02Oregon 02OR03Oregon 03OR04Oregon 04OR05Oregon 05PR01Palmer 01PM01Pine Mountain 01PM02Pine Mountain 02PT01Pitner 01PP01Pope 01PO01Post Oak 01PS1APowder Springs 1APS2APowder Springs 2APS3APowder Springs 3APF01Powers Ferry 01RM01Rocky Mount 01RW01Roswell 01RW02Roswell 02SA01Sandy Plains 01SM01Sewell Mill 01SM03Sewell Mill 03SF01Shallowford Falls 01SI01Simpson 01SN1ASmyrna 1ASN2ASmyrna 2ASN3ASmyrna 3ASN3BSmyrna 3BSN4ASmyrna 4ASN5ASmyrna 5ASN6ASmyrna 6ASN7ASmyrna 7ASO01Sope Creek 01SO02Sope Creek 02SO03Sope Creek 03SW01Sweetwater 01TM01Terrell Mill 01TR01Timber Ridge 01VA01Vaughan 01VG01Vinings 01VG02Vinings 02VG03Vinings 03VG04Vinings 04WG01Wade Green 01WG02Wade Green 02WL01Willeo 01
Our 18 advance-voting poll tapes — every one is a scanner at an advance-voting site, not a precinct
4-digit submission id · Voting Location · Tabulator Name · ballots scanned. All three are human-verified against each video (ballots scanned = the tape's “Total Scanned” line). Click an id to open that tape's video page. None of these locations appears among the 148 home precincts — which is why none can be matched to a precinct-level result.
| Id | Voting Location | Tabulator Name | Ballots scanned |
|---|---|---|---|
5085 | AV-Smyrna | AV-Smyrna ICP 2 | 1,519 |
5086 | AV-Smyrna | AV-Smyrna ICP 1 | 1,614 |
5087 | AV-Central | AV-Central ICP 1 | 267 |
5088 | AV-Southwest | AV-Southwest ICP 1 | 716 |
5089 | AV-Kennesaw | AV-Kennesaw ICP 1 | 1,499 |
5090 | AV-Northeast | AV-Northeast ICP 2 | 2,121 |
5091 | AV-Northeast | AV-Northeast ICP 1 | 2,434 |
5092 | AV-Powder Springs | AV-Powder Springs ICP 1 | 889 |
5093 | AV-Mableton | AV-Mableton ICP 1 | 782 |
5094 | Main Office | AV-Main Office ICP 1 | 1,316 |
5095 | AV-Powder Springs | AV-Powder Springs ICP 2 | 913 |
5096 | Main Office | AV-Main Office ICP 2 | 1,461 |
5097 | AV-South | AV-South ICP 1 | 664 |
5098 | AV-West | AV-West ICP 2 | 1,530 |
5099 | AV-South | AV-South ICP 2 | 1,818† |
5100 | AV-East | AV-East ICP 1 | 4,714 |
5101 | AV-North | AV-North ICP 1 | 2,407 |
5102 | AV-West | AV-West ICP 1 | 2,326 |
| 18 advance-voting tabulators (sum of printed "Total Scanned" lines) | 28,990† | ||
† Tape #5099 prints two counts that differ: "Total Scanned" 1,818 (shown here) and "Total Voters" 1,618. The cast-vote records put 1,618 advance ballots through this tabulator — agreeing exactly with the Total Voters line. Summing the CVR's accepted-ballot counts for these 18 tabulators gives 28,790 (the figure behind the "~87% of advance ballots" coverage statistic), 200 less than the Total-Scanned sum shown here for the same reason.
Illustrative excerpt for analysis 20260616_usa_ga_cobb. Tape figures are our
transcription of a single advance-voting tabulator's results tape (machine label simplified). Official figures
are the Cobb County “Advance Voting” group from the EnhancedVoting per-precinct export; 41 of 148 precincts
withhold the method breakdown for voter privacy, so 107 report an advance figure.
18a.6 — The remedy: request the cast‑vote records grouped by tabulator
The deepest grain Georgia publishes is precinct × method — but that is not the deepest grain the county holds. Every ballot is recorded, anonymously, in the tabulation system's cast‑vote records (CVR), and every CVR row carries the tabulator that scanned that ballot. So the county can produce the advance results grouped by tabulator: the same certified ballots already in the per‑precinct totals, merely re‑sorted by scanner. That is a standard Results‑by‑Tabulator / cast‑vote‑ record export from the Dominion reporting system, and it is exactly the unit a poll tape represents. A public‑records request for it — drawn narrowly, seeking no figure the county withholds for voter privacy (see the mock‑up in §18a.10) — is all it takes.
In the 2026 Cobb runoff, that request worked. America Counts submitted the open‑records request on July 1, 2026; the county replied in full the same day with its Dominion CVR export. The gap that had made 18 tapes uncomparable closed within 24 hours of asking.
The export is one row per ballot. Only a few columns matter for this purpose — the tabulator, the counting group, and a 1/0 flag for each contest‑choice:
// Cast-vote records — one row per ballot (anonymous; no voter identity) TabulatorNum CountingGroup PrecinctPortion │ "US Senate-Rep│Collins" "US Senate-Rep│Dooley" ... ="2045" "Advance Voting" Big Shanty 01 │ 1 0 ... ="2045" "Advance Voting" Mableton 3A │ 0 1 ... ="2045" "Advance Voting" Kennesaw 5A │ 1 0 ... ="1745" "Election Day" Kennesaw 5A │ 0 1 ... ↑ tabulator ↑ the group ↑ home precinct ↑ one 1/0 column per contest × choice
Aggregating is mechanical: keep the rows whose CountingGroup is Advance Voting,
group by TabulatorNum, and sum the 1/0 columns. Each tabulator's rows collapse into one
block of candidate totals — precisely the block an advance‑voting tape prints. (The home‑precinct column is
still there, which is what lets the county also publish the per‑precinct view; we simply don't group
by it.)
The same worked example, now resolved
Recall tape #5091 (AV‑Northeast ICP 1), whose 828 Collins / 1,137 Dooley the published results
could only scatter across a hundred‑plus precincts. Its tabulator is CVR tabulator 2045; aggregating
that tabulator's advance ballots yields a single block that lines up with the tape to the vote:
| US Senate — Rep | Tape #5091 (AV‑Northeast ICP 1) | Cast‑vote records (tabulator 2045, Advance) | Match? |
|---|---|---|---|
| Mike Collins | 828 | 828 | ✓ exact |
| Derek Dooley | 1,137 | 1,137 | ✓ exact |
| Total votes (contest) | 1,965 | 1,965 | ✓ exact |
| Ballots scanned (tabulator) | 2,434 | 2,434 | ✓ exact |
The very numbers this chapter earlier called "impossible to compare" now have an exact official partner — not by redistributing the tape, but by asking for the certified data in the shape the tape is already in. The matching ballot count (2,434) is a second, independent confirmation: it verifies the tape was joined to the right tabulator before a single candidate total is checked.
The full result across all 18 tapes
Each of the 18 advance tapes was joined to its tabulator by the tabulator ID printed on the tape, cross‑checked
by matching the tape's printed ballot count to that tabulator's advance‑ballot count in the CVR. Every tape
found its partner: seventeen matched on their printed "Total Scanned" line, and the eighteenth
(#5099) matched exactly on its "Total Voters" line (1,618) while its separate "Total Scanned"
line prints 1,818 — the tape's own two count lines differ, and the CVR agrees with the voter count. So the
join itself is validated 18 times over. Then, candidate for candidate:
As expected with AI transcription of hand‑held video, some values were flagged as first‑pass non‑matches — every one a transcription artifact, concentrated on a few advance tapes that had bowed away from the wall, curving the paper and making digits hard to read. Each resolved to the certified value once the frame was re‑read by hand and checked against the tape's own printed arithmetic. None was a reporting difference — ordinary noise in the reading process, handled by the human review the pipeline is built around. Combined with the six election‑day tapes (88 of 88), the Cobb analysis reached 260 of 260 comparisons matching, 80,449 votes audited, zero discrepancies — the advance vote confirmed to exactly the standard as election day, once the reporting grain was no longer in the way.
18a.7 — When the county won't (or can't) provide per‑tabulator data
The records request is the clean fix, and it is the one to reach for first. But if a jurisdiction declines it, or supplies it slowly, two weaker checks are still available from the tapes alone — worth knowing because they need no official cooperation at all:
Fallback 1 — Aggregate reconciliation (needs the complete set of scanners)
Forget matching each tape: could we sum across tapes and compare totals? There is a clean arithmetic identity, because every advance ballot was scanned on exactly one advance‑voting machine:
Σ (every advance‑voting scanner tape) = the countywide “Advance Voting” total — per candidate
So a county‑level reconciliation is possible in principle. It wouldn’t prove per‑precinct attribution, but it would confirm the rollup — that the reported countywide advance total equals the sum of what the machines actually printed at close, catching aggregation or upload errors. Two things have to hold, and in this dataset one of them doesn’t:
- You need the complete set of every scanner in the county. The identity only holds if all advance‑voting machines are captured. Our 18 are a volunteer‑filmed subset, so their sum is a floor, not a match. Confirming completeness means accounting for every advance‑voting tabulator Cobb deployed (e.g. by machine serial number).
- You need a clean countywide advance total to compare against — and this export doesn’t contain one. The same gap that affected the precinct tapes: many precincts publish no per‑method breakdown — for US Senate‑Rep, 41 of Cobb’s 148 precincts (about 28% of all per‑method cells are blank; 13 precincts report no breakdown for any contest). So summing the published “Advance Voting” cells understates the true advance total. For US Senate‑Rep / Mike Collins the advance cells sum to 7,145, but the candidate’s true countywide total is 22,869 — the by‑method cells only account for 17,455, hiding 5,414 votes in those 41 precincts. (Per the Georgia Secretary of State results portal, these blanks are deliberate: method‑level results are “hidden in cases where not enough ballots were cast to ensure voter privacy” and shown as a dash. So this gap is a permanent privacy redaction, not pending data that will fill in — and the public portal has no tabulator‑level detail either, which is why the per‑machine figures can only come from the county directly.)
The version that does have a clean official target is the all‑methods reconciliation — sum every scanner tape of every kind (election‑day + advance + absentee + provisional) and compare to the all‑methods countywide total per candidate, which is reliably published (22,869 for Collins). But that raises the bar even higher: it requires the complete set of every scanner in the county, not just the advance‑voting ones. Bottom line: a meaningful aggregate check is achievable, but only with the complete set of every scanner in the county — a much larger collection effort than this volunteer batch.
Fallback 2 — Lower‑bound checks (what a partial set can still flag)
Even an incomplete set isn’t worthless. Because each captured tape is a real subset of the county’s votes, it supports one‑directional (lower‑bound) checks that can only ever flag a problem, never falsely clear one:
- No‑contradiction bound. The sum of our captured tapes for a candidate must be ≤ that candidate’s official all‑methods total. If it ever exceeded it, something would be wrong (double‑count, mis‑scan, or an inflated official‑side number). Across all 22 candidates below, every captured sum stays within the official total. ✓
- It already corroborates the missing‑precinct gap. For four candidates our partial sum already exceeds the published “Advance Voting” figure (e.g. Collins 8,477 > 7,145) — independent evidence that the official advance breakdown is incomplete, exactly as the 41 null‑breakdown precincts predict.
- Per‑tape internal integrity. On each tape, the candidate counts should sum to the printed “Total Votes” line and the ballot‑count header — a machine‑level consistency check that needs no official data at all.
⚑ = our partial captured sum already exceeds the published “Advance Voting” figure, confirming that figure is missing precincts. *Published “Advance” is the sum of the per‑precinct Advance‑Voting cells and is understated (41 of 148 precincts omit the breakdown). The all‑methods column likewise sums the published method cells, so where breakdowns are withheld it too understates the candidate’s true total (Collins’s is 22,869) — which only makes the bound stricter. Captured sums are OCR‑derived from low‑resolution video, not de‑duplicated, so treat them as rough lower bounds — the point is the direction of each check, not the exact figure. None of this is a substitute for the per‑scanner breakdown that would make a true comparison possible.
What would it actually take for a lower‑bound check to flag a discrepancy?
Worth being precise here, because it explains both the value and the limits of the check. A flag means one thing: the votes we counted on just the machines we filmed exceed the official total for that candidate. Since the machines we captured are only a fraction of all the county’s scanners, this essentially cannot happen by ordinary means — every vote we counted is a real ballot the official total already includes, so a part cannot exceed the whole. For a flag to appear, one of these would have to be true:
- The official results omitted more of that candidate’s votes than every machine we didn’t film, combined. For Mike Collins that means the reported total falling below 8,477 — under‑reporting his ~22,869 votes by more than 63%. That is the kind of gross, obvious undercount an audit exists to catch, and nothing remotely like it appears here.
- Or — far more likely if a flag ever did appear — an error on our side: the same scanner’s tape filmed and counted twice, or an OCR/matching mistake inflating a number. We would verify and rule those out first.
So the check is deliberately one‑directional. It can only ever surface official under‑counting (or a duplicate/misread on our side); it cannot detect official over‑counting, and it can’t be tripped merely because we hold a partial set of tapes. That one‑sidedness is exactly why a clean pass is reassuring but not a full audit — and why a flag, however unlikely, would be worth taking seriously.
18a.8 — How the comparison pipeline handles both grains
Each election‑day tape joins to official results through a precinct entry (e.g.
5104 → KE2A) and is compared to that precinct's published "Election Day" column. Each
advance‑voting tape joins instead to its tabulator, and is compared to that tabulator's block
aggregated from the cast‑vote records (the Advance Voting group). Before the county provided the CVR, the
advance tapes had no matching official unit, so the pipeline deliberately skipped them — showing
0 comparisons rather than a pile of false discrepancies — while still transcribing and archiving
every one. With the CVR in hand, those same 18 tapes move from skipped to fully compared, with no change
to the tapes or their transcriptions — only to the official data they can now be set beside.
18a.9 — Ballot secrecy — and why our recordings stay up
A separate question from comparison: could our own published poll‑tape recordings expose how an individual voted? Several states — North Carolina, Georgia, Florida — withhold small official totals “in cases where not enough ballots were cast to ensure voter privacy.” The underlying risk is a unanimous cell: within one reporting unit, contest, and voting method, every recorded vote goes to a single choice. A unanimous cell identifies no one on its own, but combined with a public record that an identified person voted in that unit and contest, it could reveal their vote. (A poll tape is itself a reporting unit, so the same test applies to ours — see the America Counts standard, Balancing Ballot Secrecy and Result Transparency.)
We screened every transcribed contest on all 24 Cobb tapes for unanimous cells. There are none.
Every contest on every tape recorded at least one vote for each choice. (The single closest case, under
the more conservative “runner‑up ≤ 2 votes” variant, is one advance‑voting contest where the runner‑up got
2 — and it still clears the strict unanimity rule.) The screen is reproducible: ava privacy-screen
→ exhibits/privacy_screen.md.
Decision: the recordings stay available. Because none of our tapes contains a unanimous (or otherwise privacy‑at‑risk) cell, posting them creates no deanonymization risk under the standard we hold ourselves to — and these tapes were already posted publicly at the elections office at the close of voting. We are therefore not taking the videos down. (A video can’t be partly redacted, so had any tape contained an at‑risk cell, that recording would be withdrawn or replaced in full rather than edited — but none did.)
Bottom line. The six election‑day tapes independently confirm the certified precinct results, 88 comparisons of 88; the eighteen advance‑voting tapes, once the county supplied the per‑tabulator cast‑vote records, do the same — 172 comparisons, all matching, zero discrepancies. What had looked like a permanent limit on advance voting turned out to be only a coarser published grain, and a single records request was enough to see past it.
18a.10 — What we asked Cobb County for — and what it provided
Our records request (the letter to the Director of Elections) asked for one thing: the advance‑voting results grouped by the tabulator that counted them instead of by the voter's home precinct. This is the same set of advance ballots already in the certified per‑precinct results — just re‑sorted by scanner — and it is a standard Results‑by‑Tabulator export from the Dominion reporting system, filtered to the Advance Voting group. With it, each of our 18 advance‑voting tapes lines up 1:1 with its tabulator's block, exactly as the election‑day tapes did with their precincts. Below is the shape of that table. Cobb County supplied exactly this — as a cast‑vote‑ record export, which carries the same tabulator‑tagged ballots and aggregates to the same layout — so every (vote total) cell below is now filled in, and the comparison in §18a.6 is the result.
The request and the reply. America Counts submitted this open‑records request to the Cobb County Director of Elections on July 1, 2026, and the office replied the same day — a response we greatly appreciate. What it sent back was the county's Dominion cast‑vote‑record (CVR) export (a CSV with one anonymized row per ballot, each tagged with the tabulator that scanned it and the voter's home precinct) together with per‑tabulator Statement of Votes Cast (SOVC) PDFs. Aggregated by tabulator and filtered to the Advance Voting group, the CVR is exactly the Results‑by‑Tabulator view the request asked for.
Read the full text of our open‑records request
I write on behalf of America Counts, a nonpartisan election‑transparency organization. With our Actual Vote system, volunteers video‑record the poll tapes posted in public at voting locations, and we independently compare the data on those tapes against the official results your office reports. This is a simple check that the published totals match what the machines printed.
We recently did this process for Cobb County's June 16, 2026 General Primary Runoff. For the six election‑day poll tape videos we received, every candidate's vote total matched your published results exactly. This kind of independent confirmation builds public confidence, and it reflects well on the quality of Cobb County Elections' work.
I am writing to ask for your help extending that same confirmation to the advance voting poll tape videos we also received.
As you know, Cobb County voters can vote at any advance voting location, so each advance‑voting tabulator processes ballots from many different precincts. This means that each vote total on an advance voting poll tape represents some combination of voters from different precincts.
Your official results, however, are reported by each voter's home precinct rather than by the tabulator from the advance voting site they used. This means that we can't directly compare the totals on our advance voting poll tapes to the official results the way we did for election‑day poll tapes. As a result, the vote totals we transcribed from our videos of advance voting poll tapes cannot yet be independently confirmed.
So, as an Open Records request, we would like to respectfully ask you for a different view of the official results that we can compare to our advance voting poll tapes. That is, we are requesting a table of the advance voting results grouped by the tabulator that counted them (instead of by precinct). The table would have columns Tabulator, Contest, Choice, and Votes (see attachment for an example).
We are glad to receive this in whatever format is easiest for your office (like CSV, Excel, or PDF).
This is the same set of advance voting ballots already in the precinct‑level official results—it's just re‑sorted by tabulator. As we understand it, this could be produced by a standard Results‑by‑Tabulator export from the Dominion reporting system, filtered down to the advance voting group. With it, each of our advance‑voting poll tapes lines up directly with its tabulator's block, exactly as the election‑day tapes did with their precincts.
Our aim with this request is only to independently confirm that the reported totals match what the machines counted, which is the same goal your office shares.
Thank you for your time, for the professionalism of your election administration, and for considering this request. I would be happy to answer any questions.
| A | B | C | D | |
| 1 | Tabulator | Contest | Choice | Votes |
| 2 | AV‑Smyrna ICP 1 | US Senate - Rep | Mike Collins | (vote total) |
| 3 | AV‑Smyrna ICP 1 | US Senate - Rep | Derek Dooley | (vote total) |
| 4 | AV‑Smyrna ICP 1 | US Senate - Rep | Total Votes | (vote total) |
| 5 | AV‑Smyrna ICP 1 | Governor - Rep | Rick Jackson | (vote total) |
| 6 | AV‑Smyrna ICP 1 | Governor - Rep | Burt Jones | (vote total) |
| 7 | AV‑Smyrna ICP 1 | Governor - Rep | Total Votes | (vote total) |
| 8 | AV‑Smyrna ICP 1 | Lieutenant Governor - Rep | Greg Dolezal | (vote total) |
| 9 | AV‑Smyrna ICP 1 | Lieutenant Governor - Rep | John F. Kennedy | (vote total) |
| 10 | AV‑Smyrna ICP 1 | ⋯ | ⋯ | ⋯ |
| 11 | AV‑Smyrna ICP 2 | US Senate - Rep | Mike Collins | (vote total) |
| 12 | AV‑Smyrna ICP 2 | US Senate - Rep | Derek Dooley | (vote total) |
| 13 | AV‑Smyrna ICP 2 | US Senate - Rep | Total Votes | (vote total) |
| 14 | AV‑Smyrna ICP 2 | ⋯ | ⋯ | ⋯ |
| 15 | AV‑Central ICP 1 | US Senate - Rep | Mike Collins | (vote total) |
| 16 | AV‑Central ICP 1 | ⋯ | ⋯ | ⋯ |
18a.11 — The payoff: recording effort turned into transparency
Pulling the thread together: our volunteers recorded 18 advance‑voting tapes, but Georgia's published results — organized by home precinct — offered nothing to compare them against. The one thing that closed that gap was what Cobb County provided in response to our open‑records request: the Dominion cast‑vote records, one anonymized row per ballot, each tagged with the tabulator that scanned it. Aggregating those rows by tabulator (§18a.6) reconstructs exactly the per‑scanner totals a poll tape prints, so every vote total on every advance tape suddenly had an official counterpart to be checked against. The 18 tapes went from zero possible comparisons to 172, every one matching the certified count.
That is the recording work paying off. Without those records, the 18 advance tapes — 75% of our 24 submissions for this election, carrying 92% of the votes this analysis ultimately audited (73,953 of 80,449) — would have stayed uncomparable: filmed, transcribed, and archived, but unable to become evidence of accurate reporting. Hours of volunteer effort would have yielded no election‑transparency payoff, which would have been deeply disappointing. Instead, a single narrow records request converted nearly all of that effort into an independent, exact confirmation of the county's advance vote.
The lesson for the next Georgia analysis. Advance‑voting tapes are not lost causes just because the published results can't match them. Record them, then request the cast‑vote records (or a Results‑by‑Tabulator export) grouped by tabulator — and the recording effort turns into election transparency.
Worked through analysis 20260616_usa_ga_cobb (Actual Vote Assist). Election‑day
join verified against the EnhancedVoting per‑precinct export; advance‑voting join verified against the county's
Dominion cast‑vote‑record export, aggregated by tabulator for the Advance Voting group. “Advance Voting” is one
of four voting‑method groups reported under each of Cobb's 148 precincts, none of them virtual/per‑location;
the per‑tabulator grain exists only in the cast‑vote records, which is why a records request was needed.