Analýza návštěvníků kurzů pořádaných Wikimedia ČR


Šárka Hubáček & Zdenka Šunková
Mentor: Vojtěch Dostál, Wikimedia Česká republika

Wikimedia logoCzechitas logo

Úvod

Původně jsme se každá chtěla věnovat úplně jinému tématu (Šárka Bitcoinu a Zdenča generaci Z). Spojoval nás zájem o něco nekomerčního s lehce sociologickým přesahem. Díky tomu se naším mentorem stal Vojta Dostál z Wikimedia Česká republika. Místo kryptoměn a chování současné mládeže jsme se tak ponořily do dat o českých Wikipedistech.

Získání dat

Wikimedia, potažmo Wikipedie, má neskutečné množství otevřených dat, ke kterým přistupujeme skrze webového klienta Quarry a SQL dotazy. Data jsou uložena v menších tematicky rozdělených databázích. Pro orientaci v nich využíváme přehlednou tabulku, která je volně k dispozici.

Získání dat se ukázalo jako jednoduchý úkol. Relativně. Nemusely jsme procházet žádnými schvalovacími procesy, ani čekat, až nám dá někdo přístup. Přesto jsme data nezískaly ani v CSV, JSON nebo jiném formátu, který by stačilo očistit a vizualizovat. Tím nejdůležitějším kódem pro otevření dveří do světa wiki-dat pro nás bylo SQL. Na maximum jsme vyždímaly to, co nás naučili Padák s Pavlem na workshopech, a kromě Googlu a Stack Overflow nám byl velkou pomocí i Martin z Wikimedia, který to s Quarry vážně umí! (Rychle jsme pochopily, že SQL je velmi foremný jazyk a každý interface s ním pracuje trochu jinak. Proto trhání vlasů, proč něco nefunguje v Quarry, když to fungovalo ve Snowflake, bylo naštěstí jen tak krátké, že naše culíky přežily bez úhon.) 


Kromě ovládnutí technologie nás čekalo i přemýšlení nad tím, jaká data potřebujeme a jakými (správně položenými) dotazy je z databází získáme. Nejčastěji jsme využívaly databáze uživatelů (users), stránek (pages) a návštěvníků kurzů (ep_users_per_course), jejichž tabulky jsme podle potřeby joinovaly, abychom získaly kýžené informace. 


Zpracování dat

Pro ukázku na Demo Day jsme si vybraly miniprojekt ke kurzu Senioři píší Wikipedii. Wikimedia ČR pořádá kurzy pro seniory po celé republice a naším úkolem bylo zjistit, ve kterých městech jsou kurzy nejnavštěvovanější, jaký je průměrný počet kurzů na jednoho Wikipedistu-seniora a kdo jsou nejaktivnější kurzisté. 


Pro začátek jsme si definovaly, o koho nám vlastně jde: Aktivní účastník [user.user_id] kurzu je takový, který se zaregistroval [user.user_registration] se začátkem kurzu [ep_users_per_course.course_start], případně nejdéle 14 dní před ním, a následně provedl alespoň jednu editaci [user.user_editcount]. Uživatelé, kteří se zaregistrovali déle než 14 dní před začátkem kurzu jsou pro nás samostatnou sledovanou skupinou. Můžeme sledovat probíhající aktivitu jak v průběhu kurzu (počet editací X datum editace) - je-li kurz vícedenní, tak po něm [ep_users_per_course.course_end]. Dále můžeme sledovat aktivitu, případně upadající aktivitu, v měsících následujících po ukončení kurzu. 


Jaká data máme aktuálně k dispozici? Pracujeme především s unikátními id uživatele [user.user_id] a kurzu [ep_users_per_course.course_id], počtem editací uživatelů [user.user_editcount], pořadatelem kurzů [ep_courses.course_title] a editacemi [revision.rev_id] a jejich velikostí [revision.rev_minor_edit]. Data různě filtrujeme, seskupujeme, počítáme a dál používáme pro vizualizaci v Power BI. 


Vizualizace

Pro vizualizaci dat jsme si vybraly nástroj Power BI. Před samotnou tvorbou tabulek a grafů bylo potřeba data ještě trochu očistit a upravit. Tyto drobné úpravy jsme zvládly v editaci zdrojů v samotném Power BI. Díky funkci SPLIT a následně funkci MERGE jsme dostaly z nepěkného kódu, který představoval datum registrace či začátek kurzu, jasně čitelný formát data. Stejně tak bylo potřeba rozdělit sloupec pořadatel kurzu [ep_courses.course_title], na pořadatele, pořadatelské město a typ kurzu. A pak následovaly už jen drobné kosmetické úpravy. A nyní už byl ten pravý čas na vizualizaci. S lektorem Vojtou jsme si stanovily otázky, které nás zajímají a z toho jsme vytvořily několik grafů, které představíme během prezentace na Demo Day. 


Závěr

Vyznat se ve struktuře dat nám dalo nějakou chvíli zabrat, ale největším úkolem pro nás bylo zjistit, co vlastně chceme a můžeme se získanými daty udělat. Na co chceme přijít? Jaké souvislosti hledáme? Jak to všechno může reálně využít Wikimedia ČR? A co se díky tomu můžeme naučit? Odpovědi zatím pomalu sbíráme a do závěrečného projektu je bezpochyby zkompletujeme a předvedeme. 


O nás

Celosvětová nezisková organizace Wikimedia vznikla v roce 2001, její česká pobočka pak v roce 2005. Jedním z nejvyužívanějších projektů je encyklopedie Wikipedia, jejíchž více než 40 milionů článků je dostupných v 301 jazycích.

Šárka se k datům a programování dostala docela náhodo přes copywriting a baristování. Miluje seznamy a tabulky, ale ještě víc ji baví programovat. Po prvním kurzu Czechitas se nadchla pro Python a doufá, že právě programování ji jednou bude nejen bavit, ale i živit. 


Zdenča a její cesta k IT je o něco přímočařejší – právě dokončuje bakalářské studium oboru Aplikovaná informatika na VŠE. Technologie ji baví, ale mnohem víc zábavy si užije u vizualizace dat. Je akční a táhne ji to k marketingu, což se jí daří velmi prakticky spojovat v současné práci.