Analýza návštěvnosti vybraných CHKO a cyklostezek pro Nadaci Partnerství
Dvě ekonomky, co chtěly neekonomické téma
Autorky: Karolina Jandová, Mária Králiková
Mentoři: Lenka Hankovcová, Jan Sedláček (Billigence)
Jak to celé začalo
Začátek našeho běhu probíhal naštěstí ještě offline, takže jsme měly šanci se všechny osobně poznat a dozvědět se o sobě něco víc při výuce a na povýukových hospodách. Na základě společných zájmů a představ o projektu jsme se my dvě nakonec spojily, a vznikl tak tým č. 9 Mária & Karolina.
Výběr tématu
Od začátku jsme věděly, že nechceme žádné ekonomické či businessové téma, spíše něco zaměřeného na urbanismus, kulturu či cestování, a ideálně něco alespoň trochu užitečného. Po mnoha debatách a různých návrzích (z mnoha témat sešlo, protože bychom nedokázaly získat data, byla již zpracována v předchozích bězích DA apod.), jsme se shodly, že by bylo super zpracovat nehodovost cyklistů a chodců v Praze a skrze analýzu nejnebezpečnějších míst doporučit vylepšení jednotlivých úseků. Měly jsme radost, že na Meet your mentor jsme připravené, můžeme odprezentovat jasně zvolené téma a pustit se do práce….
Meet your mentor
Večer Meet your mentor se uskutečnil už bohužel v online prostředí na Zoomu, ale tím rozhodně neztratil na zajímavosti. Na speed datingu nám nejvíce padla do oka dvojice Lenka s Honzou z Billigence, kteří si nás nakonec vybrali :))
V rámci prezentace našeho týmu jsme nadšeně prezentovaly zpracování skvělého a super užitečného tématu již zmíněné nehodovosti cyklistů…Všichni Mentoři nás v tom podporovali, prý s chutí do toho, super! Jenže pár dní po Meet your mentor přišel první náraz. Téma už bylo částečně zpracované v jiném běhu DA! Tak a jsme zpátky na začátku…co s tím?
Naštěstí nás zachránila lektorka Alena z Kindred, která dojednávala nějaké návrhy témat od externích subjektů. Jeden z nich bylo zpracování analýzy návštěvnosti CHKO a cyklostezek pro Nadaci Partnerství. To zní užitečně, a cestování do přírody je nám blízké. Poradily jsme se ještě s našimi mentory, kteří se shodli, že to bude určitě zajímavé téma a plusem je, že jeho zpracování bude někomu prospěšné. Super, tak jdeme do toho!
O čem náš projekt je
Nadace Partnerství je největší česká ekologická nadace, která se zabývá mimo jiné sběrem dat o návštěvnosti ze sčítačů umístěných na cyklostezkách a v chráněných krajinných oblastech (CHKO) po celé České republice. Od zástupce Nadace, pana Kaly, jsme dostaly konkrétní zadání, a to zanalyzovat vývoj návštěvnosti v letošním roce v souvislosti s vládními opatřeními k epidemii Covid-19 v porovnání s loňským rokem. Dále ho zajímalo, jaký byl dlouhodobější trend návštěvnosti (za posledních 5 let), jaký vliv na návštěvnost má počasí (teplota, srážky, náraz větru) a konané akce v okolí daných oblastí.
Stanovily jsme si několik hypotéz. Jednak předpokládáme, že na návštěvnost má velký vliv počasí, a to především teploty a srážky. Tedy že čím vyšší teplota a nižší srážky budou, tím bude větší návštěvnost. Dalším předpokladem je, že v období restrikcí kvůli epidemii Covid-19 návštěvnost jak cyklostezek, tak CHKO výrazně vzroste, jelikož bylo zakázáno vycestovat ze země, většina sportovišť byla uzavřená, volnočasové aktivity byly velmi omezeny. Procházky do přírody byly tudíž jedna z mála možností pohybu a trávení volného času mimo domov. Předpokládáme také, že vliv na růst návštěvnosti mají i větší pravidelné akce konané v blízkém okolí sčítačů, víkendy a státní svátky.
Strategie získání dat
Základní data o návštěvnosti cyklostezek ze sčítačů jsme měly přislíbená přímo od Nadace Partnerství. Data o návštěvnosti CHKO nám později poskytla také Nadace Partnerství, nejprve jsme si ale musely k jejich zpracování zajistit souhlas Agentury ochrany přírody a krajiny ČR, která CHKO spravuje a je majitelem těchto dat.
Jelikož zadavatel požadoval k vývoji návštěvnosti analyzovat i vliv počasí, musely jsme si získat data o jednotlivých parametrech k období, které nás zajímalo. Oficiální data o počasí, která poskytuje Český hydrometeorologický ústav, jsou veřejně dostupná jen do konce roku 2019, my ještě potřebovaly ale data za první pololetí 2020. Ty jsme si musely ale tedy sehnat jinde. Nezbyla nám v podstatě jiná možnost, než si tyto data nascrapovat z jiného webu (vybraly jsme In-pocasi.cz). Celkem velkým překvapením pro nás ale bylo, že se meteostanice Českého hydrometeorologického ústavu neshodují s těmi na In-pocasi.cz, proto jsme se rozhodly nascrapovat všechna období z In-pocasi.cz, abychom měly dataset jednotný. Obrovský dík patří Frantovi z Apify, který nám se scrapováním pomohl.
Pro další pokračování jsme se v této fázi, vzhledem k velkému množství dat k CHKO a časovému omezení, musely rozhodnout, které konkrétní oblasti budeme analyzovat, abychom to stihly. Vybraly jsme si sčítače v oblastech České středohoří, Kokořínsko — Máchův kraj, a Pálava. Právě tyto oblasti jsme si vybraly především proto, že data k cyklostezkám jsme dostaly ke zpracování jen dvoje — k cyklostezce Brno-Vídeň (jen na území ČR), a k Labské cyklostezce — které jsou částečně umístěné v těchto CHKO nebo jsou alespoň poblíž.
Řešení nastalých problémů s daty
Když jsme se blíže podívaly na data návštěvnosti cyklostezek a CHKO, tak nám přišly trochu neprakticky formované. Všechny sčítače byly po jednom uvedené ve sloupcích a na každém řádku pak k nim byla informace o návštěvnosti za každý den. Jednalo se tedy o velmi širokou tabulku, ve které by se později při analyzování dat špatně filtrovalo. Přemýšlely jsme tedy, jak si pomoci, abychom si je optimalizovaly do podoby, která by nám vyhovovala více. Nakonec jsme došly k závěru, že jelikož jsou všechna data o návštěvnosti cyklostezek dostupná i na webu Mereninavstevnosti.cz, tak bude nejlepší si tato data nascrapovat do podoby, která bude více vyhovující.
Bohužel ale data o návštěvnosti jednotlivých sčítačů CHKO na webu nejsou, takže s těmi jsme si musely poradit jinak. U nich jsme se rozhodly pro cestu nejmenšího odporu, a přetransponovaly jsme si pomocí SQL sloupce do řádků.
Původní dataset ve formátu CSV jsme si nahrály přes Extractor do Kebooly, a v jejím sandboxu jsme vytvořily skript pro potřebné čištění dat a již zmíněnou transpozici sloupců do řádků. Poté jsme data transformovaly podle našeho skriptu, a za využití Writeru jsme data převedly do formátu TDE pro práci v Tableau.
Abychom data o návštěvnosti mohly propojit s daty o počasí, musely jsme zjistit, které meteostanice jsou nejblíže naším sčítačům. Nastává čas tedy na využití dalšího nástroje, tentokrát pro vizualizaci, Tableau. Nejprve jsme si do Tableau natáhly data o námi vybraných sčítačích a nascrapovaných meteostanicích a vyobrazily jsme si je v mapě. Ke každému sčítači jsme přiřadily nejbližší meteostanici, zkontrolovaly, jestli má dostatek dat o počasí, a pokud ne, tak jsme vybraly druhou nejbližší, atd.
Po výběru meteostanic jsme si vytvořily přemosťovací tabulku mezi daty o návštěvnosti a o počasí, která obsahovala názvy sčítačů a jim přirazených meteostanic pro spojení dat.
Zdá se, že data máme všechna připravená, tak s chutí do analyzování!
Hackathon a příprava na vizualizace
Nadešel čas hackathonu, který často bývá milníkem pro týmy, kdy se udělá velká část projektu. Pro nás to bylo ale hodně o utřiďování myšlenek a plánování. Nejprve jsme si musely vyjasnit, jak chceme naše výstupy prezentovat na konci zadavateli. Shodly jsme se, že bude nejlepší udělat co nejsrozumitelnější vizualizace v Tableau, ve kterých se bude snadno filtrovat podle oblastí či daných parametrů počasí.
Pro zobrazení oblastí se jednoznačně nabízí vyobrazení daných míst v mapě. Napadlo nás tedy, že bychom mohly vybrané CHKO zobrazit jako vyplněné ohraničené oblasti, a cyklostezky jako souvislé linie. Naši skvělí mentoři nám tedy dohodli konzultaci ohledně Tableau, a co všechno bychom v něm mohly udělat.
Dozvěděly jsme se, že pro zobrazení CHKO jako vyplněných oblastí bychom mohly využít polygony a pro cyklostezky spojení bodů pomocí linie. Pro to, abychom si tyto objekty vytvořily bylo potřeba dohledat co nejvíce bodů GPS souřadnic hranic vybraných oblastí. Začaly jsme tedy Googlit, zkoušely jsme body stáhnout např. z Mapy.cz, ale to bohužel nešlo. Naštěstí jsme pak narazily na Openstreetmap.org, kde jsme našly souřadnice všech CHKO i Labské cyklostezky ve formátu GeoJSON. Jedinou cyklostezku Brno-Vídeň jsme tam nenašly, ale dohledaly jsme ji pak na jiných stránkách. Při snaze nahrát tato data do Tableau jsme ovšem zjistily, že nepodporuje formát GeoJSON, tak jsme si vyzkoušely transformaci dat do formátu JSON v Pythonu.
Po nahrání oblastí do mapy jsme bohužel ale zjistily, že body u Labské cyklostezky nemají správné pořadí, dělaly nám tedy místo jedné linky spíše takovou pavučinu. Musely jsme se tedy dát znovu do hledání, nedařilo se nám ale nic najít. Musely jsme zvolit manuální práci na mapě a naklikat si ručně body na Mapy.cz, odkud se dá zvolená trasa poté stáhnou do souboru GPX, uffff.
Po zdárném zobrazení CHKO a cyklostezek jsme chtěly dát všechny objekty do jedné mapy. Tady jsme ale velmi narazily. Potřebovaly jsme spojit dva typy Marks (polygony a linie) na jedné mapě, udělat vlastně dvě překrývající se vrstvy. Bohužel naše znalosti Tableau na tento úkon nestačily. Mentoři se nám snažili všemi silami pomoci, ale i tak jsme se nemohli nijak dobrat ke zdárnému výsledku. Po několikatýdenním snažení jsme se nějakým zázrakem (ó svatý Google) dostaly na jeden blog, kde přesně řešili náš problém, takže situace zachráněna! Můžeme se posunout dál!
Dalším krokem bylo spojit všechny datasety, což pro nás byl také celkem oříšek, a mnoho času nám zabralo zkoušení různých variant relationshipů a joinů, než jsme došly ke správnému nastavení. Spojily jsme všechna data o návštěvnosti, oblastech, počasí, meteostanicích a jejich umístění, abychom mohly zpracovat vše v jednom workbooku.
Samotná analýza a její výstupy
Jako první jsme se chtěly podívat na vztah mezi návštěvností a počasím a pokusit se potvrdit či vyvrátit naše hypotézy.
Vliv počasí na návštěvnost
Nejprve jsme si v Tableau sestavily základní grafy pro zobrazení vývoje návštěvnosti a počasí v čase, s možností výběru metriky počasí — teploty nebo srážek (pro nárazy větru nebylo pro analýzu dostatek dat).
Z tohoto grafu za první půlrok 2019 je jasná korelace mezi teplotami a návštěvností. Chtěly jsme si toto tvrzení ještě ale podložit, a jelikož jsme si při projektu chtěly vyzkoušet co nejvíce nástrojů a procvičit znalosti z lekcí, rozhodly jsme se vyzkoušet si regresní analýzu v Pythonu. Za pomoci našich znalostí z hodin machine learningu, Pythonu a strýčka Googla jsme sestavily kód, který nám pomocí forcyklu projel všechny oblasti v našich datasetech a zobrazil nám regresní přímku závislosti návštěvnosti každého sčítače na teplotě.
Závislost u jednotlivých sčítačů vyšla různá, ale vždy viditelná. Zajímavé je, že v prvním pololetí roku 2019 vyšel koeficient determinace závislosti u sčítačů cyklostezek v rozmezí 13–22 %, v prvním pololetí roku 2020 to bylo rozmezí 24–42%, tedy mnohem vyšší.
Vliv víkendů, státních svátků a akcí na návštěvnost
Velký problém nám dělalo dohledat větší akce, které by měly významný vliv na návštěvnost za rok 2019, jelikož si většina stránek, kde jsou akce vypsané, neudržuje online archiv. Nemohly jsme tedy pořádně porovnat vliv toho, že se letos třeba kvůli epidemii akce nekonaly.
Rozhodly jsme se tedy alespoň analyzovat, jaký vliv mají víkendy a státní svátky na návštěvnost. Potvrdila se nám hypotéza, že o víkendech a svátcích návštěvnost obecně výrazně roste. V roce 2020 je ale vidět razantní pokles v návštěvnosti o svátcích, především o Velikonocích, kdy byla vládní opatření ještě velmi tvrdá. Např. na Velikonoční pondělí poklesl celkový počet návštěvníků v námi vybraných oblastech z 16 282 návštěvníků na 4 688, tedy o 11 594 (téměř 72%) oproti roku 2019.
Dvě výrazné pravidelné akce se nám přece jen podařilo dohledat, a to novoroční výstupy na kopec Radobýl v CHKO České středohoří a Sv. Kopeček v CHKO Pálava. Hlavně výstup na Radobýl velmi ovlivňuje čísla celkové návštěvnosti CHKO za tento den. V roce 2019 na tento výstup vyrazilo 1 109 lidí, v roce 2020 to bylo již 2 584 lidí.
Dlouhodobý trend návštěvnosti
Dlouhodobě návštěvnost jak cyklostezek, tak CHKO roste. Trend jsme si zobrazily jako kumulativní meziměsíční součty, ze kterých je hezky vidět, jak návštěvnost každým rokem stoupá. Za rok 2020 jsme měly data jen za první pololetí, proto jsme vytvořily ještě porovnání prvních pololetí od roku 2016 do 2020, abychom měly i aktuální pohled na trend. Z dat letošního roku je patrný vysoký nárůst návštěvnosti především v jarních měsících oproti rokům minulým. Na jarní vývoj návštěvnosti jsme se také podívaly podrobněji ve spojení s opatřeními proti epidemii Covid-19. O tom ale až v další podkapitole.
Vliv epidemie Covid-19 na návštěvnost
Na období opatření proti epidemii nemoci Covid-19 jsme se dívaly za období březen-červen 2020, s tím, že hlavní omezení byly v období nouzového stavu, který trval od 12.3. do 16.5. a především období tzv. lockdownu, který trval od 16.3. do 24.4., při němž byl velmi omezen pohyb mimo domov.
Můžeme říct, že většina našich hypotéz se analýzou potvrdila. Překvapením pro nás byla klesající návštěvnost CHKO v období restrikcí kvůli Covid-19. Při bližším pohledu na jednotlivé oblasti a sčítače jsme ale zjistily, že tento pokles je zapříčiněn především výrazným poklesem návštěvnosti Sv. Kopečku v CHKO Pálava, který ovlivnil celkový pohled na vývoj návštěvnosti za všechny oblasti. Tento výrazný pokles si můžeme vysvětlit například tím, že byly uzavřené hranice a do Mikulova nemohli cestovat cizinci především z blízkého Rakouska, a z důvodu restrikcí se nemohly konat žádné akce (především vinařské), kterými je zrovna oblast Mikulova velmi známá.
Cyklostezky zaznamenaly vyšší nárůst návštěvnosti než CHKO. Tento jev můžeme vysvětlit například tím, že kvůli restrikcím byla většina sportovišť uzavřena, proto se mnoho lidí rozhodlo věnovat cyklistice a vycházkám v přírodě.
Jaký z naší analýzy plyne závěr?
Analýza nám potvrdila, že období restrikcí kvůli epidemii Covid-19 znatelně ovlivnilo návštěvnost jak na cyklostezkách, tak v CHKO, a to jak pozitivně (citelný nárůst návštěvnosti na obou cyklostezkách a většině sčítačů CHKO), tak negativně (vliv již zmíněného Sv. Kopečku v CHKO Pálava a mírný pokles Ploučnice v CHKO Kokořínsko-Máchův kraj).
Analýza vlivu počasí na návštěvnost nám pomocí společné vizualizace návštěvnosti a průměrných teplot potvrdila naši hypotézu, že vývoj návštěvnosti přímo závisí na změnách teplot. Tento jev jsme si dále potvrdily regresní analýzou v Pythonu. Obdobně jsme pomocí vizualizací návštěvnosti a průměrných srážek potvrdily hypotézu, že čím míň srážek bude, tím bude větší návštěvnost. Všimly jsme si ale, že pokud se blízko některé oblasti koná akce, vliv počasí na návštěvnost významně klesá.
Součástí analýzy mělo být také vyhodnocení vlivu větších akcí konajících se v okolí vybraných oblastí. Bohužel se nám toto vyhodnocení podařilo jen z malé části, jelikož u většiny lokalit nejsou zpětně dostupné informace o konaných akcích. Nemohly jsme tudíž porovnat loňský a letošní rok.
Závěrem můžeme napsat, že dlouhodobý trend je stabilně rostoucí, v letošním prvním pololetí byl růst vyšší než je obvyklé, hlavně z důvodu restrikcí kvůli epidemii Covid-19.
Budeme v naší analýze dále pokračovat?
Jelikož byl projekt zpracován z časových důvodů jen z části datasetu, nabízí se, že bychom mohly projekt i po DA dokončit pro všechny oblasti a případně i pro další období. Záleží však, zda s naším zpracováním bude zadavatel spokojen a měl by vůbec o pokračování zájem.
Všechny zpracované vizualizace jsou dostupné zde a všechny kódy použité v projektu naleznete zde.
Poděkování
Úplným závěrem bychom chtěly moc poděkovat naším skvělým mentorům Lence a Honzovi především za jejich flexibilitu, cenné rady a za to jak se o nás celkově starali :)) Velký dík patří také dalším lidem z Billigence, kteří nám radili s vizualizacemi v Tableau — díky Michale, Martine, Lukáši! :) Za pomoc se scrapováním z webu a celkovou pomoc nejen s Pythonem moc děkujeme Frantovi z Apify. ❤
Pohled autorek
Karolina Jandová
Na projektu jsme převážně pracovaly společně. Ze začátku bylo těžké se rozhodnout pro téma projektu, měly jsme spoustu nápadů, ale pokaždé to na něčem pohořelo. Buď na tom, že bychom nedokázaly získat všechna potřebná data, nebo téma bylo už zpracováno v předešlých bězích. To bylo na začátek celkem frustrující, protože večer Meet your mentor se neúprosně blížil a my ne a ne najít to pravé téma pro nás.
Po tom, co jsme se na tématu domluvily a spojily se se zadavateli, se nám dost ulevilo, že se konečně můžeme pustit do práce. Jupííí! Ale jak začít? Nejprve jsme si každá sama zkoušela projet data, čistit je, vymyslet jak je zpracovat. Dále jsme si rozdělily jednotlivé úkoly ke shánění dodatečných dat k počasí, opatření kvůli epidemii Covid-19 a akcích. Já jsem si chtěla vyzkoušet práci v Pythonu, tak jsem se pustila do regresní analýzy v Jupyteru. Nakonec jsme ale zjistily, že se nám nejlépe pracuje společně. Proto jsme u přechodu k práci s vizualizacemi v Tableau vždy dělaly všechno online po callu. Sice každá ve svém, abychom se toho co nejvíce naučily, ale vždy jedna z nás sdílela obrazovku, říkaly jsme si co udělat a praly jsme se s nastalými problémy společně. Musím říct, že společná práce mi v tomto ohledu určitě vyhovovala, byla efektivní při hledání problémů a brainstormingu ohledně dalších vizualizací apod. a navíc spolupracovat s Maruškou byla opravdu radost. Myslím, že jsme se docela nasmály :)). Ke konci projektu jsme si z časových důvodů úkoly zase trochu rozdělily, Maruška pilovala vizualizace, já pracovala na blogu.
Mária Králiková
Na projekte sme pracovali s Karolinou často spoločne. V prvotnej fáze príprav sme spoločne dumali nad výberom vhodnej témy projektu a komunikovali s jeho zadávateľom. Potom sme sa pozreli na úpravu a kontrolu dat o návštevnosti (najmä formátu dátumu) a dat o počasí. Pre túto transformáciu sme použili Snowflake prostredníctvom Kebooly connection.
Aby boli naše vizualizácie v Tableau user-friendly a zaujímavé, zhodnotili sme, že by bolo dobré, keby sme vedeli naše oblasti zobraziť na mape pomocou GPS súradníc. Stiahnuté GPS súradnice boli však vo formáte GeoJSON, ktorý Tableau nepodporuje, tak som si v Pythone vyskúšala transformáciu týchto dat do formátu JSON.
Pri ďalších vizualizáciách a vytváraní dashboardov v Tableau sme pracovali spoločne. Analyzovali sme, aké vizualizácie by boli pre náš projekt a nášho zadávateľa najvhodnejšie, a morili sa s chybami a problémami, ktoré sa čas od času objavili. Ako spomína Karolina, pre nedostatok času sme si posledný týždeň úlohy rozdelili. Ja som dolaďovala detaily v Tableau a Karolina písala blog.
Som rada, že som mohla s Karolinou spolupracovať, veľa som sa od nej naučila a práca v tíme je určite veselšia a produktívnejšia :)