Skip to main content

City council’s decisions

7,383
items council voted on from 2016 to 2026
2,086 decided on a split vote · 1,725 placed on a parcel
By year

449 in 2016 · 1,116 in 2019 (the highest) · 207 in 2026

Items voted on each year; the record ends on May 8, 2026.

Items by subject, 2016–2026

Subjects come from keywords in the City’s agenda text. An item can have several subjects or none, so the bars do not add up.

Rezoning & development23% of items1,706
Housing9% of items681
Liquor & business licences4% of items300
Land, lanes & leases4% of items268
Heritage2% of items151

How items are placed

1,725 items (23%) name an address that was found, on 3,853 item and parcel rows. By the rule that placed each row:

Address rangea registered address inside the range the text names ("607-621 West 28th Avenue")2,441
Exact addressthe civic number the text names exists in the City's address register780
Same hundred blockthe nearest registered number on the same street and hundred block, when the lots named were consolidated632

Only addresses the agenda text names are placed. An item about a policy, a program or the whole city has no address and stays unplaced; so does an address whose street cannot be matched word for word.

Understand

What is one row?

One row of the decisions table is one item council voted on (the voting record's item key). Councillors' individual votes are not in these files: tallies only.

How were the items decided?

The outcome the voting record gives each item, with the tally kept in the table.

Carried unanimously5,271
Carried on a split vote1,569
Lost516
Carried27
At which meetings?

Council and its standing committees, as the voting record names them.

Council2,084
Policy & Strategic Priorities1,521
City Finance & Services1,302
Regular Council1,284
Public Hearing902
Special Council235
Auditor General Committee35
Courts of Revision20
What do the 20 columns of the decisions table hold?

In the order of the file. Every column in full ↗

item_keystable key of the item in the City's voting record
vote_datedate council voted
vote_yearyear council voted
meeting_typethe meeting, as the City names it (Regular Council, Public Hearing, …)
meeting_idthe City's meeting identifier
titlethe agenda text with its agenda numbering removed
textthe agenda text as the City published it (UTF-8 misreadings repaired)
decisionthe decision as the City recorded it
outcome_linethe decision with its tally: "Carried unanimously", "Carried 6–5", "Lost 3–8"
n_in_favourcouncillors recorded in favour
n_oppositioncouncillors recorded in opposition
n_conflictscouncillors who declared a conflict
n_absentcouncillors recorded absent
is_contestedtrue when at least one councillor voted each way
s_rezoningsubject keyword rule: agenda text matches rezon|cd-1|text amendment|official development plan|odp|zoning
s_housingsubject keyword rule: agenda text matches housing|rental|tenant|renovict|affordab|shelter|modular|homeless
s_heritagesubject keyword rule: agenda text matches heritage
s_licencessubject keyword rule: agenda text matches liquor|licence|license|patio|cannabis|brewery|lounge
s_landsubject keyword rule: agenda text matches closure and sale|lane|road closure|sale of|lease|acquisition|easement|encroachment
n_placesparcels the agenda text names that were found in the property-address register
And the 7 columns of the places table?

One row per item and parcel; the item key joins it to the decisions table.

item_keythe item (joins the decisions table)
civic_numberthe register's civic number the item was placed on
std_streetthe register's street name
rulehow it was placed: exact (the number exists), range (inside a range the text names), hundred_block (same street, same hundred block)
lonparcel centroid longitude (WGS84)
latparcel centroid latitude (WGS84)
block_idxthe city block containing the parcel (row of the block outlines, stable within a build)
How should the tables be counted?

Subjects are keyword rules over the City's own agenda text. An item can match several subjects or none, so subject counts do not add up to the rows.

An item is placed when its agenda text names an address found in the City's property-address register — the exact number, a range, or the same street's hundred block. Nothing fuzzy: an item that cannot be placed stays unplaced.

The places table has one row per item and parcel: an item naming a range of addresses has several rows.

Where does the record come from?

The City of Vancouver publishes its council voting record on its open-data portal, one row per councillor per vote (Open Government Licence - Vancouver). Data as of May 8, 2026. Addresses are matched against the City’s property-address register. The dataset on the portal ↗

Source: City of Vancouver open data, Council voting records, and the property-address register. Data as of May 8, 2026.