Skip to content

Finding 1 — The TVK wave was massive AND broad

Across 234 Assembly Constituencies, TVK gained a median of +33.7 percentage points. DMK lost 15.3 pp, AIADMK lost 13.6 pp.

What happened

In 2021, Tamilaga Vettri Kazhagam (TVK) did not exist as an electoral force. By 2026 it contested all 234 seats and won enough to leave both established Dravidian majors visibly diminished. The headline shift:

Party       Median swing 2021 → 2026
TVK         +33.7 pp     ████████████████████████████████
DMK         −15.3 pp     ███████████████
AIADMK      −13.6 pp     █████████████
PMK         −14.8 pp     ██████████████
INC         −13.2 pp     █████████████
NTK         −2.4 pp      ██
BJP         +13.5 pp*    █████████████  (*only where contested, 45 ACs)

Why "broad" matters

You might expect a new party gaining 34 pp on average to have done it by sweeping specific kinds of ACs — urban or rural, Hindu-majority or minority-mixed, reserved or general. Instead:

  • Reserved vs General: TVK gained +33.2 pp in SC/ST-reserved seats vs +34.0 pp in General — essentially identical.
  • Muslim quintile: median TVK swing was +32.8 to +36.0 pp across all five quintiles of Muslim share.
  • Hindu-share correlation: r = −0.06 (essentially zero).
  • Christian-share correlation: r = +0.02 (essentially zero).

Translation: the wave wasn't communal. It was generalised dissatisfaction that picked the available alternative.

The clearest non-noise pattern is geographic — Chennai metropolitan urban belt — covered in Finding 4.

Where the votes came from

DMK lost 15 pp; AIADMK lost 14 pp; PMK, INC and the smaller alliances together gave up another 20+ pp. TVK absorbed essentially all of that.

This isn't a story of one alliance being punished. Both Dravidian power centres bled in similar proportion, plus the smaller players. A pox-on-both-houses pattern.

Top 20 TVK-gain ACs (where the wave hit hardest)

RankACDistrictTVK swingDMK swingAIADMK swing
1PeramburChennai+58.9−19.9−25.1
2Dr.Radhakrishnan NagarChennai+54.0−24.6−13.7
3ThiruvottiyurThiruvallur+53.2−44.1−11.6
4MadavaramThiruvallur+52.6−23.7−14.8
5PoonamalleeThiruvallur+52.2−28.1
6AvadiThiruvallur+52.1−19.9−31.6
7TirupatturTirupathur+51.8−23.9
8Salem (West)Salem+51.4−38.8
9AmbatturThiruvallur+51.3−19.0−30.1
10VelacheryChennai+43.5(very large drop)−10.8

Notice that DMK and AIADMK both lose in the TVK-gain ACs — not one or the other.

The Kolathur cross-check

Kolathur (AC 13) was M.K. Stalin's seat in 2021. He lost it in 2026 to V.S. Babu (TVK) by 8,795 votes. Cross-checking against our pipeline:

  • 2021 DMK (Stalin): 70.4% of vote
  • 2026 DMK (Stalin): 40.3% of vote
  • 2026 TVK (Babu): 45.1% of vote
  • 2026 AIADMK (Santhana Krishnan): 10.0% of vote

Net: DMK lost ~30 pp, TVK picked up 45 pp from nothing, AIADMK held flat. The pattern was a marquee-seat upset, but the surrounding numbers (Thiruvottiyur −44 pp on DMK, etc.) suggest Kolathur was not unusual — it just got the headline because Stalin was the candidate.

Method note

Swing = pct_2026 − pct_2021 per AC×party. Computed across 3,393 unique (AC, party) rows. Used the median rather than mean because the distribution is wide (a few ACs have very large swings, mostly where the party didn't contest both elections).

For party-norm mapping (e.g. "Dravida Munnetra Kazhagam" → "DMK") see the source code.

Built from public data — ECI, Census 2011, kracekumar/tn_elections.