Midterm math: How Bloomington city council votes cluster after two years
At the midpoint of Bloomington city council’s four-year term, enough roll call votes exist to analyze voting patterns. Using a purely statistical method applied to 67 split votes, The B Square finds some clear two-member blocs.

Elected officials in the city of Bloomington are now midway through their four-year terms. For city councilmembers, it means that about half their votes are now on the books.
Close observers of the council will have some sense of which councilmembers tend to vote together. In the lead art for this piece, the nine red ornaments on the Christmas tree—one red ball for each councilmember—are labeled with letters, so that readers who follow the council closely can test their own perceptions against the numbers that The B Square has crunched for the first two years. [Spoiler alert: A plot labeled with the initials of councilmembers is included below.]
The ornaments for councilmembers are arranged on the tree based on how similar their voting patterns have been computed to be. If A and H are hanging closer to each other than to any other councilmember, it indicates that their voting records are more similar to each other than to anyone else’s. Conversely, if A and D are hanging far apart on the tree, it reflects a relatively low degree of similarity in their voting patterns.
The B Square’s records include 364 roll call votes for the current councilmembers. (That figure does not include the votes for Shruti Rana, who was replaced by Courtney Daily, after Rana resigned early in her term.)
To analyze voting patterns, the approach taken here is purely statistical. That is, the technique does not involve the content of the votes in any way, or measurements along a general political spectrum like conservative or liberal. There’s not a x-axis or a y-axis that means anything other than geometric distance.
The idea is to consider each councilmember’s voting record as a mathematical object—a list of ones, negative ones, and zeros. That’s a vector. And the distance between vectors is straightforward to compute. Because the analysis is blind to the content of the votes, it might be considered completely objective. It’s just a mathematical computation. That can be viewed as a strength.
At the same time it is a weakness, because even while the result tells you something about a statistical pattern of votes, but gives no insight into why the patterns look the way they do. But it’s at least a place to start.
A yes is assigned a “1”; a no a “-1” and non-participation a “0”. Non-participation due to absence or abstention are both assigned a “0.” The distance between those mathematical objects, a kind of voting vector, is computed for each pair of councilmembers.
But having a list of distances between every pair of councilmembers is not especially useful for understanding the big picture. In the same way, having a list of distances between every pair of nine cities would not be useful as a navigational tool. What’s needed is a way to convert those pairs of distances into a map—a two-dimensional plot with nine cities located on it.
A statistical technique called Multidimensional Scaling is a way to transform the distance pairs into a map. That’s the technique that was used to generate the plots for the analysis presented here.
One caveat: From the pile of roll call votes, just the truly “split” votes were fed into the analysis. There were 67 such votes. An example of the kind of vote that was excluded is one where some councilmembers were absent, but everyone who was present voted the same way. If that vote were included, then the councilmembers who were absent would be analyzed as farther away from the others, even though there might be no reason to think that their actual view on the matter was different.
The previous edition of the council could be characterized as divided into two factions. But the current edition features distinguishable two-member blocs.
Here’s the labeled plot:

Two-member bloc: Ruff, Rollo
Andy Ruff and Dave Rollo are one clear two-member bloc. They’re the two longest serving and oldest members of the current council.
It’s probably occasions when Ruff and Rollo voted the same way, but all the other councilmembers who were present voted the opposite way, that lodge most firmly in an observer’s mind. The B Square identified 10 such votes. Making Rollo and Ruff more memorable as a bloc is the fact that the 10 votes were distributed over a total of just five different meetings. Four of the votes when Ruff and Rollo voted as a two-person island came at the same meeting, on May 15, 2024.
The topics where Ruff and Rollo tend to be at odds with the rest of the council include development and land use, as well as traffic issues.
Two-person island votes: Andy Ruff, Dave Rollo
Nov. 19, 2025 — No
Passed: Ord. 2025-41 (UDO change to add SROs)
Nov. 19, 2025 — Yes
Failed: Am. 02 to Ord. 2025-41 (SRO occupancy limit)
Feb. 5, 2025 — No
Passed: Motion to introduce and read Ord. 2025-04 (combining commissions into traffic commission)
Feb. 5, 2025 — No
Passed: Motion to adopt Ord. 2025-04 (establish traffic commission)
Dec. 11, 2024 — No
Passed: Motion to table Am. 02 to Ord. 2024-26 (elected-official salaries)
Nov. 20, 2024 — No
Passed: Ord. 2024-24 (GO bond issuance)
May 15, 2024 — No
Passed: Ord. 2024-07 (Summit District PUD)
May 15, 2024 — No
Passed: Call the question on Ord. 2024-07 (Summit District PUD)
May 15, 2024 — Yes
Failed: Motion to postpone Ord. 2024-07 (Summit District PUD) to June 5
May 15, 2024 — No
Passed: Motion to postpone indefinitely Ord. 2024-11 (stop intersections on 7th Street)
Two-member bloc: Flaherty, Rosenbarger
The brother-in-law and sister-in-law pair of Matt Flaherty and Kate Rosenbarger have now completed six years of service on the council.
In the first two years of their second term, they six times voted together on items when everyone else voted the opposite way. Topics that tend to separate Rosenbarger and Flaherty from the rest of the council include the convention center expansion (seen in votes related to the Monroe County CIB), and general opposition to Bloomington mayor Kerry Thomson.
Two-person island votes: Flaherty and Rosenbarger
Nov. 19, 2025 — No
Passed: Motion to approve Ord. 2025-45 (elected-official salaries)
Oct. 8, 2025 — No
Passed: Appropriation Ord. 2025-11 (basic budget)
Jan. 22, 2025 — No
Passed: Motion to approve Res. 2025-01 (need for convention center)
Jan. 22, 2025 — No
Passed: Motion to appoint Doug Bruce to seat C-1 on the CIB
Sept. 4, 2024 — No
Passed: Motion to pass Res. 2024-17 (request FABTAC approval for CIB budget expenditures)
Apr. 10, 2024 — No
Passed: Motion to approve Res. 2024-10 (2024 CIB budget)
Other groupings?
Based on the plot, another candidate for a two-member bloc is the pair of Isabel Piedmont-Smith and Hopi Stosberg. But The B Square was not able to identify any instances of votes where they voted the same and everyone else voted the opposite. Still, of the council’s 67 split votes, Piedmont-Smith and Stosberg voted the same on 55 of them.
Based on the plot, two other councilmembers, Isak Asare and Courtney Daily, are not easily grouped with any of the three two-member blocs. The final councilmember, Sydney Zulich, might be analyzed with Piedmont-Smith and Stosberg as a three-member bloc. But in terms of voting patterns, Zulich is not as closely aligned with either Piedmont-Smith or Stosberg as Piedmont-Smith and Stosberg are with each other.
Comments ()