To say that the public polls missed the mark Tuesday night in Georgia’s runoff election would be an understatement. The four public surveys conducted in July had Jack Kingston leading David Perdue by an average of 5 percentage points in the race for the GOP nomination for U.S. Senate. As I wrote Tuesday, that sort of lead, historically, has held up in Republican primaries in Georgia.

Perdue, of course, won by about 2 percentage points.

It would be easy to give the pollsters a pass and assign the error to low turnout. Overall, turnout was down 25 percent Tuesday from the first primary in May. But that probably wasn’t the cause of the pollsters’ error.

Unlike in many other parts of the South, polling in Georgia’s Republican primaries has a history of being accurate. Polling was accurate in the 2014 Senate primary’s first round, the 2012 presidential primary and the 2010 gubernatorial primary and runoff. So, turnout was modeled well enough in the past.

On Tuesday, the drop-off in turnout was pretty uniform across counties. That is, it’s unlikely that pollsters overestimated turnout in strong Kingston areas and underestimated turnout in Perdue areas. It’s possible that there was an unexpected quirk in who turned out that doesn’t show up in county-by-county comparisons, but a change in turnout that would have caused this polling error should be at least somewhat evident in such an examination.

For example, there wasn’t a significant connection between how Kingston did in a county and the turnout difference from Round 1.

Nor was there any relationship between the change in Kingston’s margin over Perdue from Round 1 and the change in turnout.

In fact, had turnout been the same as in May, Perdue still would have won. His margin of victory in this hypothetical, 0.8 percentage points, is slightly less than his actual margin, 1.8 points — so maybe turnout played a small role. But that is not a major difference, and certainly not enough to explain Tuesday night’s pollster error.

Instead, Perdue won where he needed to win. Here’s what I wrote Tuesday:

For the polls to be wrong, Perdue will probably need to exceed expectations in the Atlanta area. Perdue led Kingston by 17 to 18 percentage points in Cobb (a traditional swing county in Republican primaries), Gwinnett and Fulton counties in the first round; Handel came in first or second in all of these counties. If Perdue is to win the runoff, he’ll need to fight off Handel’s influence and win these counties by potentially upward of 10 points. He’ll be building on his base around Macon, in Bibb and Houston counties in the middle of the state.

Indeed, Perdue took the counties around the Atlanta area by about 10 percentage points. He also won the the swing area I mentioned Tuesday, in and around Augusta, as he did in the first round.

The public polls were wrong, and upon initial examination, the cause of the upset was not unusual patterns in turnout.