Sledování vývoje počtu bodů v české fotbalové lize

Vznik tohoto příspěvku má zajímavou genezi, o kterou bych vás nerad připravil. Vše začlo u podcastové serie The R-podcast, na kterou jsem nedávno narazil a kde v poslední epizodě pozvaní hosté diskutovali nad různými konferencemi věnujícími se jazyku R a mimo jiné bylo zmíněno, že několik workshopů konference useR2018 je k dispozici ze záznamu na youtube. Toho jsem samozřejme využil, několik z těchto záznamů si pustil. Náhoda tomu chtěla a já narazil na prezentaci Carson Paul Sieverta, která se věnovala interaktivním datovým vizualizacím a balíčku plotly. Jako jednu z aplikací tohoto balíčku Carson ve videu zmiňuje další balíček engsoccerdata, který mě jako fanouška fotbalové analytiky samozřejmě zaujal.

Pustil jsem se tedy po stopě balíčku engsoccerdata. Hned záhy jsem narazil na dva hlavní problémy a těmi jsou neaktuálnost dat (pouze do roku 2016) a pokrytí pouze několika největších evropských lig (tj. bez české ligy). V rámci výzkumu jsem narazil také na článek GDA of england (from engsoccerdata), který pracuje právě se zmíněnými daty engsoccerdata a mimojiné zmiňuje způsob vizualizace nazvaný Wormcharts.

Wormcharts can show how a season develops. The numbers of points won by each team are plotted over the length of the season. For reasons of simplicity and consistency, the unit of time used is the number of games played and not the actual date. To make the display more readable it is not the actual numbers of points that are plotted, but the differences to the current mean across all teams.

Vzal jsem nedostatky balíčku engsoccerdata výše jako výzvu a pokusil se některé z výstupů z prezentace Carsona Sieverta zremixovat a vytvořit nové wormcharts nad aktuálními daty z české fotbalové ligy.

S hlavním problémem absence aktuálních dat jsem se nakonec vyrovnal čištěním HTML tabulek s historickými výsledky dostupných na webu Fortuna fotbalové ligy. Po nutném opracování těchto dat a vyčištění souboru, jsem měl k dispozici kompletní výsledky za posledních 9 sezón české fotbalové ligy (tj. od ročníku 2009-2010).

První pohled, který se nabízí, byla vizualizace jednotlivých klubů v daném ročníku a sledování jejich výkonosti v průběhu celé sezóny. Pro ukázku se můžeme podívat na Viktorii Plzeň v loňském ročníku.

Je na něm krásně vidět dokonalý vstup Plzeňských do ligy, po kterém následovalo letargické jaro a strachovaní se o první příčku. Takto si lze zobrazit libovolný klub v libovolném ročníku.

Pokud v daném ročníku není žádný klub není fokus nastaven na žádný specifický klub, je možné vyjít ze základní vizualizace, kde jsou barevně odlišeny nejlepší 4 a nejhorší 4 kluby podle závěrečného kola daného ročníku. Takže jsem si zobrazil například ročník 2009-2010, který vyhrála AC Sparta Praha.

Na závěr jsem se rozhodl se podívat na celkový vývoj ve všech 9 uplynulých ročnících. Takto si mohu zobrazit jednotlivý klub a sledovat jeho vzestup nebo pokles a nebo identifikovat, zda daný klub má například lepší vstup nebo konec sezóny. Jako příklad jsem vybral pražskou SK Slavii, která za poslední dobu prošla poměrně turbuletním vývojem, jak je snadno čitelné i na této vizualizaci.

Závěrem bych uvedl, že jsem si způsob vizualizace Wormchart pro zobrazení průběhu sezóny velmi oblíbil. Přijde mi velmi snadno čitelný a přináší důležitou infomaci o pořadí a vývoji daného klubu. Také jsem si poprvé vyzkoušel práci s balíčkem plotly, který je kompatibilní se všemi vizualizacemi výše a pomoci jednoduchého kódů, lze celé zobrazení udělat intraktivním (např. pro klik a najetí mýší).

[important title=”Zdrojová data a kódy”]
Veškeré kódy pro zájemce o pokračování v této analýze jsou k dispozici na githubu pro golove parametry: https://github.com/goloveparametry/czechLeagueWormcharts
[/important]