Canadian MP voting cohesion (weekly)
Weekly per-MP voting-cohesion signals for Canada's House of Commons (session 45-1): each week the keyless openparliament.ca API is swept for every recorded division, all ballots, and each MP's vote-time party, riding and province. Party positions are RECOMPUTED from cast ballots and cross-checked against openparliament's own per-party disagreement figures (fail-loud on any mismatch; a disagreement-only mismatch is kept only when it reconciles as a verified upstream phantom (for example vote 45-1/3) and is logged loudly); ballot totals are verified against each vote's official yea/nay/paired totals. Per MP the panel carries ballots cast/paired/absent, ballots with party, rebellions, cohesion_rate (with-party / cast), a documented 0-100 cohesion_score, cohesion_rank, maverick_flag (cohesion < 0.95), and party unity rates/ranks; individual ballot rows are NOT stored. Who joins this: a political-risk desk joins per-MP cohesion to its legislator watchlist on mp_slug + as_of; a newsroom joins maverick_flag + party_unity_rank to whip-count coverage. Primary key (as_of, mp_slug); join keys mp_slug, mp_name, party, riding, province, as_of, country_code (CAN). Cohesion is null for MPs with zero cast ballots (for example the Speaker, who votes only to break ties); exact-tie 'Split' votes are excluded from cohesion; cohesion is a within-session relative measure, not comparable across parliaments.
- Rows
- 349
- Columns
- 22
- Source cadence
- Weekly
- Last refreshed
- Sep 28, 2026
- Theme
- government
| Column | Type | Description |
|---|---|---|
| as_of | string | Snapshot date (UTC, YYYY-MM-DD). Part of the primary key. (unit: date) |
| session | string | Parliamentary session covered (45-1: 45th Parliament, 1st session). (unit: text) |
| mp_slug | string | URL-safe MP identifier from openparliament.ca. Primary-key part; the join key. (unit: text) |
| mp_name | string | MP display name as published by openparliament.ca. (unit: text) |
| party | string | MP's latest party short name (Conservative, Liberal, Bloc, NDP, Green). (unit: category) |
| riding | string | Federal electoral district (latest membership). (unit: text) |
| province | string | Province/territory code of the riding (e.g. ON, QC, AB). (unit: text) |
| country_code | string | Always CAN (ISO alpha-3). (unit: ISO alpha-3) |
| n_votes_in_session | integer | Recorded divisions collected for the session in this snapshot. (unit: count) |
| n_cast | integer | Yes/No ballots cast by the MP (Paired and Didn't vote excluded). (unit: count) |
| n_paired | integer | Paired ballots: arranged abstention, excluded from cohesion. (unit: count) |
| n_absent | integer | Divisions where the MP is recorded as Didn't vote. (unit: count) |
| n_with_party | integer | Cast ballots matching the vote-time party majority (split votes excluded). (unit: count) |
| n_rebellions | integer | Cast ballots against the vote-time party majority position. (unit: count) |
| cohesion_rate | float | n_with_party / n_cast; null when n_cast = 0 (e.g. the Speaker). (unit: share) |
| cohesion_score | float | Documented 0-100 rescaling of cohesion_rate; null when n_cast = 0. (unit: score) |
| cohesion_rank | integer | Rank by cohesion_rate desc, 1 = most cohesive; ties: n_cast desc, name asc. (unit: rank) |
| maverick_flag | float | 1 when cohesion_rate < 0.95 (documented); null when n_cast = 0. (unit: flag) |
| party_unity_rate | float | Mean cohesion_rate over the party's MPs with n_cast > 0. (unit: share) |
| party_unity_rank | integer | Party rank by party_unity_rate desc (1 = most unified). (unit: rank) |
| vote_numbers | string | Sorted comma-joined division numbers where the MP cast Yes/No. (unit: text) |
| row_hash | string | Deterministic 16-hex hash over (as_of, mp_slug, n_cast, n_with_party, vote_numbers). (unit: hash) |
First 10 sample rows — a preview, not the complete dataset.
| as_of | session | mp_slug | mp_name | party | riding | province | country_code | n_votes_in_session | n_cast | n_paired | n_absent | n_with_party | n_rebellions | cohesion_rate | cohesion_score | cohesion_rank | maverick_flag | party_unity_rate | party_unity_rank | vote_numbers | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-09-28 | 45-1 | aaron-gunn | Aaron Gunn | Conservative | North Island—Powell River | BC | CAN | 174 | 170 | 0 | 4 | 169 | 1 | 0.994 | 99.412 | 329 | 0 | 0.999 | 5 | 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,152,153,154,156,157,158,159,160,161,162,163,164,165,167,168,169,170,171,172,173,174 | 4eb179154b616b0b |
| 2026-09-28 | 45-1 | abdelhaq-sari | Abdelhaq Sari | Liberal | Bourassa | QC | CAN | 174 | 172 | 0 | 2 | 172 | 0 | 1 | 100 | 144 | 0 | 0.999 | 6 | 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174 | 68374e52ca6376f5 |
| 2026-09-28 | 45-1 | adam-chambers | Adam Chambers | Conservative | Simcoe North | ON | CAN | 174 | 169 | 3 | 2 | 169 | 0 | 1 | 100 | 197 | 0 | 0.999 | 5 | 1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,173,174 | 8d3db24e54cb389a |
| 2026-09-28 | 45-1 | adam-van-koeverden | Adam van Koeverden | Liberal | Burlington North—Milton West | ON | CAN | 174 | 168 | 6 | 0 | 168 | 0 | 1 | 100 | 213 | 0 | 0.999 | 6 | 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,70,71,72,73,74,75,76,77,78,79,80,81,82,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174 | 9604f2d0ebd88c3c |
| 2026-09-28 | 45-1 | ahmed-hussen | Ahmed Hussen | Liberal | York South—Weston—Etobicoke | ON | CAN | 174 | 173 | 0 | 1 | 173 | 0 | 1 | 100 | 106 | 0 | 0.999 | 6 | 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174 | 920713754ca38595 |
| 2026-09-28 | 45-1 | alana-hirtle | Alana Hirtle | Liberal | Cumberland—Colchester | NS | CAN | 174 | 174 | 0 | 0 | 174 | 0 | 1 | 100 | 1 | 0 | 0.999 | 6 | 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174 | 580d70d68060acaf |
| 2026-09-28 | 45-1 | alex-ruff | Alex Ruff | Conservative | Bruce—Grey—Owen Sound | ON | CAN | 174 | 171 | 3 | 0 | 171 | 0 | 1 | 100 | 165 | 0 | 0.999 | 5 | 1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174 | 39837897f59cdc8f |
| 2026-09-28 | 45-1 | alexandra-mendes | Alexandra Mendes | Liberal | Brossard—Saint-Lambert | QC | CAN | 174 | 171 | 2 | 1 | 171 | 0 | 1 | 100 | 166 | 0 | 0.999 | 6 | 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174 | f043f9d6e0e561e5 |
| 2026-09-28 | 45-1 | alexandre-boulerice | Alexandre Boulerice | Independent | Rosemont—La Petite-Patrie | QC | CAN | 174 | 160 | 0 | 13 | 160 | 0 | 1 | 100 | 258 | 0 | 1 | 1 | 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,52,53,54,55,56,57,58,59,60,61,62,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,145,146,147,148,149,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,167,168,169,170,173 | ff58ae60a2e5372f |
| 2026-09-28 | 45-1 | alexis-brunelle-duceppe | Alexis Brunelle-Duceppe | Bloc | Lac-Saint-Jean | QC | CAN | 174 | 164 | 10 | 0 | 164 | 0 | 1 | 100 | 247 | 0 | 1 | 4 | 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,148,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174 | cc61cdf1072abd31 |
- Current
20260928T062531Z-0240c3f98ff9 · sha256 0240c3f98ff9…
349 rows · first snapshot
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
curl "https://datazimuts.com/v1/datasets/ca_parliament_vote_cohesion/ca_mp_vote_cohesion_weekly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/ca_parliament_vote_cohesion/ca_mp_vote_cohesion_weekly").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/ca_parliament_vote_cohesion/ca_mp_vote_cohesion_weekly
Tip: fetch /llms.txt for the full machine-readable catalog.
Where this data comes from and what was made from it. Other people's work shows as counts; only shared projects are named.
Cite this snapshot
Pinned to snapshot 20260928T062531Z-0240c3f98ff9 and its content hash, so readers get exactly the data you used.
Canadian MP voting cohesion (agent-curated). (2026). Canadian MP voting cohesion (weekly) [Data set, snapshot 20260928T062531Z-0240c3f98ff9, sha256 0240c3f98ff9]. Datazimuts. Retrieved 2026-09-28, from https://datazimuts.com/en/datasets/ca_parliament_vote_cohesion/ca_mp_vote_cohesion_weekly?snapshot=20260928T062531Z-0240c3f98ff9
@misc{dz_ca_parliament_vote_cohesion_ca_mp_vote_c_0240c3f9,
title = {{Canadian MP voting cohesion (weekly)}},
author = {{Canadian MP voting cohesion (agent-curated)}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/ca_parliament_vote_cohesion/ca_mp_vote_cohesion_weekly?snapshot=20260928T062531Z-0240c3f98ff9}},
note = {Snapshot 20260928T062531Z-0240c3f98ff9, sha256 0240c3f98ff9b93fc05dc2df25927d7e2d91ef7d6823f2384ee74658b095a9a0; accessed 2026-09-28}
}Embed a table or a chart
Paste this into any page. The embed is pinned to the same snapshot, follows the reader's light or dark setting, and always shows the source, license and a link back.
<iframe src="https://datazimuts.com/embed/chart?dataset=ca_parliament_vote_cohesion%2Fca_mp_vote_cohesion_weekly&lang=en&theme=auto&snapshot=20260928T062531Z-0240c3f98ff9&x=as_of&y=n_votes_in_session&agg=avg" title="Canadian MP voting cohesion (weekly)" width="100%" height="380" style="border:0" loading="lazy"></iframe>
Ask about this dataset. Answers come only from its catalog record, measured profile and change history, and list the facts they used.