TL;DR
Select a politician and topic to see where they stand on specific policy issues. Track how their positions have evolved over time based on their own words in news articles and their voting record in Parliament.
Asking Questions in Plain English
You can search PolicyShift by typing a plain-language question — "Poilievre on housing," "who supports pharmacare?," "carbon tax" — instead of clicking through filters. The results page gathers every relevant recorded position we have on file and presents two things:
- A short written summary at the top. We rewrite the recorded positions into a readable paragraph using only the stance data already in our database — the same quotes, votes, and positions shown on the cards below. We don't pull from the open internet, and we don't add editorial opinion. Numbered markers like [1] [2] inside the summary are clickable citations that jump to the specific position being referenced.
- The underlying position cards. Every claim in the summary is backed by a card below it. The cards load first — as soon as they're ready — and the summary appears above them a moment later, so you can start reading the source material without waiting for the summary.
What we do, and what we don't do. We rewrite the recorded positions into a readable paragraph and tell you where each point came from. We don't evaluate whether a position is good or bad, fact-check beyond our database, or infer positions a politician hasn't taken publicly. If the summary and a cited card seem to disagree, trust the card — it's the primary source. When the summary can't be generated, the cards and their sources are still shown.
Pulling in Other Perspectives
When your question is about a specific politician on a specific topic — for example, "Mark Carney on pharmacare" — a button appears below the summary: See what other politicians have said about {topic}. The initial result only reflects what the named politician has said. Click the button and we look at every politician on file with a recorded position on the same granular topic — federal, provincial, and territorial — and group them in two ways:
- Politicians with a different position. We compare each candidate's recorded position to the primary politician's and flag ones that contradict a specific factual claim (not just the topic in general). These get a separate written summary, neutrally worded, plus the source cards. The summary describes only the divergent positions; the original summary about the primary politician stays exactly as it was.
- Additional politician positions on the topic. Other politicians with recorded positions on the same topic are listed by name, party, and province. We don't claim they agree with the primary politician — the recorded position you'll see may go either way. Click any name to read their full position on the topic on a dedicated timeline page.
Citation numbers in the expansion summary link directly to each cited politician's timeline page rather than scrolling within the search results.
How PolicyShift.ca Works
1. Gathering Political News
We monitor Canadian news sources daily, collecting articles that mention Members of Parliament and policy discussions. Our system focuses on substantive political coverage from mainstream and regional news outlets across Canada.
2. Identifying Specific Policy Issues
When an article discusses a politician's stance on a policy issue, our system identifies the specific policy topic being addressed. Rather than broad categories like "healthcare" or "economy," we track precise policy positions such as "extending CERB eligibility to gig workers" or "carbon pricing for large industrial emitters."
This granular approach ensures we're comparing apples to apples - we only flag a stance change when a politician's position shifts on the exact same specific policy issue, not just within the same general topic area.
3. Extracting Politicians' Positions
For each policy issue, we extract the politician's stated position using direct quotes from the article. We capture their exact words - whether they support, oppose, or hold a nuanced view on the specific policy. This ensures our database reflects what politicians actually said, not our interpretation of their views.
We also track positions derived from voting records. When an MP votes on legislation in the House of Commons, their vote (Yea, Nay, or Abstain) represents a clear position on that bill's provisions.
4. Detecting Stance Changes
When we identify a new position on a policy issue we've previously tracked for that politician, our system compares the new stance with their prior position. We analyze whether there's been a meaningful shift in their view.
Stance changes are classified by magnitude:
- Major Changes: Clear reversals or fundamental shifts in position (e.g., from supporting to opposing a policy, or vice versa)
- Moderate Changes: Significant modifications to their stance while maintaining the same general direction (e.g., from strong support to cautious support with conditions)
- Minor Changes: Subtle refinements or additions to their existing position that don't alter the core stance
This detection happens automatically by comparing the language and substance of their current statement with previous statements on the same specific issue.
5. No Editorial Commentary
PolicyShift.ca presents facts, not opinions. We don't editorialize, interpret, or add commentary to politicians' positions. Everything you see is either:
- A direct quote from the politician published in a news article, or
- A voting record from the House of Commons proceedings
When we identify a stance change, we show you both the previous position and the current position, along with the dates and sources. You can review the evidence and draw your own conclusions about what the change means.
6. Transparency in Conflicts
Sometimes a politician's vote contradicts their public statements on an issue. When this happens, we flag it as a potential conflict and display both the voting record and the public statements side by side. This allows you to see the full picture and make your own assessment.
7. Tracking Omnibus Bills
Large omnibus bills often contain dozens of distinct policy measures bundled together. When an MP votes on an omnibus bill, we break down the vote by each individual policy measure within that bill, while clearly noting that it was part of larger legislation. This provides more granular insight than simply recording a vote on "Bill C-30."
Using the Platform
Browse by Major Changes: The default view shows recent major stance changes - significant policy shifts by Canadian MPs.
View All Recent Positions: Switch to the "Recent Policy Positions" tab to see the latest positions taken by MPs across all policy areas, regardless of whether they represent a change.
Filter by Politician: Select a specific MP to see all their tracked positions and how they've evolved over time.
Filter by Topic: Choose a policy area (like Foreign Affairs, Healthcare, or Climate Change) to see positions across all MPs on issues within that topic.
View Timelines: Click "View Timeline" on any policy position to see the complete history of that politician's stance on that specific issue, including all statements and votes.
Ask a Question: Type a natural-language question into the search bar on the homepage. You'll get a written summary of the relevant positions, with every claim linked to the underlying quote or vote on file.
Data Sources
All article-based positions link to the original news source. Vote-based positions reference the specific bill and date from House of Commons records. You can always verify the information by reviewing the source material directly.
Limitations and Context
While we strive for comprehensive coverage, PolicyShift.ca has some inherent limitations:
- We can only track positions that are reported in news media or reflected in parliamentary votes. Private statements or positions not covered by media won't appear.
- Some policy nuances may not be fully captured in news quotes or vote records. Context matters, and we encourage you to read the full source articles.
- Not all MPs receive equal media coverage, which can affect how comprehensively we track different politicians.
Our Mission
PolicyShift.ca exists to make political accountability accessible. By tracking what politicians say and how they vote - in their own words - we help Canadians stay informed about where their representatives stand on the issues that matter most. We believe transparency and factual information strengthen our democracy.