Left: John McGuire. Right: Bob Good. McGuire photo by Bob Brown. Good photo courtesy of Good campaign.
Left: John McGuire. Right: Bob Good. McGuire photo by Bob Brown. Good photo courtesy of Good campaign.

Today we’re going to chew on numbers the way dogs chew on bones.

Tuesday’s primary results give us a lot to work with as we try to explain what happened.

Let’s start with some numbers we don’t have yet.

1. Don’t count on mail ballots to change the outcome 

At the moment, state Sen. John McGuire clings to a 309-vote advantage over Rep. Bob Good in our marquee race in the 5th District Republican primary. (By the time you read this, those numbers may have wiggled and jiggled a bit.) There are still votes yet to be counted: Virginia counts mail ballots that trickle in before Friday as long as they were postmarked by the deadline. 

I’m skeptical that we’re going to see enough to make a difference. Here’s why: Republicans simply aren’t as eager to vote by mail as Democrats are. Case in point: The Virginia Public Access Project reports that before primary day there were 3,468 Republicans in the 5th District who had sent in mail ballots. By contrast, 8,279 Democrats in the district sent in mail ballots (and this is a district where there are more Republicans than Democrats). For further contrast, in the 11th District in Northern Virginia, some 14,567 Democrats sent in ballots by mail. The key phrase there is “sent in.” Those are the mail ballots that we know of. What I don’t know is how many others will arrive. Historically, though, the vast majority of mail ballots arrive before election day and are already in. By Wednesday afternoon, that 5th District number had edged up a bit, but only a bit, to 3,502. It will edge up more, but probably not that much more. Also, some mail ballots that people requested simply won’t arrive at all. Either people forgot to send them in on time or decided not to vote, or some will get hung up in the mail. (That’s why I personally discourage people from voting by mail.) If this were a Democratic primary, we could expect to see more mail ballots come in. Since this is a Republican primary, we shouldn’t.

While McGuire’s 309-vote edge seems oh so slender, it becomes more daunting once you try to erase it one vote at a time. I’ve looked at how the mail ballots counted so far have broken. Of those 3,502 mail ballots that had been counted by Wednesday afternoon, McGuire was winning the mail race by 1,836 to 1,666. That means he’s been taking 52.4% of the mail vote in a race where overall he’s at 50.25%. Unless there’s a big change in the voting trends, any new mail ballots should help McGuire, not Good.

As a practical matter, Good needs to hope for mail ballots in places he did well. So let’s take a look. In his home county of Campbell, he took 56% of the vote overall but ran slightly behind that percentage in the mail ballots so far — they’ve gone 54% for him. In Lynchburg, where Good took 58% of the vote overall, he’s been losing in the mail ballots so far. In the Lynchburg mail ballots so far, McGuire has taken 52% of the vote. Good would need a big reversal of those trends. 

Of the 12 localities Good carried, McGuire has been winning the mail ballots in half of them — including the most populous Good-voting localities likely to produce the most outstanding mail ballots (Albemarle County and Lynchburg). Meanwhile, McGuire likely has mail ballots outstanding, too. Here’s another way to look at the math. In Good’s home county, the mail ballots have gone 131 for him, 110 for McGuire, an advantage of 21 votes. In McGuire’s home county, the mail ballots have gone 209 for McGuire, 107 for Good, an advantage of 102 votes that wipes out Good’s home county margin and then some.

To overcome McGuire’s lead through mail ballots, Good needs to get a bigger share of mail ballots than he’s gotten so far. Here’s the math: Let’s suppose that 1,000 mail ballots suddenly showed up. Highly unlikely, but let’s just imagine. Even if Good took 65% of those, that would be 650 to 350, a margin of 300 votes — but that still wouldn’t be enough to wipe out McGuire’s lead. Given the numbers so far, it’s simply not realistic to expect a late surge of mail-in votes to bring in some landslide margins that Good couldn’t muster on primary day.

Good’s better hope is that there were reporting errors in the numbers — that somewhere along the way 3s got read as 8s, or the order of numbers got transposed. That happens, as elections are run by people and always susceptible to some innocent human errors. Barring a math error, I’m pretty confident that McGuire’s lead will hold up. 

While we’re talking about mail voting, let’s look at two other close races, both Republican primaries: In Lynchburg’s Ward IV council race, incumbent Chris Faraldi has a 21-vote edge over Peter Alexander. The mail balloting in that race went Faraldi’s way by a wider margin than his overall winning percentage. (In raw numbers, Faraldi won the mail balloting 58-48, so nearly half his margin came that way.) In the Vinton District supervisor race in Roanoke County, incumbent Tammy Shepherd has a 17-vote advantage over Tim Greenway — and on Wednesday, Greenway conceded. He won the mail balloting, but by only a single vote: 52-51. The trailing candidates need a lot more mail ballots, and margins they haven’t gotten so far, to overcome their deficits.

As the great philosopher Yogi Berra once said, “It ain’t over ’til it’s over,” and this ain’t over yet. But if I were McGuire, Faraldi or Shepherd, I’d be sleeping better than Good, Alexander or Greenway. 

2. Haley voters didn’t vote in the Good-McGuire race

OK, that’s a broad statement and probably isn’t 100% true, but as a broad concept, it seems self-evidently true. Here’s what I base that on.

The 5th District Republican primary between Good and McGuire produced the second highest turnout ever in a Republican primary in Virginia — so far, 62,426 votes, just shy of the 65,021 in the epic Dave Brat-Eric Cantor primary in 2014. 

In most parts of the 5th District, turnout in Tuesday’s primary came close to equaling the turnout in the March Republican presidential primary. Example: Lynchburg saw 5,924 voters in the Republican presidential primary; so far, 5,180 votes have been recorded in the Hill City in the Good-McGuire contest. The same pattern holds in all but a few other localities (I’ll address the exceptions shortly).

In March, Trump rolled up big margins in the district, and across the state. The only localities in the 5th District he lost were Charlottesville and Albemarle County. Nikki Haley took 55% in Albemarle, 74% in Charlottesville. I had wondered what those Haley voters would do in a choice between the chair of the House Freedom Caucus (Good) and a Trump-endorsed candidate (McGuire). It appears they stayed home.

While the turnout in other places was close to the presidential primary levels, in Albemarle and Charlottesville they collapsed. Albemarle’s Republican turnout dropped from 9,213 in March to 5,583 on Tuesday, Charlottesville’s from 1,635 in March to 625 on Tuesday. That raises the question of what those Haley voters, who were absent Tuesday, will do in November. (VPAP has a wonderful interactive map that shows who won where in the 5th District.)

3. A big home county turnout helped Good — just not enough 

One county’s turnout went the other way — Good’s home county of Campbell saw more Republican voters Tuesday than it did in the March presidential primary. Then, Campbell had 4,880 voters. So far, Campbell’s turnout Tuesday is at 5,740, so that’s 860 extra voters. Good took 56% of his home county. If those “extra” voters voted like their neighbors, that would mean Good got 482 votes, McGuire 378, a net advantage of 104 votes for Good. Good needed more pumped-up turnouts like this around the Lynchburg area, but didn’t get them.

On the other hand … 

4. Mecklenburg let both candidates down, but especially Good 

The drop in turnout in Albemarle and Charlottesville is understandable, given the politics involved. The big drop in Mecklenburg is more curious. In the presidential primary, 3,260 people voted on the Republican side. So far, Mecklenburg records just 2,132 Republican voters in this primary, a drop of 1,128 “missing” voters. Good took 58.77% of those who did show up. 

Who were those missing voters, and who would they have voted for? This wasn’t a big Haley county, so it’s not them (she took just 16% of the vote in Mecklenburg). If you’re Good, you’ve got to wonder about what might have been. If those 1,128 missing voters had shown up, and if they’d voted the same way their neighbors did — two big ifs — then that would have been Good 653, McGuire 465. That’s a margin of 188 votes. 

Of course, if you’re McGuire, you might wonder whether those might have been McGuire supporters who just didn’t get to the polls. Either way, this fits into a pattern I noted in Wednesday’s column: Good ran poorly along the southern tier of the district. These are localities he’s represented for four years and counties where McGuire had no special connection. Instead, McGuire took 56% of the vote in Pittsylvania County, 62% in Danville, a more modest but still triumphant 52.5% in Halifax County — and then there was this big vote drop-off in Mecklenburg.

Update: Josh Throneburg, the Democratic candidate against Good two years ago, has pointed out to me that many Mecklenburg residents watch television out of North Carolina, not Virginia, so they may not have seen all the TV ads that others in the district did.

5. Redistricting hurt Good and helped McGuire

Here’s what the 5th District looked like when Good was originally elected in 2020. Courtesy of U.S. Department of the Interior.

We usually think of redistricting in terms of whether it helps one party and hurts another. The most recent redistricting didn’t really change the overall political makeup of the 5th District — it was Republican then, it’s still Republican now. However, the mapmakers (one from each party, appointed by the Virginia Supreme Court after the redistricting commission deadlocked), reshaped the 5th in ways that wound up hurting Good and helping McGuire in this particular campaign. That wasn’t the mapmakers’ intent, of course. They were simply trying to draw more geographically logical districts, and they did. However, let’s look at the impact of the changes they made.

5th Congressional District. Courtesy of Virginia Supreme Court.
Here’s what the 5th Congressional District looks like now. Courtesy of Virginia Supreme Court.

The most obvious impact is that the redistricting that took effect starting in the 2022 elections brought in Goochland County — and Good’s opponent. That redistricting also brought in other counties that voted against Good, and cut out some localities that might have voted for him.

It’s hard to know how the localities that were redistricted out of the 5th would have gone in a Good-McGuire race. However, Bedford County’s presence in the 5th was reduced, and we know that what remained of Bedford voted 58.55% for Good. So it seems reasonable to assume he lost votes when some of those other Bedford precincts were cut. 

Redistricting did add Lynchburg and Amherst County, both of which voted for Good. On the eastern side of the district, the 5th picked up Amelia County, which also went for Good. In all, those three new additions voted for Good 5,308 to 4,077, a margin of 1,231 votes.

However, the district also picked up Louisa County, Goochland County, Nottoway County, Powhatan County and part of Hanover County. Those localities went to McGuire 8,279 to 5,397, a margin of 2,882 votes. Therefore, on balance, redistricting demonstrably helped McGuire and hurt Good.

There are lots of ways to explain the outcome in terms of voter motivations and what message those voters wanted to send and to whom. However, mathematically speaking, these are the numbers that explain what happened in the 5th District.

A voting sign in Botetourt County. Photo by Dwayne Yancey.
A voting sign in Botetourt County. Photo by Dwayne Yancey.

In this week’s West of the Capital:

I write a free weekly newsletter, West of the Capital, that goes out every Friday afternoon. Here’s some of what will be in it this week:

  • A look ahead at the 2025 statewide races, which are starting to take shape.
  • Sen. Tim Kaine rolls out his first ad, hitting Republican Hung Cao for things he said about Staunton and Abingdon.
  • Rep. Ben Cline, R-Botetourt County, seeks a leadership role among House Republicans.
  • State health commissioner to speak at Cardinal’s “Confused about cannabis?” conference on Oct. 15.

You can sign up for West of the Capital, or any of our other free newsletters here:

Yancey is founding editor of Cardinal News. His opinions are his own. You can reach him at dwayne@cardinalnews.org...