Průběh sčítání voleb do PS 2017 aneb jak Praha zachránila TOP 09
V sobotu odpoledne to bylo napínavější než finále mistrovství světa, alespoň pro příznivce TOP 09 a Starostů. Po páte hodině sečteno více jak 93 % hlasů a TOP 09 stále pod 5% hranicí. Nicméně pokud by byly dostupné průběžné grafy zobrazené níže, pravděpodobně bychom byli všichni trošku klidnějsí (naopak bychom přišli o ten pocit, kdy tam naskočilo “na poslední chvíli” 5,00 %). V Praze totiž ještě zbývalo sečíst celou čtvrtinu hlasů.
Následující graf zobrazuje průběžný vývoj hlasování do PS od 14:22:57, kdy přisly první výsledky z Kostelce nad Vltavou, až do 22:25:33, času, kdy dorazily opravné výsledky ze Sedloňova (často zmiňované výsledky z Mexika přišly ve 21:04:57).
Na druhé vertikální ose je znázorněn stav sečtených hlasů celkem (okrovou barvou) a v Praze (modře). Jedná se o procento sečtených hlasů, nikoliv okrsků.
Z grafu lze vypozorovat např. překročení 80 % sečtených hlasů již po dvou a půl hodinách (v 16:45), nicméně v Praze bylo tou dobou sečteno pouze 50 % hlasů. V té době ještě vypadala potencionální sněmovna dost jinak než po sečtení všech hlasů. Trend byl ale jasný již od 10 % sečtených hlasů:
- klesající křivka ANO, SPD, KSČM a KDU-ČSL
- rostoucí křivka ODS, Pirátů a TOP 09
- praktická stagnace ČSSD, Starostů, Svobodných a Zelených
Důvodem bylo rychlejší sečtení menších okrsků, výsledky z vetších měst a zejména Prahy přicházely později. Například první výsledky z Prahy 1 dorazily až v 15:59.
Souboj TOP 09 s 5% hranicí
Od půl třetí do půl šesté to musely být krušné tři hodiny ve volebním štábu TOP 09. Ta začala prakticky na 3,5 % a celé odpoledne se blížila k 5% hranici nutné pro vstup do PS. Tuto hranici prolomila přesně v 17:19:48, kdy dorazily výsledky z jednoho okrsku v Berouně. V té době již bylo sečteno 93,94 % všech hlasů. V Praze to bylo ale podstatně méně, přesněji 76,57 %. Následující graf tedy zobrazuje ještě jistou rezervu v podobě zbývající čtvrtiny pražských hlasů.
Na grafu je současně zobrazen průběh výsledků Starostů, který byl méně dramatický pouze v tom, že se pohybovali na druhé straně obávané hranice.
Zajímavý okamžik nastal kolem 15:40, kdy byli pod 5% hranicí jak Starostové, tak TOP 09. V tu dobu to vypadalo následovně:
Pokud by volby skončily tímto výsledkem, ANO s SPD a KSČM by měly ústavní většinu…
Zajímavý boj o 2. místo
Napínavý souboj byl také o 2. místo mezi ODS, Piráty a SPD. Ze začátku to vypadalo na SPD, ale s přibývajícími sečtenými hlasy je přeskočila jak ODS, tak Piráti. ODS se to podařilo přesně v 17:00 při sečtených 89 % hlasů (v Praze 62 %), Pirátům poté o hodinu později v 17:59 při sečtených 98,38 % hlasů (v Praze 92,26 %). To pro ně byl hezký závěr, navíc souboj s SPD sami před volbami avizovali.
Jak jsem získal data?
Veškerá data o průběhu voleb použitá v grafech výše byla stažená 2 dny po volbách z webu volby.cz, který provozuje Český statistický úřad. V sekci Otevřená data jsou dostupná XML data — výsledky za okrsky (dávky). Prakticky se jedná o 71 dávek, které jsou dostupné na adresách https://www.volby.cz/pls/ps2017/vysledky_okrsky?davka=1 až https://www.volby.cz/pls/ps2017/vysledky_okrsky?davka=71
K projítí všech dávek a extrakci potřebných dat jsem vytvořil crawler na Apify, který je veřejně dostupný zde. Výsledky je možné stáhnout na těchto odkazech: csv, json, xml. Jedná se celkem o 14,879 záznamů s daty za jednotlivé okrsky. Pak už jsem data a grafy zpracoval v Excelu, který je dostupný zde. Pro jednodušší práci s grafy jsem data v čase rozdělil po pěti minutách. Navíc jsem ještě použil číselník ČSÚ pro rozpoznání pražských okrsků.
Drobná nesrovnalost ve zdrojových datech
Během přípravy dat pro grafy jsem narazil na jednu menší nesrovnalost v datech od ČSÚ. V dávkách se vyskytuje celkem 15 opravných záznamů (kterými jsem nahradil předchozí záznam z daného okrsku), nicméně jeden z nich (data ze Sarajeva) je označený jako opravný bez toho, aby předtím dorazil standardní.
Výsledná čísla sedí přesně na celkové výsledky od ČSÚ, každopádně je zajímavé, že bylo možné odeslat opravný záznam bez předchozího standardního.