Skip to observatory content

Partial researchResearch snapshot 2026-09-13. Evidence gaps remain; see Coverage for requirements.

Office briefing

Bahia — State legislative assembly

Tracked current office. Identifiers stay separate from display names.

Brazil · Bahia / BA · regional · State legislative assemblyBR-BA-A

Read the complete original research briefing

First round 4 October 2026; governor runoff 25 October where required. TSE ordinary-election returns aggregated once from state files, excluding the duplicate national BR file. Party votes are not governing coalition control. Legislative votes include nominal plus valid list votes. Judicial retotalizations and changed party labels require review. The 2014 file uses legacy nominal/list fields; later files separately identify valid, converted and subjudice votes. This is an explicit definition-comparability limitation.

1. What office, where, and when is the next election?

Geography
Bahia / BA
Next election
2026-10-04
Linked upcoming event
next-bc5820d89ca8c0801970d014
Registry qualification
Unknown

2. How certain is that date?

2026-10-04 is expected (not formally called). Day precision. A date without a formal call is not confirmed.

3. Who won earlier selected elections?

2022-10-02

unknown · Legal certification not established · list votes

  • PT15.4%
  • UNIÃO14.5%
  • PSD14.0%
  • PP9.1%
  • PL5.9%
  • REPUBLICANOS5.1%
  • PSDB4.7%
  • PC do B4.7%
  • PV4.2%
  • PSB3.9%
  • SOLIDARIEDADE3.5%
  • MDB3.1%
  • PDT2.8%
  • PSC2.5%
  • PSOL1.9%
  • AVANTE1.5%
  • PATRIOTA1.4%
  • PTB0.7%
  • CIDADANIA0.5%
  • PMN0.2%
  • NOVO0.1%
  • PRTB0.1%
  • PMB0.1%
  • PROS0.1%
  • AGIR0.1%
  • REDE0.1%
  • DC0.1%
  • UP0.0%
Results for event-bbd81ad14a4bad3f57ca3148
Label / candidateParty codeVotesShareSeatsStatus
PTbrazil/S5cd0a4c40e/20221,219,50015.4%9Recorded
UNIÃObrazil/S5cd0a4c40e/20221,151,77414.5%10Recorded
PSDbrazil/S5cd0a4c40e/20221,109,99114%9Recorded
PPbrazil/S5cd0a4c40e/2022718,9069.1%6Recorded
PLbrazil/S5cd0a4c40e/2022469,2965.9%4Recorded
REPUBLICANOSbrazil/S5cd0a4c40e/2022401,1635.1%3Recorded
PSDBbrazil/S5cd0a4c40e/2022373,3444.7%3Recorded
PC do Bbrazil/S5cd0a4c40e/2022372,9074.7%4Recorded
PVbrazil/S5cd0a4c40e/2022335,3644.2%4Recorded
PSBbrazil/S5cd0a4c40e/2022311,3463.9%2Recorded
SOLIDARIEDADEbrazil/S5cd0a4c40e/2022274,1733.5%2Recorded
MDBbrazil/S5cd0a4c40e/2022246,8813.1%2Recorded
PDTbrazil/S5cd0a4c40e/2022222,7092.8%1Recorded
PSCbrazil/S5cd0a4c40e/2022195,6282.5%1Recorded
PSOLbrazil/S5cd0a4c40e/2022148,0511.9%1Recorded
AVANTEbrazil/S5cd0a4c40e/2022121,8601.5%1Recorded
PATRIOTAbrazil/S5cd0a4c40e/2022112,6741.4%1Recorded
PTBbrazil/S5cd0a4c40e/202252,1080.7%0 (recorded zero)Recorded
CIDADANIAbrazil/S5cd0a4c40e/202235,9560.5%0 (recorded zero)Recorded
PMNbrazil/S5cd0a4c40e/202212,7140.2%0 (recorded zero)Recorded
NOVObrazil/S5cd0a4c40e/20229,7830.1%0 (recorded zero)Recorded
PRTBbrazil/S5cd0a4c40e/20227,2640.1%0 (recorded zero)Recorded
PMBbrazil/S5cd0a4c40e/20227,0560.1%0 (recorded zero)Recorded
PROSbrazil/S5cd0a4c40e/20226,6340.1%0 (recorded zero)Recorded
AGIRbrazil/S5cd0a4c40e/20226,5280.1%0 (recorded zero)Recorded
REDEbrazil/S5cd0a4c40e/20226,3700.1%0 (recorded zero)Recorded
DCbrazil/S5cd0a4c40e/20224,8920.1%0 (recorded zero)Recorded
UPbrazil/S5cd0a4c40e/20222,8440%0 (recorded zero)Recorded

2018-10-07

unknown · Legal certification not established · list votes

  • PT16.4%
  • PSD12.9%
  • DEM9.2%
  • PP8.6%
  • PC do B7.5%
  • PSB5.5%
  • PSDB5.0%
  • PDT4.3%
  • PSC4.1%
  • PR3.1%
  • PSL2.8%
  • PODE2.5%
  • PRB2.2%
  • AVANTE1.9%
  • PATRI1.8%
  • PSOL1.6%
  • SOLIDARIEDADE1.4%
  • MDB1.3%
  • PRP1.3%
  • PTC1.2%
  • PPL1.0%
  • PPS0.8%
  • PHS0.8%
  • PV0.6%
  • PTB0.6%
  • PMB0.5%
  • DC0.4%
  • REDE0.3%
  • PRTB0.2%
  • PMN0.1%
  • PROS0.1%
  • PCO0.0%
Results for event-dc4f3d98be9fd75b02024b18
Label / candidateParty codeVotesShareSeatsStatus
PTbrazil/S0d7ac4a666/20181,124,67816.4%10Recorded
PSDbrazil/S0d7ac4a666/2018884,44512.9%9Recorded
DEMbrazil/S0d7ac4a666/2018630,2979.2%6Recorded
PPbrazil/S0d7ac4a666/2018590,9498.6%7Recorded
PC do Bbrazil/S0d7ac4a666/2018514,5727.5%5Recorded
PSBbrazil/S0d7ac4a666/2018377,8155.5%5Recorded
PSDBbrazil/S0d7ac4a666/2018341,4505%3Recorded
PDTbrazil/S0d7ac4a666/2018293,2764.3%3Recorded
PSCbrazil/S0d7ac4a666/2018278,2234.1%3Recorded
PRbrazil/S0d7ac4a666/2018210,0873.1%1Recorded
PSLbrazil/S0d7ac4a666/2018193,1052.8%2Recorded
PODEbrazil/S0d7ac4a666/2018173,3672.5%1Recorded
PRBbrazil/S0d7ac4a666/2018150,2982.2%2Recorded
AVANTEbrazil/S0d7ac4a666/2018127,3411.9%1Recorded
PATRIbrazil/S0d7ac4a666/2018121,9791.8%1Recorded
PSOLbrazil/S0d7ac4a666/2018112,3221.6%1Recorded
SOLIDARIEDADEbrazil/S0d7ac4a666/201894,7711.4%0 (recorded zero)Recorded
MDBbrazil/S0d7ac4a666/201888,9281.3%1Recorded
PRPbrazil/S0d7ac4a666/201887,3841.3%1Recorded
PTCbrazil/S0d7ac4a666/201881,3781.2%0 (recorded zero)Recorded
PPLbrazil/S0d7ac4a666/201870,4851%0 (recorded zero)Recorded
PPSbrazil/S0d7ac4a666/201851,7710.8%0 (recorded zero)Recorded
PHSbrazil/S0d7ac4a666/201851,7570.8%1Recorded
PVbrazil/S0d7ac4a666/201840,1500.6%0 (recorded zero)Recorded
PTBbrazil/S0d7ac4a666/201839,7080.6%0 (recorded zero)Recorded
PMBbrazil/S0d7ac4a666/201832,9800.5%0 (recorded zero)Recorded
DCbrazil/S0d7ac4a666/201830,3800.4%0 (recorded zero)Recorded
REDEbrazil/S0d7ac4a666/201821,8010.3%0 (recorded zero)Recorded
PRTBbrazil/S0d7ac4a666/201813,3770.2%0 (recorded zero)Recorded
PMNbrazil/S0d7ac4a666/20185,4250.1%0 (recorded zero)Recorded
PROSbrazil/S0d7ac4a666/20184,7960.1%0 (recorded zero)Recorded
PCObrazil/S0d7ac4a666/20188660%0 (recorded zero)Recorded

2014-10-05

unknown · Legal certification not established · list votes

  • PT20.0%
  • PSD10.1%
  • DEM9.7%
  • PMDB8.0%
  • PDT6.7%
  • PP6.0%
  • PSDB5.5%
  • PC do B5.1%
  • PSC4.3%
  • PTN4.0%
  • PRB3.3%
  • PV2.7%
  • PSB2.6%
  • PSL1.8%
  • PRP1.6%
  • PTC1.3%
  • PSOL1.2%
  • PR1.2%
  • PTB1.0%
  • PROS0.7%
  • PEN0.7%
  • PT do B0.7%
  • PPS0.5%
  • SD0.5%
  • PMN0.3%
  • PSDC0.2%
  • PRTB0.1%
  • PPL0.1%
  • PSTU0.1%
Results for event-839e4bec6a351119c107e250
Label / candidateParty codeVotesShareSeatsStatus
PTbrazil/S2c70216745/20141,375,04020%11Recorded
PSDbrazil/S2c70216745/2014694,33110.1%8Recorded
DEMbrazil/S2c70216745/2014666,0139.7%6Recorded
PMDBbrazil/S2c70216745/2014550,3368%6Recorded
PDTbrazil/S2c70216745/2014459,9346.7%5Recorded
PPbrazil/S2c70216745/2014408,3556%5Recorded
PSDBbrazil/S2c70216745/2014378,2025.5%3Recorded
PC do Bbrazil/S2c70216745/2014348,4285.1%3Recorded
PSCbrazil/S2c70216745/2014291,9044.3%2Recorded
PTNbrazil/S2c70216745/2014270,9854%3Recorded
PRBbrazil/S2c70216745/2014227,0933.3%2Recorded
PVbrazil/S2c70216745/2014185,1902.7%2Recorded
PSBbrazil/S2c70216745/2014181,3402.6%2Recorded
PSLbrazil/S2c70216745/2014122,2071.8%1Recorded
PRPbrazil/S2c70216745/2014106,7551.6%2Recorded
PTCbrazil/S2c70216745/201488,9501.3%0 (recorded zero)Recorded
PSOLbrazil/S2c70216745/201482,2601.2%0 (recorded zero)Recorded
PRbrazil/S2c70216745/201481,9021.2%1Recorded
PTBbrazil/S2c70216745/201467,9571%0 (recorded zero)Recorded
PROSbrazil/S2c70216745/201450,7240.7%1Recorded
PENbrazil/S2c70216745/201450,5550.7%0 (recorded zero)Recorded
PT do Bbrazil/S2c70216745/201447,5500.7%0 (recorded zero)Recorded
PPSbrazil/S2c70216745/201433,0090.5%0 (recorded zero)Recorded
SDbrazil/S2c70216745/201432,6530.5%0 (recorded zero)Recorded
PMNbrazil/S2c70216745/201423,1900.3%0 (recorded zero)Recorded
PSDCbrazil/S2c70216745/201411,0390.2%0 (recorded zero)Recorded
PRTBbrazil/S2c70216745/20149,2880.1%0 (recorded zero)Recorded
PPLbrazil/S2c70216745/20147,3780.1%0 (recorded zero)Recorded
PSTUbrazil/S2c70216745/20146,2630.1%0 (recorded zero)Recorded

4. Competition and volatility

competition index

Provisional imported-series CI

87.210–100 historical closeness

Actual-event and/or comparability review incomplete

Comparison status: Provisional imported-series comparison; actual-event review open

Method ci.weighted-gap.v1. Inputs: latest_gap=0.8532177266105272, oldest_gap=9.924562946659568, previous_gap=3.5120956948235573

pedersen volatility

Provisional volatility

6.35percentage points

Grouped Pedersen lower bound (percentage points). Nine continuing national parties, allowing PMDB/MDB and PR/PL labels; merged, new and remaining parties all grouped in Other. Lower bound; changes inside Other are invisible. An interval is withheld if either election has no list mapped to an explicit named group. This is aggregate share change, not individual voter switching. Event review: Actual-event and/or comparability review incomplete

Comparison status: Latest interval

Method pedersen.grouped.v1. Inputs: groups=["PT","PSDB","MDB","PP","PSB","PDT","PSD","PSOL","PL","Other"], interval=Latest interval, vectors=[[15.36336145057344,4.703418464455014,3.110227173660534,9.056837004498524,3.922362553661532,2.8057063266057893,13.983758048284923,1.8651586930043857,5.912229664049457,39.27694062120641],[16.442273800280432,4.9918415663023135,1.3000863576164363,8.639401908814719,5.523481099348393,4.287559898078422,12.930178105456875,1.642095851252624,3.0713750743586297,41.17170633849115],null]

pedersen volatility

Withheld volatility

Unknownpercentage points

Grouped Pedersen lower bound (percentage points). Nine continuing national parties, allowing PMDB/MDB and PR/PL labels; merged, new and remaining parties all grouped in Other. Lower bound; changes inside Other are invisible. An interval is withheld if either election has no list mapped to an explicit named group. This is aggregate share change, not individual voter switching. Event review: Actual-event and/or comparability review incomplete

Comparison status: Previous interval · Comparable grouped vectors unavailable for this interval

Method pedersen.grouped.v1. Inputs: groups=["PT","PSDB","MDB","PP","PSB","PDT","PSD","PSOL","PL","Other"], interval=Previous interval, vectors=[[15.36336145057344,4.703418464455014,3.110227173660534,9.056837004498524,3.922362553661532,2.8057063266057893,13.983758048284923,1.8651586930043857,5.912229664049457,39.27694062120641],[16.442273800280432,4.9918415663023135,1.3000863576164363,8.639401908814719,5.523481099348393,4.287559898078422,12.930178105456875,1.642095851252624,3.0713750743586297,41.17170633849115],null]

pedersen volatility

Withheld volatility

Unknownpercentage points

Grouped Pedersen lower bound (percentage points). Nine continuing national parties, allowing PMDB/MDB and PR/PL labels; merged, new and remaining parties all grouped in Other. Lower bound; changes inside Other are invisible. An interval is withheld if either election has no list mapped to an explicit named group. This is aggregate share change, not individual voter switching. Event review: Actual-event and/or comparability review incomplete

Comparison status: Both intervals mean · Comparable grouped vectors unavailable for this interval

Method pedersen.grouped.v1. Inputs: groups=["PT","PSDB","MDB","PP","PSB","PDT","PSD","PSOL","PL","Other"], interval=Both intervals mean, vectors=[[15.36336145057344,4.703418464455014,3.110227173660534,9.056837004498524,3.922362553661532,2.8057063266057893,13.983758048284923,1.8651586930043857,5.912229664049457,39.27694062120641],[16.442273800280432,4.9918415663023135,1.3000863576164363,8.639401908814719,5.523481099348393,4.287559898078422,12.930178105456875,1.642095851252624,3.0713750743586297,41.17170633849115],null]

Source-reported control: Unverified. Current tenure requires separate dated evidence.

5. Officeholder evidence

Dated roster observations are not automatically current tenure. The source current-office flag means this office is tracked now, not that the last winner still holds it.

No officeholder observation supplied.

6. Polling context

No local poll supplied.

National context is listed on the polling page. It is not a local forecast.

7. Unresolved issues and sources

First round 4 October 2026; governor runoff 25 October where required. TSE ordinary-election returns aggregated once from state files, excluding the duplicate national BR file. Party votes are not governing coalition control. Legislative votes include nominal plus valid list votes. Judicial retotalizations and changed party labels require review. The 2014 file uses legacy nominal/list fields; later files separately identify valid, converted and subjudice votes. This is an explicit definition-comparability limitation. Roraima legal certification, Rio and other specific replacement/current-control cases remain open. Eight municipal replacement tickets are tracked; ordinary municipal renewals are outside the window. Public-vote baselines for Alagoas and Amazonas are supplied separately from their indirect selections. Roraima’s primary 2010 cycle is recovered; the June 2026 proclamation is still unresolved. Rio’s signed 2026 legislative retotalization verifies the imported 2022 votes and seats, with 70 named elected deputies added; later membership and governing-coalition control still need dated verification.

    Sources

    Cite this record

    Center for Digital Democracy. “Bahia — State legislative assembly.” Subnational Election Observatory, releaselatin-america-fe5e91689def, snapshot 2026-09-13. /electiondatabase/offices/BR-BA-A. Sources: brazil--url-580aebec6bb5c27e76b98bb4, brazil--url-ef95aa16df1e62f699a27949, brazil--url-653ade48bf64a7388c4b910b, brazil--S5cd0a4c40e, brazil--S0d7ac4a666, brazil--S2c70216745.