Edmonton City Council

I am a lifelong Edmontonian, but municipal politics were never really on my radar and always just something happening in the background that didn’t impact me. In early 2019, there was a rezoning application near my house my and I was compelled to speak to Council in opposition to it. Overall, I was completely unprepared for the experience, but it did peak my interest municipal politics. In federal and provincial politics you get two or three parties battling over rhetoric, but at the city level we have 13 unique personalities with their own goals and can freely vote on any issue. This gives any given motion or bylaw put forward the opportunity to succeed or fail based on its own merits instead of just which party brought it forward. Over the last year I’ve been paying more attention to municipal politics, including listening to the Speaking Municipally podcast, as well as City Council meetings which are now streamed on YouTube.

After a while, I started noticing trends in how each Councillor votes. Not finding any statistics or reports anywhere online, I set myself down the path of trying to quantify voting trends myself. Who votes against the grain the most? Are there any blocks of councillors that often vote together? How often is someone the sole objector to a motion? Which Councillors are most likely to be on my side the next time I need to take a position on a rezoning application? Time to gather some data and figure it out!


A quick bit of house-keeping. Throughout this article I will refer to Councillors. When I do this, I mean the 12 City of Edmonton Councillors plus the Mayor since they each have one equally weighted vote. I also will be only using last names in this post for space. For a listing of full names, visit here.

You will also notice a certain councillor is consistently an outlier throughout. This was not done on purpose by me cherry picking charts or filters, it is simply how it turned out. While I have a few scattered opinions throughout, the data itself is being presented as neutrally as possible.

The Data

My initial attempt to gather a data source was by scraping and parsing the meeting minutes from the City website. The format proved too inconsistent to be useful. Months later I found that the City already posted all Council meeting and voting information in a well formatted way on their Open Data website.

I cannot make any claims as to the accuracy of the data or my analysis itself. The City provides the data “as-is” as per their terms of use. I am also presenting my analysis as-is, with no guarantees as to its accuracy. I have striven to maintain accuracy, and will correct any errors I or others find.

The data set I am looking at is for this Council term until approximately August 2020. The raw data was very verbose, and I needed to filter it in order to get any meaningful results. The analysis was done in Excel primarily using Power Query. This doesn’t lend itself well to a web-based output, but is good enough for my purposes. You can download the workbook here. While working through the data, I put together the following rules:

  1. All committee meetings were filtered out. The focus of this analysis was only City Council, which includes City Council, Special City Council, Public Hearings, and Budget meetings.
  2. Unanimous votes were removed. Votes such as approving agenda, minutes, allowing for a third reading, going in/out of private and omnibus bylaws, make up a large majority of motions passed, and are nearly always unanimous. Including these would only skew the results to very high levels of agreement among councillors.
  3. Multiple motions for the same meeting item with the same voting pattern were removed. If a motion goes through three readings, each councillor typically votes the same on each reading. If these were not filtered, each Carried bylaw would be worth triple that of other motions.

Out of 6750 motions this term so far, this left 527 worth analyzing, about 8%.

The Results


Below is the percent of times each councilor agreed with each other. Absentee or abstained votes are excluded and do not count for an agreement or disagreement. The names are sorted by the average council agreement.

The most immediate takeaway is that Mike Nickel disagrees with everyone. A lot. This should not be a surprise to anyone familiar with Mike Nickel.

There is also pretty clear block of Councilors that tend to vote with the Mayor, being Esslinger, McKeen, Hamilton, Knack, Walters, and Henderson. Even within this block however nobody is above 89% agreement with each other.

What I am surprised about is that their isn’t another voting block around Nickel, Dziadyk, Banga, and Caterina. I had it in my mind that these councillors tended to vote in opposition together on contentious issues, but the numbers don’t actually make the case for that.

The below table shows who each councillor agrees with most and least. of note is that the block of 6 councillors mentioned above that tend to vote together, also agree with Iveson the most. Everyone agrees with Nickel the least. One interesting peculiarity is that Nickel agrees agrees with Paquette the most, while Paquette agrees with Nickel the least. For those unfamiliar with these two, it could be argued that Nickel is the most “right wing” Councillor, while Paquette is the most “left wing” Councillor.


Here we have the councillors order by vote type. Mike Nickel is by a wide margin the only councillor to vote ‘no’ more than 50% of the time.

A similar chart presented slightly differently is the percent of time that each Councillor voted on the winning side. Here we see that Iveson and Esslinger are on the winning side most often at 93%, with the rest of their voting block of McKeen, Hamilton, Knack, Walters, Henderson, and Cartmell not far behind. This is not surprising at all that the 7 Councillors (who make up more than 50% of Council) who often vote with each other also tend to be on the winning side of motions the most.

Another trend I wanted to look at was how often there was only a single objector to a motion. The shape of the trend is basically the same as the rest, although I would have guessed Paquette to be somewhat higher here.

I did a quick spot check on the three motions that only the Mayor opposed and found all three were procedural and wouldn’t be considered contentious. These sorts of motions are probably common through the data, but hopefully uniformly enough so as not skew the results one way or the other.


Attendance is measured but I have filtered it out up until this point. These next charts do not reflect the number of meetings missed, but the number of votes missed that were not unanimous. I have not calculated overall attendance, but predict it would be very similar shape or outcome.

A quick shout out to Councillor Knack on his perfect attendance for any non-unanimous votes. Councillor Esslinger and Nickel have risen to the top here, but not to an outrageously none of the numbers are outrageously high, or at least not high enough for me think negatively.

Of the 537 votes analyzed, 30 of these were won by a single vote, and another 15 of these were lost by 2 votes. Mike Nickel was absent for 4 of these. His attendance would have given the opportunity to push the vote the other way if he chose. Nothing here is large enough that I can make a judgement on the performance of the councillors however.


I want to conclude by saying that none of these charts or numbers presented are intended to indicate the performance of each Councillor. This has simply been an exercise in trying to find voting patterns to better predict the will of City Council. I recognize that voting at City Council meetings represents only a small portion of the job of a councillor. Some may argue that the voting record is one of the least important parts of their job performance, with their committee work, community engagement and advocacy being much higher. Personally I enjoy the constructive debates during council meetings. These meetings give the Councillors opportunity to make their voices heard by the public, and sway other councillors to vote along with them.

In the future to hope to go through another round of analysis, with a focus on breaking down the types of motions. For example, motions on re-zoning and land use are often contentious, and filtering to only include these may result in some interesting new conclusions.

EDIT: A few final notes.

I wanted to explicitly point out that no councillor agreed with each other more than 89% of the time, even within the “Iveson” block. I think this is a great testament to how at the city level our elected representatives can still vote their own conscience, or the will of their constituents; a great thing for our democracy!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s