More than 99% of the ballots cast last Tuesday have been counted. San Francisco’s turnout was around 66% of registered voters, and the voting patterns are now clear.
State Sen. Scott Wiener will be San Francisco’s next member of Congress after winning the race to succeed Speaker Emerita Nancy Pelosi against Supervisor Connie Chan.
How did he do it? Here are some maps showing how the votes broke down.
Where Scott Wiener won
Scott Wiener won more areas of the city overall. But he also had one major advantage: The places he won by a wider margin had higher turnout, and landed him more votes.
Wiener did particularly well in Districts 2 and 8, both of which had higher-than-average voter turnout this election, and historically do.
In citywide elections, for example, District 8 is “the key district,” said Jim Ross, a political consultant.
“District 8 always has a giant turnout. If your base is Districts 7, 8 and 2, you have a numbers advantage,” said Todd David, a political consultant who worked on Wiener’s campaign.
District 2 covers the Marina, Pacific Heights, Presidio Heights and District 8 covers the Castro, Noe Valley and Glen Park. That’s Wiener’s base: He represented District 8 for five years as supervisor, and won by a wide margin there and in District 2 when he ran for State Senate in 2016.
Indeed, District 8 saw much higher turnout than the citywide average: Close to 78%, versus around 66% citywide. District 2 also saw higher-than-average turnout, nearly 70%.
That high turnout combined with the fact that a higher margin of voters in those districts supported Wiener, earned him over 19,600 votes more than Chan in those areas — very nearly his margin of victory citywide. Wiener won by about 20,000 votes citywide, close to a seven-point margin.
Where Connie Chan won
Connie Chan won in the Westside and in lower income areas of the city, such as the Tenderloin and Bayview. She also won in areas that have a higher share of the city’s Asian voters, namely the Sunset, Chinatown and parts of Bayview.
While Chan secured a majority in those areas, she won by smaller margins there than Wiener won in Districts 2 and 8. Some of those areas where voters backed Chan also saw lower turnout.
For instance, Chan won 59% of the vote in District 4, which covers the Sunset, leading by some 5,600 votes over Wiener. That district saw just above average turnout, however, at nearly 67%.
In Bayview, where Chan secured 55% of the vote, turnout was well below the citywide average, at 48%.
In the other districts Chan won, her margin was closer: Chan won District 9 with 53.2% of the vote and District 1, with 51.1% of the vote. District 9 overall saw average turnout while District 1 saw higher-than-average turnout.
The Asian vote was a key part of Chan’s base. Perhaps at Chan’s disadvantage: Several of the predominantly Asian neighborhoods in the southern part of the city were taken out of Congressional District 11 when the boundaries were redistricted in 2021.
Overall, while Chan built a coalition that included Westside homeowners, progressive voters and Chinese American voters, as well as voters in some of the city’s more conservative precincts, the total numbers weren’t enough to win her a majority.

