2023 Alberta general election

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
2023 Alberta general election

← 2019 May 29, 2023 (May 29, 2023)[1] Next →

All 87 seats in the Legislative Assembly of Alberta
44 seats needed for a majority
Opinion polls
Turnout 62.4% (Decrease5.1pp)
  First party Second party
 
Rachel Notley crop.jpg
Leader Danielle Smith Rachel Notley
Party United Conservative New Democratic
Leader since October 6, 2022 October 18, 2014
Leader's seat Brooks-Medicine Hat Edmonton-Strathcona
Last election 63 seats, 54.88% 24 seats, 32.67%
Seats before 60 23
Seats won 49[lower-alpha 1] 38
Seat change Decrease 11 Increase 15
Popular vote 926,918 776,188
Percentage 52.56% 44.02%
Swing Decrease2.32pp Increase11.35pp

300px
2023 Alberta General Election Map

Premier before election

Danielle Smith
United Conservative

Premier after election

Danielle Smith
United Conservative

The 2023 Alberta general election was held on May 29, 2023.[1] Voters elected the members of the Legislative Assembly of Alberta. Election dates are fixed under Alberta's Election Act but that does not affect the powers of the lieutenant governor of Alberta to specify a different day in accordance with provisions in the aforementioned act, the Constitution of Canada and the usual conventions of the Westminster parliamentary system.

The United Conservative Party under Danielle Smith, the incumbent Premier of Alberta, was re-elected to government with a reduced majority.[2] Across the province, 1,763,441 valid votes were cast in this election.[3]

Background

The 2019 Alberta general election resulted in a majority government for the United Conservative Party led by Jason Kenney. The election of the new United Conservative government was widely predicted by pollsters and academics during the campaign. The United Conservatives captured 54.88 per cent of the popular vote and won 63 of the 87 seats in the Alberta Legislature.[4] The incumbent New Democratic Party, led by Premier Rachel Notley, experienced a drop in its popular vote share from 40.62 per cent in the 2015 Alberta general election to 32.67 per cent, and formed the Official Opposition with 24 seats.[4] The Alberta Party, led by former Edmonton mayor Stephen Mandel, received 9.08 per cent of the popular vote but failed to win any seats in the legislature. Various other parties and independent candidates combined for 3.37 per cent of the popular vote, without gaining any seats in the legislature. Journalist Graham Thomson described the 2019 election campaign as "more vicious, more personal, and more divisive" than any other campaign in Alberta's history.[5]

The United Conservatives were formed through the merger of the two major conservative parties in Alberta, the Progressive Conservative Association of Alberta and the Wildrose Party, in 2017. Jason Kenney, a former member of Parliament and minister in Stephen Harper's Conservative Party of Canada federal government, won the 2017 Progressive Conservative Association of Alberta leadership election on a platform of uniting the right-wing parties in Alberta.[6] The merger took place after 95 per cent of Wildrose Party members voted in favour of joining the new United Conservative Party and forming the Official Opposition.[7] In the same year, Jason Kenney won the 2017 United Conservative Party leadership election and became the leader of the Opposition.[8]

Initially, the Kenney government enjoyed substantial support among Albertans, with an approval rating of 60 per cent in June of 2019.[9] Kenney's approval rating started to decline with the onset of the COVID-19 pandemic in Alberta,[9] dropping below 50 per cent in February 2020 and falling further to below 33 per cent by June 2021.[10] Growing dissatisfaction within the United Conservative Party led to calls for a leadership review, with discontent primarily centered around the Kenney government's handling of the COVID-19 pandemic. As a result, Central Peace-Notley MLA Todd Loewen resigned, and the United Conservative Caucus voted to expel both Loewen and Cypress-Medicine Hat MLA Drew Barnes on May 13, 2021.[11] Kenney stepped down as the leader of the United Conservative Party on May 18, 2022, after receiving only 51.4 per cent support during the party's leadership review.[12]

The 2022 United Conservative Party leadership election was held on October 6. Former Wildrose Party leader Danielle Smith returned to politics and defeated five other candidates to become the party leader.[13][14] After being sworn in as the premier of Alberta on October 11, 2022,[15] the Smith ministry was presented on October 21, 2022.[16] On May 1, 2023, after a request from Smith, the lieutenant governor dissolved the legislature and called an election for May 29.[17]

Procedure

Procedures for provincial elections in Alberta are governed by the Election Act, and financial regulatory aspects are governed under the Election Finances and Contributions Disclosure Act. Eligibility to vote is limited to Canadian citizens aged 18 years of age or older, and who is a ordinary resident of an Alberta electoral district.[18]

Under the Election Finances and Contributions Disclosure Act, total expenses by political parties are limited to a total of $3,208,127 during the election period from when the writ is dropped to the election day, which is $1.16 per registered elector. Individual candidates expenses are limited to $53,100 during the election period. Third-Party Advertisers are limited to $159,200 during the election period.[19]

In 2021, the Alberta Legislature passed the Election Statutes Amendment Act, 2021 (No. 2), which amended both the electoral acts to fix the election date to be the last Monday in May unless the lieutenant governor dissolves the Legislature sooner. The bill raised total election expense limits for each political party from $2 million to a formula of $1.16 per elector, which was expected to be near $3.2 million. The bill also prohibited an entity from registering as a third-party advertiser if someone who is a affiliated with a political party holds a "significant position" on in the entity.[20]

Electoral system

Alberta's 87 MLAs are elected through single-member plurality contests, also known as first past the post.

Timeline

2019

2020

2021

  • January 4: Six UCP MLAs are demoted by Jason Kenney for travelling internationally during the COVID-19 pandemic in Alberta.[34]
  • March 6: John Roggeveen is appointed interim leader of the Alberta Liberal Party.[35]
  • April 7: 17 UCP MLAs sign an open letter criticizing the Alberta government for reimposing more stringent public health restrictions aimed at combatting COVID-19.[36][37]
  • July 13: Paul Hinman is elected leader of the WIP.[38]
  • August 31: Barry Morishita is acclaimed as leader of the Alberta Party.[39]
  • November 15: 22 UCP constituency associations announce they have passed special motions calling for a review of Jason Kenney's leadership by March 1, 2022.[40]

2022

  • March 24: UCP MLAs Jason Stephan and Peter Guthrie call on Jason Kenney to resign.[41]
  • May 18: Jason Kenney won 51.4% of votes in favour of him staying as leader in a UCP leadership review vote. However, he announced he would resign shortly after the result was revealed.[42]
  • May 19: The UCP caucus meets and decides to keep Jason Kenney as party leader and premier until a successor is chosen.[43]
  • October 6: The results of the 2022 UCP leadership election were announced, with former Wildrose Party leader Danielle Smith elected leader and therefore the next premier. In her victory speech, she invited former UCP MLA and fellow leadership candidate Todd Loewen back into caucus.[44]
  • October 11: Danielle Smith is sworn in as the 19th premier of Alberta.[45]
  • October 21: Wildrose Independence Party leader Paul Hinman is removed as leader by a court decision. Jeevan Mangat is named interim party leader. Hinman is appealing the decision.[46][47]
  • December 8: John Roggeveen is appointed permanent leader of the Alberta Liberal Party.[48][49]

2023

  • May 1: Writs of election issued.[1]
  • May 6: A state of emergency is declared in Alberta due to ongoing wildfires throughout the province.[50]
  • May 18: The Alberta Ethics Commissioner released a report finding UCP leader Danielle Smith violated the Conflict of Interest Act over a conversation with Justice Minister Tyler Shandro regarding a COVID-19 prosecution.[51]
  • May 18: Smith-Notley Debate.[52][53]
  • May 23–27: Advance voting.[1]
  • May 29: Election day.[1]

Changes in MLAs

Changes in seats held (2019–2023)
Seat Before Change
Date Member Party Reason Date Member Party
Lesser Slave Lake January 14, 2021 Pat Rehn  United Conservative Removed from caucus due to lack of constituency work[54]  Independent
July 14, 2021  Independent Returned to caucus[55][56]  United Conservative
Central Peace-Notley May 13, 2021 Todd Loewen  United Conservative Expelled by caucus over criticism of then premier Jason Kenney's COVID-19 policies [57][58]  Independent
October 7, 2022  Independent Returned to caucus[59]  United Conservative
Cypress-Medicine Hat May 13, 2021 Drew Barnes  United Conservative Expelled by caucus over criticism of then premier Jason Kenney's COVID-19 policies[57][58]  Independent
Fort McMurray-Lac La Biche August 15, 2021 Laila Goodridge  United Conservative Resigned to stand for election to Fort McMurray-Cold Lake in the 2021 Canadian federal election[60] March 15, 2022 Brian Jean[61]  United Conservative
Edmonton-South December 21, 2021 Thomas Dang  New Democratic Resigned from caucus after RCMP investigation was conducted  Independent
Calgary-Elbow August 31, 2022 Doug Schweitzer  United Conservative Resigned from Legislature; retired from politics for private sector[62]  Vacant
Brooks-Medicine Hat October 7, 2022 Michaela Frey  United Conservative Resigned from Legislature to allow Danielle Smith to stand in a by-election[63] November 8, 2022 Danielle Smith[64]  United Conservative
Calgary-Lougheed November 30, 2022 Jason Kenney  United Conservative Resigned from Legislature; left politics[65]  Vacant

Incumbent MLAs not seeking re-election

In the months leading up to the 2023 Alberta general election, several incumbent members of the Legislative Assembly announced they would not seek re-election. This included three members of the Smith ministry including leadership contest runner-up Travis Toews (Minister of Finance and president of Treasury Board),[66] Sonya Savage (Minister of Environment and Protected Areas),[67] and Rajan Sawhney (Minister of Trade, Immigration and Multiculturalism). Shortly after Sawhney's decision not to run again, she was nominated by Smith as the United Conservative candidate for Calgary-North West.[68] Other United Conservative members of the Legislative Assembly who decided not to run again include former Ministers in the Kenney ministry: Leela Aheer,[69] Ron Orr,[70] Tracy Allard,[71] and Brad Rutherford;[72] as well as caucus members Mark Smith,[73] Roger Reid,[74] and Richard Gotfried.[75] Dave Hanson, member for Bonnyville-Cold Lake-St. Paul, lost his nomination contest against former Bonnyville-Cold Lake representative Scott Cyr;[76] and Tany Yao, member for Fort McMurray-Wood Buffalo, lost his nomination contest to Zulkifl Mujahid, who was subsequently removed by the provincial board and replaced by Yao due to ongoing legal matters.[77]

New Democratic members of the Legislative Assembly deciding not to run in 2023 include members of the Notley ministry, such as Deron Bilous,[78] along with Richard Feehan,[75] as well as caucus member Jon Carson. Chris Nielsen, member for Edmonton-Decore, lost his nomination contest to Sharif Haji.[79] Two independent members of the Legislative Assembly decided not to run in 2023 include former New Democrat Thomas Dang,[80] along with former United Conservative Drew Barnes.[81]

MLAs have announced that they would not run in the 2023 provincial election
Retiring incumbent Electoral district Subsequent party nominee Elected MLA
  Thomas Dang[80] Independent[lower-alpha 2] Edmonton-South Rhiannon Hoyle Rhiannon Hoyle
  Deron Bilous[78] New Democratic Edmonton-Beverly-Clareview Peggy Wright Peggy Wright
  Jon Carson New Democratic Edmonton-West Henday Brooks Arcand-Paul Brooks Arcand-Paul
  Richard Feehan[75] New Democratic Edmonton-Rutherford Jodi Calahoo Stonehouse Jodi Calahoo Stonehouse
  Drew Barnes[81] Independent[lower-alpha 3] Cypress-Medicine Hat Justin Wright Justin Wright
  Leela Aheer[69] United Conservative Chestermere-Strathmore Chantelle de Jonge Chantelle de Jonge
  Richard Gotfried[82] United Conservative Calgary-Fish Creek Myles McDougall Myles McDougall
  Ron Orr[70] United Conservative Lacombe-Ponoka Jennifer Johnson[lower-alpha 4] Jennifer Johnson
  Pat Rehn[83] United Conservative Lesser Slave Lake Scott Sinclair Scott Sinclair
  Roger Reid[74] United Conservative Livingstone-Macleod Chelsae Petrovic Chelsae Petrovic
  Brad Rutherford[72] United Conservative Leduc-Beaumont Brandon Lunty Brandon Lunty
  Mark Smith[73] United Conservative Drayton Valley-Devon Andrew Boitchenko Andrew Boitchenko
  Sonya Savage[67] United Conservative Calgary-North West Rajan Sawhney[68] Rajan Sawhney
Rajan Sawhney[84][lower-alpha 5] United Conservative Calgary-North East Inder Grewal Gurinder Brar
  Travis Toews[66] United Conservative Grande Prairie-Wapiti Ron Wiebe Ron Wiebe
  Tracy Allard[71] United Conservative Grande Prairie Nolan Dyck Nolan Dyck
MLAs that lost nomination races
Outgoing incumbent Electoral district Subsequent party nominee Elected MLA
  Dave Hanson United Conservative Bonnyville-Cold Lake-St. Paul Scott Cyr[76] Scott Cyr
  Chris Nielsen New Democratic Edmonton-Decore Sharif Haji[79] Sharif Haji
  Tany Yao United Conservative Fort McMurray-Wood Buffalo Tany Yao[77][lower-alpha 6] Tany Yao

Campaign

Lua error in package.lua at line 80: module 'strict' not found.

Issues

Healthcare

Following her selection as leader of the United Conservative Party, Danielle Smith made a number of changes to Alberta's healthcare system. Smith fired the Alberta Health Services Board of Governors, replacing the board with a single administrator.[85] In addressing ambulance capacity, the Smith government changed non-medical patient transports, using taxis and other services to open capacity for ambulance crews.[86] Ambulance measures came after it came to light that 9,629 ambulance shifts in Calgary were unfilled in 2022.[86] The United Conservative Party promised to hire more obstetricians and educational support in a focus on women and children, and offered a bonus for healthcare professionals moving to Alberta.[87] During her leadership campaign, Smith advocated for a government funded $300 Health Spending Account for all Albertans to fund services that are not covered by the province, such as dental care;[88][89] however, the promise was not included in the Smith government's 2023-24 budget.[90] Smith's previous advocacy for creating co-payments and shifting the burden of healthcare payments from the government to individuals, employers and insurance companies[91] was criticized by the New Democratic Party.[88]

The New Democratic Party made a number healthcare related campaign promises, including hiring 1,500 healthcare professionals to increase the capacity of family doctors,[92] offering $10,000 signing bonus for healthcare workers and increasing the number of healthcare spaces in post-secondary schools.[87] The New Democratic Party included a pledge to review private health service contracts made by the Jason Kenney's government for private surgical centres and diagnostic laboratories.[93]

Economy

During their campaign, the United Conservative Party pledged to reduce personal income taxes by introducing a new tax bracket for individuals earning below $60,000. This move creating an 8 per cent tax rate would result in a $1 billion reduction in government revenue.[94] As an affordability measure, the United Conservatives proposed extending the fuel tax holiday, previously budgeted until June 2023, to December 2023, at an estimated cost of $570 million.[94] Danielle Smith advocated for a non-refundable tax credit for post-secondary graduates who chose to remain in Alberta. The credit would range from $3,000 to $10,000 and was projected to cost $50 million over a four-year period.[95] The United Conservatives pledged to extend the net-zero transition of the electricity grid, moving the federally mandated timeline of 2035 to 2050.[96] In the lead-up to the election, Danielle Smith announced support for the construction of a $1.2 billion arena in Calgary. The provincial government would contribute $330 million towards the project if re-elected.[97]

The New Democratic Party campaigned on a platform that emphasized no increase in personal income taxes for a four-year period and a freeze on personal insurance rates.[94] Additionally, they made a commitment to implement the recommendations of Todd Hirsch, the former ATB Financial Chief Economist. These recommendations would establish fixed formulas for non-renewable natural resource revenue, debt, and GDP to guide future spending.[94] Rachel Notley, the leader of the New Democratic Party, expressed her support for transitioning the electrical grid to net-zero emissions by 2035.[96] Prior to the election, Notley pledged her support for a $200 million post-secondary campus located in downtown Calgary. The intention behind this pledge was to foster innovation and promote economic diversification in the Calgary core.[98]

Education

During the campaign, both the United Conservative Party and New Democratic Party made a conscious decision to steer clear of controversial education-related issues, such as proposed changes to the provincial curriculum and expansion of charter school funding. University of Calgary political scientist Lisa Young noted the parties avoided these topics in an effort to avoid alienating undecided voters.[99]

Prior to the election, the United Conservative government of Jason Kenney had an education policy favouring charter schools,[100] and undergoing a curriculum review, which was criticized by the Alberta Teachers' Association.[101] The New Democratic Party committed to increasing funding for public education by $700 million over a four years. The funding would hire 4,000 teachers and 3,000 support workers in an effort to reduce class sizes.[102]

Public safety

In an effort to enhance confidence in public safety, Danielle Smith promised to implement an ankle bracelet monitoring program to supervise violent offenders who were released on bail. This program was estimated to cost $2 million annually.[103] Additionally, the United Conservative Party pledged to hire 100 additional police officers in Calgary and Edmonton.[103] They also proposed deploying Alberta Sheriffs to the border to combat drug and gun trafficking and to increase funding for specialized law enforcement teams.[103] Prior to the start of the election, Danielle Smith said that she would not campaign on the previous United Conservative promise to replace the Royal Canadian Mounted Police with the Alberta Provincial Police. She indicated that the issue would be revisited if the United Conservatives were re-elected.[104]

The New Democratic Party pledged to strengthen law enforcement by hiring an additional 150 police officers and 150 support staff, including social workers and addiction counselors.[105] They proposed funding this initiative by reversing the changes implemented by the United Conservative Party in 2019 which increased the provincial share of police fine revenue from 26.7 per cent to 40 per cent.[105] Furthermore, the New Democrats committed to canceling the United Conservative Party's efforts to replace the Royal Canadian Mounted Police with a provincial police force.[105]

Debates

On May 18, a televised debate took place between Smith and Notley.[52][53]

Endorsements

Endorsements received by each party
Type UCP NDP
Media
Politicians and public figures
Unions and business associations
Others

Opinion polling

<templatestyles src="Import-blanktable/styles.css"/> A local regression graph displaying the polls between the 2019 and 2023 Albertan elections

The following is a list of published opinion polls of voter intentions.


Opinion polls during campaign period
Pollster Client Dates
conducted
Source UCP NDP Alberta Liberal IPA Green WIP SMA Others Margin of error Sample
size
Polling
method
Lead
General Election May 29, 2023 [p 1] 52.6% 44.0% 0.7% 0.2% 0.3% 0.8% 0.1% 0.3% 8.6%
Forum Research N/A May 28, 2023 [p 2] 50.4% 44.3% 1.6% 3.7% 3.1% 1,000 IVR 6.1%
Mainstreet Research N/A May 26–28, 2023 [p 3][p 4] 49.8% 47.8% 0.5% 1% 0.3% 0.5% 2.5% 1,504 IVR 2%
Abacus Data N/A May 26–28, 2023 [p 5] 49% 48% 1% 2% 2.9% 1,200 Online 1%
Research Co. N/A May 26–27, 2023 [p 6] 50% 46% 1% 1% 2% 4.0% 600 Online 4%
Ipsos Global News May 24–27, 2023 [p 7] 51% 46% 3% 3.1% 1,300 Online/Phone 5%
Mainstreet Research N/A May 24–27, 2023 [p 8] 48% 47% 2% 1% 1% 1% 2.2% 1,922 IVR 1%
Counsel Public Affairs N/A May 25–26, 2023 [p 9][p 10] 41% 46% 5% 5% 4% 3% 1,232 Online 5%
Mainstreet Research N/A May 23–26, 2023 [p 11] 49% 46% 2% 1% 1% 1% 2.3% 1,841 IVR 3%
Sovereign North Strategies N/A May 22–26, 2023 [p 12] 46% 48% 2% 2% 2% 1.8% 3,053 IVR/SMS 2%
EKOS N/A May 19–26, 2023 [p 13][p 14] 50.4% 47.3% 0.8% 0.4% 1.1% 2.35% 1,741 Online/IVR 3.1%
Leger Postmedia May 23–25, 2023 [p 15][p 16] 49% 46% 1% 1% 1% 2% 3.1% 1,011 Online 3%
Oraclepoll Research N/A May 22–25, 2023 [p 17] 49% 46% 2% 3% 3.5% 800 Telephone 3%
Mainstreet Research N/A May 22–25, 2023 [p 18] 48% 46% 2% 2% 1% 1% 2.3% 1,734 IVR 2%
Mainstreet Research N/A May 21–24, 2023 [p 19] 49% 45% 2% 2% 1% 1% 2.3% 1,700 IVR 4%
Janet Brown Opinion Research CBC May 12–24, 2023 [p 20][p 21] 52% 44% 1% 1% 1% 1% <1% <1% 2.8% 1,200 Telephone/Online 8%
Mainstreet Research N/A May 20–23, 2023 [p 22] 50% 44% 2% 1% 1% 1% 2.4% 1,662 IVR 6%
Mainstreet Research N/A May 19–22, 2023 [p 23] 50% 44% 2% 2% 1% 2% 2.4% 1,655 IVR 6%
Abacus Data N/A May 19–22, 2023 [p 24] 51% 47% 1% 1% 2.6% 1,507 Online 4%
Mainstreet Research N/A May 18–21, 2023 [p 25] 49% 44% 3% 1% 1% 1% 2.4% 1,656 IVR 5%
Mainstreet Research N/A May 17–20, 2023 [p 26] 47% 46% 3% 2% 1% 2% 2.4% 1,645 IVR 1%
Mainstreet Research N/A May 16–19, 2023 [p 27] 48% 45% 3% 2% 1% 1% 2.4% 1,657 IVR 3%
May 18, 2023 Televised leaders' debate.
Mainstreet Research N/A May 15–18, 2023 [p 28] 47% 47% 3% 2% 1% 1% 2.5% 1,519 IVR Tie
Research Co. N/A May 16–17, 2023 [p 29] 47% 49% 1% 1% 2% 4.0% 529 Online 2%
Abacus Data N/A May 15–17, 2023 [p 30] 46% 49% 3% 2% 3.4% 498 Online 3%
Mainstreet Research N/A May 14–17, 2023 [p 31] 48% 46% 2% 2% 1% 1% 2.6% 1,404 IVR 2%
Sovereign North Strategies N/A May 13–16, 2023 [p 32] 47% 49% 2% 1% 1% 1.7% 3,431 IVR/SMS 2%
Mainstreet Research N/A May 13–16, 2023 [p 33] 49% 45% 2% 1% 1% 1% 2.7% 1,296 IVR 4%
Angus Reid N/A May 12–16, 2023 [p 34][p 35] 51% 43% 3% 1% 1% 3% 1,202 Online 8%
Mainstreet Research N/A May 12–15, 2023 [p 36] 49% 45% 3% 1% 1% 1% 2.8% 1,218 IVR 4%
Counsel Public Affairs N/A May 12–14, 2023 [p 37][p 38] 38% 48% 5% 4% 5% 3% 1,219 Online 10%
Mainstreet Research N/A May 11–14, 2023 [p 39] 49% 45% 3% 1% 1% 1% 2.9% 1,140 IVR 4%
Ipsos Global News May 10–13, 2023 [p 40] 48% 45% 3% 4% 3.9% 800 Online 3%
Mainstreet Research N/A May 10–13, 2023 [p 41] 49% 44% 2% 2% 1% 1% 2.9% 1,103 IVR 5%
Sovereign North Strategies Western Standard May 8–13, 2023 [p 42][p 43] 45% 50% 2% 2% 2% 1.8% 2,909 IVR/SMS 5%
Mainstreet Research N/A May 9–12, 2023 [p 44] 50% 44% 2% 1% 1% 2% 2.7% 1,280 IVR 6%
Abacus Data N/A May 9–12, 2023 [p 45] 41% 51% 5% 3% 3.4% 885 Online 10%
Janet Brown Opinion Research N/A May 1–11, 2023 [p 46] 51% 40% 3.3% 900 Telephone 11%
Sovereign North Strategies N/A May 1–7, 2023 [p 47] 48% 47% 3% 1% 2% 1.9% 2,491 IVR/SMS 1%
Mainstreet Research N/A May 1–2, 2023 [p 48] 50% 43% 4% 1% 2% 2.5% 1,524 IVR 7%
Leger Postmedia April 28–May 1, 2023 [p 49] 43% 45% 4% 3% 1% 3% 3.1% 1,000 Online 2%
Opinion polling before campaign period began
Pollster Client Dates
conducted
Source UCP NDP Alberta Liberal IPA Green WIP Others Margin of error Sample
size
Polling
method
Lead
Ipsos Global News April 26–30, 2023 [p 50] 48% 44% 4% 4% 3.2% 1,200 Online/Phone 4%
ThinkHQ N/A April 25–29, 2023 [p 51] 46% 46% 5% 1% 2% 2.5% 1,529 Online Tie
Abacus Data N/A April 21–25, 2023 [p 52] 46% 46% 5% 4% 3.1% 1,000 Online Tie
Oraclepoll Research N/A April 17–20, 2023 [p 53] 44% 46% 3% 5% 1% 1% 3.5% 800 Telephone 2%
Innovative Research N/A Apr 13–19, 2023 [p 54] 41% 40% 4% 7% 4% 3% <1% N/A 1,324 Online 1%
Leger N/A Mar 24–27, 2023 [p 55] 44% 47% 2% 3% 1% 2% 3.1% 1,001 Online 3%
Mainstreet Research N/A Mar 21–22, 2023 [p 56] 45% 45.9% 3.2% 2.2% 3.6% 2.9% 1,108 IVR 0.9%
Innovative Research N/A Mar 2–20, 2023 [p 57] 39% 40% 5% 7% 6% 4% 0% N/A 489 Online 1%
ThinkHQ N/A Mar 14–16, 2023 [p 58] 45% 46% 6% 2% 1% 2.9% 1,122 Online 1%
Angus Reid N/A Mar 6–13, 2023 [p 59] 49% 42% 4% 2% 2% 1% 3% 827 Online 7%
Abacus Data N/A Mar 2–4, 2023 [p 60] 45% 45% 6% 4% 3.8% 700 Online Tie
Leger Postmedia Feb 10–12, 2023 [p 61] 43% 47% 2% 4% 2% 2% 3.1% 1,002 Online 4%
Pivotal Research N/A Jan 31–Feb 7, 2023 [p 62][p 63] 42% 46% 6% 6% 1% 4.8% 662 Online 4%
Abacus Data N/A Feb 1–6, 2023 [p 64] 47% 45% 5% 3% 3.1% 1,000 Online 2%
ThinkHQ N/A Jan 19–20, 2023 [p 65] 48% 45% 4% 1% 2.9% 1,144 Online 3%
Mainstreet Research N/A Jan 19–20, 2023 [p 66] 45.6% 41.3% 5.9% 3.6% 3.6% 3.9% 646 Smart IVR 4.3%
Abacus Data N/A Dec 6–10, 2022 [p 67] 43% 51% 3% 3% 3.1% 1,000 Online 8%
Mainstreet Research N/A Dec 2–3, 2022 [p 68] 47% 45% 3.8% 0.8% 3.3% 4% 615 IVR 2%
Angus Reid N/A Nov 28–Dec 3, 2022 [p 69] 48% 44% 5% 1% 1% 1% 4% 591 Online 4%
Leger Postmedia Nov 24–28, 2022 [p 70] 44% 47% 2% 4% 2% 2% 3.1% 1,001 Online 3%
Janet Brown Opinion Research CBC Oct 12–30, 2022 [p 71] 38% 47% 3% 2% 1% <1% 1% 8% 2.8% 1,200 Telephone 9%
Navigator Ltd. N/A Oct 7–11, 2022 [p 72] 38% 53% 4% 5% 3.5% 1,002 Online 15%
Leger Postmedia Oct 7–10, 2022 [p 73] 42% 44% 3% 4% 4% 4% 3.1% 1,000 Online 2%
October 6, 2022 Danielle Smith elected leader of the UCP and is appointed premier on October 11.
Angus Reid N/A Sep 19–21, 2022 [p 74][p 75] 47% 41% 4% 2% 5% 1% 3% 598 Online 6%
Leger Postmedia Sep 1–5, 2022 [p 76] 44% 41% 4% 2% 4% 3% 3.1% 1,006 Online 3%
Leger Postmedia July 15–17, 2022 [p 77] 41% 45% 5% 2% 4% 3% 3.1% 1,025 Online 4%
Angus Reid N/A June 7–13, 2022 [p 78] 42% 40% 6% 2% 9% 2% 4% 592 Online 2%
Counsel Public Affairs N/A June 8–11, 2022 [p 79] 37% 42% 5% 8% 9% 3.5% 788 Online 5%
Leger N/A May 20–23, 2022 [p 80] 42% 40% 3% 3% 5% 4% 3.1% 1,000 Online 2%
May 18, 2022 Jason Kenney announced his intention to resign as premier of Alberta and leader of the UCP.
ThinkHQ N/A Mar 29–April 1, 2022 [p 81] 34% 46% 5% 2% 13% 2% 2.9% 1,135 Online 12%
Mainstreet Research N/A Mar 23–24, 2022 [p 82] 37% 40% 6% 2% 1% 9% 4% 3% 1,290 IVR 3%
Leger N/A Mar 18–20, 2022 [p 83] 35% 44% 3% 4% 8% 6% 3.1% 1,002 Online 9%
Angus Reid N/A Mar 10–15, 2022 [p 84][p 85] 38% 40% 6% 2% 11% 3% 4% 584 Online 2%
Research Co. N/A Mar 11–13, 2022 [p 86] 30% 45% 7% 5% 1% 3% 8% 1% 4% 600 Online 15%
Janet Brown Opinion Research N/A Feb 25–Mar 10, 2022 [p 87] 40% 36% 3.3% 900 Telephone 4%
Yorkville Strategies N/A Mar 3–9, 2022 [p 88] 44% 39% 4% 3% 8% 2% 4% 600 Telephone 5%
Angus Reid N/A Jan 7–12, 2022 [p 89] 31% 42% 8% 1% 16% 2% 4% 548 Online 11%
Leger Postmedia Dec 2–5, 2021 [p 90] 32% 43% 10% 2.8% 1,249 Online 11%
Nanos Yellowstone to Yukon Oct 13–Nov 1, 2021 [p 91] 38.8% 47.2% 6.5% 2.1% 0.1% 3.3% 1.8% 3.5% 801 Online 8.4%
Mainstreet Research Western Standard Oct 12–13, 2021 [p 92] 29% 45% 6% 2% 1% 13% 3.2% 935 IVR 16%
Commonground N/A Sep 21–Oct 6, 2021 [p 93] 26.9% 49.5% 6.7% 5.2% 5.3% 6.4% N/A 1,204 Online 22.6%
Innovative Research N/A Sep 24–Oct 5, 2021 [p 94] 29% 45% 5% 9% 2% 8% 1% N/A 672 Online 16%
Angus Reid N/A Sep 29–Oct 3, 2021 [p 95] 31% 43% 7% 2% 1% 15% 2% 2.0% 552 Online 12%
Innovative Research N/A Sep 10–12, 2021 [p 96] 31% 44% 5% 8% 4% 7% 1% N/A 209 Online 13%
Leger Postmedia July 22–26, 2021 [p 97] 34% 45% 6% 4% 8% 2% 3% 1,377 Online 11%
Angus Reid N/A June 2–7, 2021 [p 98] 30% 41% 7% 1% 20% 2% 4% 502 Online 11%
Mainstreet Research Western Standard May 19–20, 2021 [p 99] 31% 38% 6% 3% 3% 17% 3% 1,010 IVR 7%
Janet Brown Opinion Research CBC Mar 15–April 10, 2021 [p 100] 37% 45% 6% 6% 7% 2.1% 1,200 Online 8%
Leger Calgary Herald Mar 5–8, 2021 [p 101] 30% 51% 5% 7% 6% 3.1% 1,001 Online 21%
Commonground N/A Mar 1–8, 2021 [p 102] 32% 42% 5% 6% 4% 9% N/A 802 Online 9%
Angus Reid N/A Feb 26–Mar 3, 2021 [p 103][p 104] 38% 41% 10% 2% 1% 11% 4% 603 Online 3%
Mainstreet Research Western Standard Jan 6–7, 2021 [p 105] 31% 48% 4% 3% 2% 10% 2% 3.1% 1,003 Smart IVR 17%
Research Co. N/A Dec 2–4, 2020 [p 106] 40% 43% 9% 2% 2% 2% 4% 600 Online 3%
Angus Reid N/A Nov 24–30, 2020 [p 107][p 108] 43% 39% 10% 2% 1% 5% 553 Online 4%
Environics Research CUPE Nov 10–23, 2020 [p 109] 40% 47% 8% 5% 1,205 7%
Angus Reid N/A Aug 26–Sep 1, 2020 [p 110][p 111] 38% 38% 9% 2% 7% 1% 5% 4% 512 Online Tie
Commonground N/A Aug 17–30, 2020 [p 112] 37% 30% 11% 21% N/A 824 Online 7%
Innovative Research Group N/A Jul 14–20, 2020 [p 113] 42% 32% 9% 12% 3% 3% 300 Online 10%
Innovative Research Group N/A Jun 19–23, 2020 [p 114] 44% 38% 5% 6% 3% 3% 267 Online 6%
Innovative Research Group N/A May 29–June 1, 2020 [p 115] 42% 28% 11% 14% 3% 2% 276 Online 14%
Janet Brown Opinion Research CBC May 25–June 1, 2020 [p 116] 46% 36% 10% 6% 3% 3.3% 900 Online 10%
Angus Reid N/A May 19–24, 2020 [p 117][p 118] 42% 36% 5% 2% 8% 2% 4% 1.4% 580 Online 6%
Northwest Research Group Western Standard May 14–19, 2020 [p 119] 40% 34% 8% 7% 1% 10% 3% 1,094 IVR 6%
Innovative Research Group N/A May 1–5, 2020 [p 120] 45% 30% 6% 8% 7% 2% 314 Online 15%
Angus Reid N/A Feb 24–28, 2020 [p 121][p 122] 40% 36% 8% 2% 9% 1% 4% 555 Online 4%
Mainstreet Research 338Canada Feb 22, 2020 [p 123] 47% 38% 6% 4% 5% 4% 751 IVR 9%
Stratcom N/A Nov 21, 2019 [p 124] 42% 46% 12% 2.2% 1,798 IVR 4%
Lethbridge College N/A Oct 5-10, 2019 [p 125] 58.1% 23.2% 5.8% 7.8% 5.2% 3.17% 953 Telephone 34.9%
2019 general election April 16, 2019 54.9% 32.7% 9.1% 1.0% 0.7% 0.4% 1.2% 22.2%
Pollster Client Dates
conducted
Source Others Margin of error Sample
size
Polling
method
Lead
UCP NDP Alberta Liberal IPA Green WIP

Regional polls

Opinion polls in Calgary
Pollster Client Dates
conducted
Source UCP NDP Alberta Liberal Green WIP Others Margin of error Sample
size
Polling
method
Lead
ThinkHQ N/A May 19–23, 2023 [p 126] 43% 49% 6% 2% 1% 3% 973 Online 6%
Mainstreet Research N/A April 17–18, 2023 [p 127] 45.6% 44.1% 2.4% <1,651 Smart IVR 1.5%
Janet Brown Opinion Research CBC Mar 23–April 6, 2023 [p 128] 42% 47% 3% 1% 1% 1% 3.1% 1,000 Telephone / Online 5%
2019 general election April 16, 2019 53.2% 34.0% 9.5% 2.0% 0.6% 18.6%
Pollster Client Dates
conducted
Source UCP NDP Alberta Liberal Green WIP Others Margin of error Sample
size
Polling
method
Lead

Candidates

Candidates who are running are as follows:[120]

Party leaders are in bold. Candidate names appear as they appeared on the ballot.

† = Not seeking re-election
‡ = Running for re-election in different riding § = Represents that the incumbent lost that party's nomination

Northern Alberta

Electoral district Candidates   Incumbent
  UCP   NDP   Alberta Party   Alberta Independence Other
Athabasca-Barrhead-Westlock Glenn van Dijken Landen Tischer Glenn van Dijken
Bonnyville-Cold Lake-St. Paul Scott Cyr Caitlyn Blake Dave Hanson§
Central Peace-Notley Todd Loewen Megan Ciurysek Wanda Lynn Lekisch Rodney Bowen Nancy O'Neill (SMA) Todd Loewen
Fort McMurray-Lac La Biche Brian Jean Calan William Simeon Hobbs Kdmkevin Johnston (Ind.) Brian Jean
Fort McMurray-Wood Buffalo Tany Yao Tanika Chaisson Bradley Friesen Funky Banjoko (Ind.)
Zulkifl Mujahid (Ind.)
Tany Yao
Grande Prairie Nolan Dyck Kevin McLean Preston Mildenberger David Braun Shane Diederich (Green) Tracy Allard
Grande Prairie-Wapiti Ron Wiebe Dustin Archibald Brooklyn Biegel Travis Toews
Lesser Slave Lake Scott Sinclair Danielle Larivee Bert "Bertrand" Seatter (SMA) Pat Rehn
Peace River Dan Williams Liana Paiva Sharon Noullett Conrad Nunweiler (Ind.) Dan Williams

Edmonton

Central

Electoral district Candidates   Incumbent
  UCP   NDP   Green Other
Edmonton-City Centre Richard Wong David Shepherd David Clark David Shepherd
Edmonton-Glenora Melissa Crane Sarah Hoffman Julian Schulz David John Bohonos (SMA) Sarah Hoffman
Edmonton-Gold Bar Miles Berry Marlin Schmidt Ernestina Malheiro Graham Lettner (Ind.) Marlin Schmidt
Edmonton-Highlands-Norwood Nicholas Kalynchuk Janis Irwin Kristine Kowalchuk Naomi Rankin (Comm.) Janis Irwin
Edmonton-Riverview Terry Vankka Lori Sigurdson Robin George Eric Champagne (Lib.) Lori Sigurdson
Edmonton-Strathcona Emad El-Zein Rachel Notley Robert Gooding-Townsend Andrew Jacobson (Buffalo)
Robert Nielsen (WLC)
Rachel Notley

North

Electoral district Candidates   Incumbent
  UCP   NDP   Green Other
Edmonton-Beverly-Clareview Luke Suvanto Peggy Wright Michael Hunter Andrzej "Andy" Gudanowski (Ind.) Deron Bilous
Edmonton-Castle Downs Jon Dziadyk Nicole Goehring Patrick Stewart (AP) Nicole Goehring
Edmonton-Decore Sayid Ahmed Sharif Haji Brent Tyson (AP)
Don Slater (Lib.)
Chris Nielsen§
Edmonton-Manning Albert Mazzocca Heather Sweet Derek Thompson Heather Sweet
Edmonton-McClung Daniel Heikkinen Lorne Dach Terry Syvenky Andrew J. Lineker (Ind.) Lorne Dach
Edmonton-North West Ali Haymour David Eggen Tyler Beaulac David Eggen
Edmonton-West Henday Slava Cravcenco Brooks Arcand-Paul Kristina Howard Dan Bildhauer (Lib.) Jon Carson

South

Electoral district Candidates   Incumbent
  UCP   NDP   Green Other
Edmonton-Ellerslie R. Singh Bath Rod Loyola Angela Stretch (WLC) Rod Loyola
Edmonton-Meadows Amrit Singh Matharu Jasvir Deol Corrine Benson (Comm.) Jasvir Deol
Edmonton-Mill Woods Raman Athwal Christina Gray Christina Gray
Edmonton-Rutherford Laine Larson Jodi Calahoo Stonehouse Jordan Wilkie Richard Feehan
Edmonton-South Joseph Angeles Rhiannon Hoyle Chryssy Beckmann Thomas Dang
Edmonton-South West Kaycee Madu Nathan Ip Jeff Cullihall Kaycee Madu
Edmonton-Whitemud Raj Sherman Rakhi Pancholi Cheri Hawley Donna Wilson (Lib.) Rakhi Pancholi

Suburbs

Electoral district Candidates   Incumbent
  UCP   NDP   Green   SMA Other
Fort Saskatchewan-Vegreville Jackie Armstrong-Homeniuk Taneen Rudyk Margaret MacKay Kelly Zeleny (APA)
Kathy Flett (Ind.)
Jackie Armstrong-Homeniuk
Leduc-Beaumont Brandon Lunty Cam Heenan Bill Kaufmann Sharon MacLise (IPA)
Kirk Cayer (Ind.)
Brad Rutherford
Morinville-St. Albert Dale Nally Karen Shaw Kurt Klingbeil Wayne Rufiange (AP) Dale Nally
St. Albert Angela Wood Marie Renaud Cameron Jefferies Marie Renaud
Sherwood Park Jordan Walker Kyle Kasawski Sue Timanson (AP)
Jacob Stacey (Lib.)
Jordan Walker
Spruce Grove-Stony Plain Searle Turton Chantal Saramaga-McKenzie Daniel Birrell Darlene Clarke Searle Turton
Strathcona-Sherwood Park Nate Glubish Bill Tonita Jody Balanko (Ind.) Nate Glubish

Central Alberta

West

Electoral district Candidates   Incumbent
  UCP   NDP   Green   WLC   SMA Other
Drayton Valley-Devon Andrew Boitchenko Harry Singh Jon Hokanson Gail Tookey Dale Withers (APA) Mark Smith
Innisfail-Sylvan Lake Devin Dreeshen Jason Heistad Brandon Pringle David Reid (IPA)
Jeevan Mangat (WIP)
Randy Thorsteinson (Reform)
Devin Dreeshen
Lac Ste. Anne-Parkland Shane Getson Oneil Carlier Vanessa Diehl Marilyn Burns (APA)
Janet Jabush (AP)
Shane Getson
Red Deer-North Adriana LaGrange Jaelene Tweedle Heather Morigeau Kallie Dyck Vicky Bayford (IPA) Adriana LaGrange
Red Deer-South Jason Stephan Michelle Baer Ashley MacDonald Jesse Stretch Pamela Liebenberg Jason Stephan
Rimbey-Rocky Mountain House-Sundre Jason Nixon Vance Buchwald Tami Tatlock Carol Nordlund Kinsey (APA)
Fred Schwieger (Ind.)
Tim Hoven (Ind.)
Jason Nixon
West Yellowhead Martin Long Fred Kreiner Martin Long

East

Electoral district Candidates   Incumbent
  UCP   NDP   Green   WLC   SMA Other
Camrose Jackie Lovely Richard Bruneau Pamela Henson Bob Blayone (Ind.) Jackie Lovely
Drumheller-Stettler Nate Horner Juliet Franklin Hannah Stretch Viens Carla Evers Shannon Packham (IPA) Nate Horner
Lacombe-Ponoka Jennifer Johnson Dave Dale Taylor Lowery Daniel Jeffries Nathan Leslie Myles Chykerda (AP) Ron Orr
Maskwacis-Wetaskiwin Rick Wilson Katherine Swampy Justin Fuss Suzanne Jubb Marie Rittenhouse (Ind.) Rick Wilson
Vermilion-Lloydminster-Wainwright Garth Rowswell Dawn Flaata Tigra-Lee Campbell Danny Hozack Darrell Dunn (AP)
Matthew Powell (Ind.)
Garth Rowswell

Calgary

Central

Electoral district Candidates   Incumbent
  UCP   NDP   Green   SMA Other
Calgary-Buffalo Astrid Kuhn Joe Ceci Jonathan Parks Lola Henry Joe Ceci
Calgary-Currie Nicholas Milliken Janet Eremenko Lane Robson Dawid Pawlowski Leila Keith (Lib.)
Jason Avramenko (AP)
Nicholas Milliken
Calgary-Elbow Chris Davis Samir Kayande Artur Pawlowski Kerry Cundal (AP) Vacant
Calgary-Klein Jeremy Nixon Lizette Tejada Kenneth Drysdale Rob Oswin Jeremy Nixon
Calgary-Mountain View Pamela Rath Kathleen Ganley Christopher Wedick Lucas Hernandez (Pro-Life)
Frances Woytkiw (Lib.)
Kathleen Ganley
Calgary-Varsity Jason Copping Luanne Metz Kent Liang Oaklan Davidsen (WLC) Jason Copping

East

Electoral district Candidates   Incumbent
  UCP   NDP   Green   SMA Other
Calgary-Cross Mickey Amery Gurinder Singh Gill Aman Sandhu Kathryn Lapp Mickey Amery
Calgary-East Peter Singh Rosman Valencia Jayden Baldonado Garry Dirk Jonathan Trautman (Comm.) Peter Singh
Calgary-Falconridge Devinder Toor Parmeet Singh Boparai Ahmed Hassan Evan Wilson Kyle Kennedy (Ind.) Devinder Toor
Calgary-Bhullar-McCall Amanpreet Singh Gill Irfan Sabir Irfan Sabir
Calgary-North East Inder Grewal Gurinder Brar Rajan Sawhney
Calgary-Peigan Tanya Fir Denis Ram Shaun Pulsifer Tanya Fir

Northwest

Electoral district Candidates   Incumbent
  UCP   NDP   Alberta Party   SMA Other
Calgary-Beddington Josephine Pon Amanda Chapman Wayne Jackson Zarnab Shahid Zafar (Lib.) Josephine Pon
Calgary-Bow Demetrios Nicolaides Druh Farrell Paul Godard Manuel Santos Demetrios Nicolaides
Calgary-Edgemont Prasad Panda Julia Hayter Allen Schultz Miles Williams Nan Barron (WLC) Prasad Panda
Calgary-Foothills Jason Luan Court Ellingson Kami Dass Keenan DeMontigny (Ind.) Jason Luan
Calgary-North Muhammad Yaseen Rajesh Angral Muhammad Yaseen
Calgary-North West Rajan Sawhney Michael Lisboa-Smith Jenny Yeremiy Alain Habel Serena Thomsen (Ind.) Sonya Savage
Calgary-West Mike Ellis Joan Chand'oiseau Jason McKee (Green) Mike Ellis

South

Electoral district Candidates   Incumbent
  UCP   NDP   Green   SMA Other
Calgary-Acadia Tyler Shandro Diana Batten Paul Bechthold Linda McClelland Larry R. Heather (Ind.)
Donna Kathleen Scott (WLC)
Tyler Shandro
Calgary-Fish Creek Myles McDougall Rebecca Bounsall Dave Hughes Charlie Heater (Lib.) Richard Gotfried
Calgary-Glenmore Whitney Issik Nagwan Al-Guneid Steven Maffioli Whitney Issik
Calgary-Hays Richard William "Ric" McIver Andrew Stewart Evelyn Tanaka Garry Leonhardt Ric McIver
Calgary-Lougheed Eric Bouchard Venkat Ravulaparthi Nathaniel Pawlowski John Roggeveen (Lib.) Vacant
Calgary-Shaw Rebecca Schulz David Cloutier Pietro Cervo Rebecca Schulz
Calgary-South East Matt Jones Justin Huseby Catriona Wright Heinrich Friesen Matt Jones

Suburbs

Electoral district Candidates   Incumbent
  UCP   NDP   Green   SMA Other
Airdrie-Cochrane Peter Guthrie Shaun Fluker Michelle Overwater Giles Michael Andrusco Ron Voss (WLC) Peter Guthrie
Airdrie-East Angela Pitt Dan Nelles Michael Jacobsen Angela Pitt
Banff-Kananaskis Miranda Rosin Sarah Elmeligi Regan Boychuk Kyle Jubb Miranda Rosin
Chestermere-Strathmore Chantelle de Jonge Raj Jessel Jed Laboucane Kerry Lambert (IPA)
Terry Nicholls (Ind.)
Leela Aheer
Highwood R.J. Sigurdson Jessica Hallam Mike Lorusso (WIP) R. J. Sigurdson
Olds-Didsbury-Three Hills Nathan Cooper Cheryl Hunter Loewen Judy Bridges Katherine Kowalchuk (IPA)
Cam Tatlock (WLC)
Nathan Cooper

Southern Alberta

Electoral district Candidates   Incumbent
  UCP   NDP   Alberta Party   Alberta Independence   Liberal Other
Brooks-Medicine Hat Danielle Smith Gwendoline Dirk Barry Morishita Danielle Smith
Cardston-Siksika Joseph Schow Colleen Quintal Terry Wolsey Par Wantenaar (SMA)
Angela Tabak (Ind.)
Joseph Schow
Cypress-Medicine Hat Justin Wright Cathy Hogg Cody Ray Both Matt Orr (WLC) Drew Barnes
Lethbridge-East Nathan Neudorf Rob Miyashiro Helen McMenamin Nathan Neudorf
Lethbridge-West Cheryl Seaborn Shannon Phillips Braham Luddu Pat Chizek Shannon Phillips
Livingstone-Macleod Chelsae Petrovic Kevin Van Tighem Kevin Todd Corrie Reed Toone Dylin Hauser Erik Abildgaard (Ind.) Roger Reid
Taber-Warner Grant Hunter Jazminn Hintz Frank Kast Paul Hinman (WLC)
Joel Hunt (Green)
Brent Ginther (SMA)
Grant Hunter

Results

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

The United Conservative Party was re-elected to majority government, receiving both majority of votes cast and majority of the seats in the Alberta Legislative Assembly. The Alberta NDP received the highest share of the vote in its history and elected its second-best-ever number of MLAs. The race was noteworthy both as one of the fiercest two-way battles in the last hundred years in Canadian history and by its results — electing only two parties in the Legislature, unusually producing a second back-to-back two-party legislature.

The UCP swept nearly all ridings outside of Calgary and Edmonton: the NDP won only four seats outside of either city, with two being suburban seats located in Metro Edmonton (St. Albert and Sherwood Park), one seat in Lethbridge (Lethbridge-West) and a single rural seat surrounding Banff National Park (Banff-Kananaskis). Conversely, the NDP made a clean one-party sweep of Edmonton's 20 seats. The parties ran nearly evenly in Calgary: the NDP won 14 seats to the UCP's 12, with several seats decided by very narrow margins.

The Liberal Party got its lowest vote record in its history with just 0.24%.

Legislature summary

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Party Votes Seats
United Conservative 926,918
52.6%
Decrease 2.3pp
49 / 87 (56%)
Decrease 14
New Democratic 776,188
44.0%
Increase 11.4pp
38 / 87 (44%)
Increase 14
     Others and independents 60,300
3.4%
0 / 87 (0%)
Alberta Legislature[121]
Party[122] Leader Candidates Seats Popular vote
2019 Dissol. 2023 +/- Votes % +/-
United Conservative Danielle Smith 87[lower-alpha 7] 63 60 49 -14 926,918 52.56% -2.32
New Democratic Rachel Notley 87 24 23 38 +14 776,188 44.02% +11.35
Green Jordan Wilkie 41 14,085 0.80% +0.49
  Independent 22 2 12,728 0.72% +0.31
Alberta Party Barry Morishita 19 12,715 0.72% -8.36
Alberta Independence Vacant 14 5,181 0.29% -0.42
Solidarity Movement Artur Pawlowski 38 New 4,812 0.27% New
Liberal John Roggeveen 13 4,282 0.24% -0.74
WLC Paul Hinman 16 New 4,256 0.24% New
Wildrose Independence Jeevan Mangat (i) 2 New 825 0.05% New
Advantage Party Marilyn Burns 4 711 0.04% -0.26
Communist Naomi Rankin 3 377 0.02%
Reform Randy Thorsteinson 1 132 0.01% +0.01
Buffalo John Molberg 1 New 106 0.01% New
Pro-Life Murray Ruhl 1 90 0.01% +0.01
  Vacant 2
Blank and invalid votes 8,883
Total 349 87 87 87 87 1,763,406 100.00%
Registered voters/turnout 2,840,924 62.38%

Seats that changed hands

MLAs who lost their seats

Constituency Party Name Year elected Seat held by party since Defeated by Party
Banff-Kananaskis[123]  United Conservative Miranda Rosin 2019 2019 Sarah Elmeligi  New Democratic
Calgary-Acadia[124]  United Conservative Tyler Shandro 2019 2019 Diana Batten  New Democratic
Calgary-Beddington[125]  United Conservative Josephine Pon 2019 2019 Amanda Chapman  New Democratic
Calgary-Currie[126]  United Conservative Nicholas Milliken 2019 2019 Janet Eremenko  New Democratic
Calgary-Edgemont[127]  United Conservative Prasad Panda 2015 2019 Julia Hayter  New Democratic
Calgary-Falconridge[128]  United Conservative Devinder Toor 2019 2019 Parmeet Singh Boparai  New Democratic
Calgary-Foothills[129]  United Conservative Jason Luan 2019 2017 Court Ellingson  New Democratic
Calgary-Glenmore[130]  United Conservative Whitney Issik 2019 2019 Nagwan Al-Guneid  New Democratic
Calgary-Klein[131]  United Conservative Jeremy Nixon 2019 2019 Lizette Tejada  New Democratic
Calgary-Varsity[132]  United Conservative Jason Copping 2019 2019 Luanne Metz  New Democratic
Edmonton-South West  United Conservative Kaycee Madu 2019 2019 Nathan Ip  New Democratic
Sherwood Park[133]  United Conservative Jordan Walker 2019 2019 Kyle Kasawski  New Democratic

Open seats changing hands

Riding Party Candidate Incumbent retiring from the House Won by Party
Calgary-Elbow[134]  United Conservative Chris Davis Doug Schweitzer (resigned on August 31, 2022) Samir Kayande  New Democratic
Calgary-North East[135]  United Conservative Inder Grewal Rajan Sawhney (stood in Calgary-North West) Gurinder Brar  New Democratic

Notes

  1. Includes Jennifer Johnson, who appeared on the ballot as a UCP candidate but was disavowed by the party during the campaign. She will not be seated as a member of the UCP caucus.
  2. Dang was elected in the 2019 election as an NDP candidate but later became an Independent MLA.
  3. Barnes was elected in the 2019 election as a UCP candidate but later became an Independent MLA.
  4. Johnson will not caucus with the UCP due to a controversy regarding her comments on trans youth.
  5. Though Sawhney initially declared that she would not seek re-election in her own riding of Calgary-North East, she was later appointed the UCP candidate in Calgary-North West.
  6. Yao originally lost the UCP nomination to Zulkifl Mujahid in December 2022; after Mujahid was disqualified in April 2023, Yao was appointed the UCP candidate in his place.
  7. Includes Jennifer Johnson in Lacombe-Ponoka, who lost party support after the close of nominations. If elected, she is not expected to be seated in the UCP caucus.

References

  1. 1.0 1.1 1.2 1.3 1.4 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. https://results.elections.ab.ca/8400
  4. 4.0 4.1 DeCillia 2023, p. 59.
  5. Thomson 2023, p. 19.
  6. Stewart & Sayers 2019, pp. 414–415.
  7. Stewart & Sayers 2019, p. 415.
  8. Stewart & Sayers 2019, pp. 415–416.
  9. 9.0 9.1 DeCillia 2023, p. 68.
  10. Stewart & Sayers 2023, p. 95.
  11. Young 2023, p. 448.
  12. Bratt, Sutherland & Young 2023, p. 1.
  13. Stewart & Sayers 2023, p. 83.
  14. Stewart & Sayers 2023, p. 100.
  15. Bratt & Sutherland 2023, p. 469.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. Lua error in package.lua at line 80: module 'strict' not found.
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. Lua error in package.lua at line 80: module 'strict' not found.
  47. Lua error in package.lua at line 80: module 'strict' not found.
  48. Lua error in package.lua at line 80: module 'strict' not found.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.
  52. 52.0 52.1 Lua error in package.lua at line 80: module 'strict' not found.
  53. 53.0 53.1 Lua error in package.lua at line 80: module 'strict' not found.
  54. Lua error in package.lua at line 80: module 'strict' not found.
  55. Lua error in package.lua at line 80: module 'strict' not found.
  56. Lua error in package.lua at line 80: module 'strict' not found.
  57. 57.0 57.1 Lua error in package.lua at line 80: module 'strict' not found.
  58. 58.0 58.1 Lua error in package.lua at line 80: module 'strict' not found.
  59. Lua error in package.lua at line 80: module 'strict' not found.
  60. Lua error in package.lua at line 80: module 'strict' not found.
  61. Lua error in package.lua at line 80: module 'strict' not found.
  62. Lua error in package.lua at line 80: module 'strict' not found.
  63. Lua error in package.lua at line 80: module 'strict' not found.
  64. Lua error in package.lua at line 80: module 'strict' not found.
  65. Lua error in package.lua at line 80: module 'strict' not found.
  66. 66.0 66.1 Lua error in package.lua at line 80: module 'strict' not found.
  67. 67.0 67.1 Lua error in package.lua at line 80: module 'strict' not found.
  68. 68.0 68.1 Lua error in package.lua at line 80: module 'strict' not found.
  69. 69.0 69.1 Lua error in package.lua at line 80: module 'strict' not found.
  70. 70.0 70.1 Lua error in package.lua at line 80: module 'strict' not found.
  71. 71.0 71.1 Lua error in package.lua at line 80: module 'strict' not found.
  72. 72.0 72.1 Lua error in package.lua at line 80: module 'strict' not found.
  73. 73.0 73.1 Lua error in package.lua at line 80: module 'strict' not found.
  74. 74.0 74.1 Lua error in package.lua at line 80: module 'strict' not found.
  75. 75.0 75.1 75.2 Lua error in package.lua at line 80: module 'strict' not found.
  76. 76.0 76.1 Lua error in package.lua at line 80: module 'strict' not found.
  77. 77.0 77.1 Lua error in package.lua at line 80: module 'strict' not found.
  78. 78.0 78.1 Lua error in package.lua at line 80: module 'strict' not found.
  79. 79.0 79.1 Lua error in package.lua at line 80: module 'strict' not found.
  80. 80.0 80.1 Lua error in package.lua at line 80: module 'strict' not found.
  81. 81.0 81.1 Lua error in package.lua at line 80: module 'strict' not found.
  82. Lua error in package.lua at line 80: module 'strict' not found.
  83. Lua error in package.lua at line 80: module 'strict' not found.
  84. Lua error in package.lua at line 80: module 'strict' not found.
  85. Lua error in package.lua at line 80: module 'strict' not found.
  86. 86.0 86.1 Lua error in package.lua at line 80: module 'strict' not found.
  87. 87.0 87.1 Lua error in package.lua at line 80: module 'strict' not found.
  88. 88.0 88.1 Lua error in package.lua at line 80: module 'strict' not found.
  89. Lua error in package.lua at line 80: module 'strict' not found.
  90. Lua error in package.lua at line 80: module 'strict' not found.
  91. Lua error in package.lua at line 80: module 'strict' not found.
  92. Lua error in package.lua at line 80: module 'strict' not found.
  93. Lua error in package.lua at line 80: module 'strict' not found.
  94. 94.0 94.1 94.2 94.3 Lua error in package.lua at line 80: module 'strict' not found.
  95. Lua error in package.lua at line 80: module 'strict' not found.
  96. 96.0 96.1 Lua error in package.lua at line 80: module 'strict' not found.
  97. Lua error in package.lua at line 80: module 'strict' not found.
  98. Lua error in package.lua at line 80: module 'strict' not found.
  99. Lua error in package.lua at line 80: module 'strict' not found.
  100. Lua error in package.lua at line 80: module 'strict' not found.
  101. Lua error in package.lua at line 80: module 'strict' not found.
  102. Lua error in package.lua at line 80: module 'strict' not found.
  103. 103.0 103.1 103.2 Lua error in package.lua at line 80: module 'strict' not found.
  104. Lua error in package.lua at line 80: module 'strict' not found.
  105. 105.0 105.1 105.2 Lua error in package.lua at line 80: module 'strict' not found.
  106. Lua error in package.lua at line 80: module 'strict' not found.
  107. Lua error in package.lua at line 80: module 'strict' not found.
  108. Lua error in package.lua at line 80: module 'strict' not found.
  109. Lua error in package.lua at line 80: module 'strict' not found.
  110. Lua error in package.lua at line 80: module 'strict' not found.
  111. Lua error in package.lua at line 80: module 'strict' not found.
  112. Lua error in package.lua at line 80: module 'strict' not found.
  113. Lua error in package.lua at line 80: module 'strict' not found.
  114. Lua error in package.lua at line 80: module 'strict' not found.
  115. Lua error in package.lua at line 80: module 'strict' not found.
  116. Lua error in package.lua at line 80: module 'strict' not found.
  117. Lua error in package.lua at line 80: module 'strict' not found.
  118. Lua error in package.lua at line 80: module 'strict' not found.
  119. Lua error in package.lua at line 80: module 'strict' not found.
  120. Lua error in package.lua at line 80: module 'strict' not found.
  121. https://results.elections.ab.ca/8400
  122. Lua error in package.lua at line 80: module 'strict' not found.
  123. Lua error in package.lua at line 80: module 'strict' not found.
  124. Lua error in package.lua at line 80: module 'strict' not found.
  125. Lua error in package.lua at line 80: module 'strict' not found.
  126. Lua error in package.lua at line 80: module 'strict' not found.
  127. Lua error in package.lua at line 80: module 'strict' not found.
  128. Lua error in package.lua at line 80: module 'strict' not found.
  129. Lua error in package.lua at line 80: module 'strict' not found.
  130. Lua error in package.lua at line 80: module 'strict' not found.
  131. Lua error in package.lua at line 80: module 'strict' not found.
  132. Lua error in package.lua at line 80: module 'strict' not found.
  133. Lua error in package.lua at line 80: module 'strict' not found.
  134. Lua error in package.lua at line 80: module 'strict' not found.
  135. Lua error in package.lua at line 80: module 'strict' not found.
Works cited
  • Lua error in package.lua at line 80: module 'strict' not found.
    • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
    • Lua error in package.lua at line 80: module 'strict' not found.
    • Lua error in package.lua at line 80: module 'strict' not found.
    • Lua error in package.lua at line 80: module 'strict' not found.
    • Lua error in package.lua at line 80: module 'strict' not found.
    • Lua error in package.lua at line 80: module 'strict' not found.
    • Lua error in package.lua at line 80: module 'strict' not found.

See also

Footnotes

Opinion poll sources

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. Lua error in package.lua at line 80: module 'strict' not found.
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. Lua error in package.lua at line 80: module 'strict' not found.
  47. Lua error in package.lua at line 80: module 'strict' not found.
  48. Lua error in package.lua at line 80: module 'strict' not found.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.
  52. Lua error in package.lua at line 80: module 'strict' not found.
  53. Lua error in package.lua at line 80: module 'strict' not found.
  54. Lua error in package.lua at line 80: module 'strict' not found.
  55. Lua error in package.lua at line 80: module 'strict' not found.
  56. Lua error in package.lua at line 80: module 'strict' not found.
  57. Lua error in package.lua at line 80: module 'strict' not found.
  58. Lua error in package.lua at line 80: module 'strict' not found.
  59. Lua error in package.lua at line 80: module 'strict' not found.
  60. Lua error in package.lua at line 80: module 'strict' not found.
  61. Lua error in package.lua at line 80: module 'strict' not found.
  62. Lua error in package.lua at line 80: module 'strict' not found.
  63. Lua error in package.lua at line 80: module 'strict' not found.
  64. Lua error in package.lua at line 80: module 'strict' not found.
  65. Lua error in package.lua at line 80: module 'strict' not found.
  66. Lua error in package.lua at line 80: module 'strict' not found.
  67. Lua error in package.lua at line 80: module 'strict' not found.
  68. Lua error in package.lua at line 80: module 'strict' not found.
  69. Lua error in package.lua at line 80: module 'strict' not found.
  70. Lua error in package.lua at line 80: module 'strict' not found.
  71. Lua error in package.lua at line 80: module 'strict' not found.
  72. Lua error in package.lua at line 80: module 'strict' not found.
  73. Lua error in package.lua at line 80: module 'strict' not found.
  74. Lua error in package.lua at line 80: module 'strict' not found.
  75. Lua error in package.lua at line 80: module 'strict' not found.
  76. Lua error in package.lua at line 80: module 'strict' not found.
  77. Lua error in package.lua at line 80: module 'strict' not found.
  78. Lua error in package.lua at line 80: module 'strict' not found.
  79. Lua error in package.lua at line 80: module 'strict' not found.
  80. Lua error in package.lua at line 80: module 'strict' not found.
  81. Lua error in package.lua at line 80: module 'strict' not found.
  82. Lua error in package.lua at line 80: module 'strict' not found.
  83. Lua error in package.lua at line 80: module 'strict' not found.
  84. Lua error in package.lua at line 80: module 'strict' not found.
  85. Lua error in package.lua at line 80: module 'strict' not found.
  86. Lua error in package.lua at line 80: module 'strict' not found.
  87. Lua error in package.lua at line 80: module 'strict' not found.
  88. Lua error in package.lua at line 80: module 'strict' not found.
  89. Lua error in package.lua at line 80: module 'strict' not found.
  90. Lua error in package.lua at line 80: module 'strict' not found.
  91. Lua error in package.lua at line 80: module 'strict' not found. Note: UCP number combines responses for "UCP under Jason Kenney" and "UCP under a different leader".
  92. Lua error in package.lua at line 80: module 'strict' not found.
  93. Lua error in package.lua at line 80: module 'strict' not found.
  94. Lua error in package.lua at line 80: module 'strict' not found.
  95. Lua error in package.lua at line 80: module 'strict' not found.
  96. Lua error in package.lua at line 80: module 'strict' not found.
  97. Lua error in package.lua at line 80: module 'strict' not found.
  98. Lua error in package.lua at line 80: module 'strict' not found.
  99. Lua error in package.lua at line 80: module 'strict' not found.
  100. Lua error in package.lua at line 80: module 'strict' not found.
  101. Lua error in package.lua at line 80: module 'strict' not found.
  102. Lua error in package.lua at line 80: module 'strict' not found.
  103. Lua error in package.lua at line 80: module 'strict' not found.
  104. Lua error in package.lua at line 80: module 'strict' not found.
  105. Lua error in package.lua at line 80: module 'strict' not found.
  106. Lua error in package.lua at line 80: module 'strict' not found.
  107. Lua error in package.lua at line 80: module 'strict' not found.
  108. Lua error in package.lua at line 80: module 'strict' not found.
  109. Lua error in package.lua at line 80: module 'strict' not found.
  110. Lua error in package.lua at line 80: module 'strict' not found.
  111. Lua error in package.lua at line 80: module 'strict' not found.
  112. Lua error in package.lua at line 80: module 'strict' not found.
  113. Lua error in package.lua at line 80: module 'strict' not found.
  114. Lua error in package.lua at line 80: module 'strict' not found.
  115. Lua error in package.lua at line 80: module 'strict' not found.
  116. Lua error in package.lua at line 80: module 'strict' not found.
  117. Lua error in package.lua at line 80: module 'strict' not found.
  118. Lua error in package.lua at line 80: module 'strict' not found.
  119. Lua error in package.lua at line 80: module 'strict' not found.
  120. Lua error in package.lua at line 80: module 'strict' not found.
  121. Lua error in package.lua at line 80: module 'strict' not found.
  122. Lua error in package.lua at line 80: module 'strict' not found.
  123. Lua error in package.lua at line 80: module 'strict' not found.
  124. Lua error in package.lua at line 80: module 'strict' not found.
  125. Lua error in package.lua at line 80: module 'strict' not found.
  126. Lua error in package.lua at line 80: module 'strict' not found.
  127. Lua error in package.lua at line 80: module 'strict' not found.
  128. Lua error in package.lua at line 80: module 'strict' not found.

External links