Chceme, aby tohle fórum fungovalo dobře a sloužilo jako živý prostor k diskusi nad tématy digitální transformace v Česku. Abychom ho mohli rozvíjet a udržovat, potřebujeme vědět, co se na něm děje a jak se život na fóru vyvíjí v čase. Prostě to nějak měřit a zobrazovat.
Discourse má celou řadu různých metrik a rozšíření Data explorer, které umí zobrazit už opravdu kde co. Zatím si z toho bereme pár věcí, které publikujeme tady: Statistiky | Česko.Digital. Krom DIskutuj.Digital tam zobrazujeme obecně statistiky pro celý ekosystém Česko.Digital.
Zároveň si, co se Diskutuj.Digital týče, umíme zobrazit i nějaké podrobnější ukazatele, jen zatím řešíme, jak je co nejjednodušeji převádět do vizuální podoby. Ideálně tak, aby se daly data uživatelsky co nejjednodušeji nasypat do nějakého nástroje, který by z toho zpracoval vizuálně přehledné výstupy.
Mám dvě otázky:
Jaké metriky by vás jako uživatele tohoto fóra ohledně něj nejvíc zajímaly?
Máte někdo nějaký tip na jednoduché zobrazování dat, které by bylo uživatelsky přívětivé i pro běžné uživatele bez znalosti nástrojů pro vizualizaci dat?
Líbí se nám třeba co se týče zobrazení (i komplexnosti dat) Jak se daří provozovat junior.guru - čísla a grafy platformy junior.guru Honzy Javorka, zkusím ho sem nasměrovat, aby nám řekl víc o tom, jak to dává dohromady.
Přemýšlím nad nějakým jednoduchým datovým dashboardem pro Česko.Digital už v podstatě roky. Vystřídali jsme různá řešení (například Google Data Studio nebo Keboola + GoodData), nic z toho mně nepřišlo úplně dobré – nejčastěji to bylo na naše poměry overkill, špatně se s tím pracovalo a lidi na to nekoukali. A metriky, na které lidi nekoukají, jsou na pendrek.
Aktuálně máme to, co odkazovala Anež (první záložka). Na frontendu je to pár řádků TypeScriptu, na backendu ta data ukládáme do dvou provázaných tabulek v Airtable. Jedna tabulka obsahuje definice metrik, druhá tabulka samotná měření. Plníme to zatím ručně, není to nijak náročné.
Moc se mně líbí, že je to takhle hloupé, novou metriku jde přidat bez změn kódu a přijde mně, že to je konečně přístupné a na očích. Na druhou stranu to ale zvládá pouze „skalární“ metriky, tj. neumí to reprezentovat třeba ty skládané grafy, které by se nám občas hodily.
Pořád bych moc rád našel hodně jednoduchý business intelligence nástroj vhodný pro maličké firmy a neziskovky, kde by byly k dispozici nějaké základní „extraktory dat“ (třeba pro Slack nebo webovou analytiku) a kde bychom si mohli nějak jednoduše doprogramovat vlastní zdroje dat.
Bavili jsme se s @ondra_klubal, že by nám s těmi metrikami pomohl
V prvním kroku bychom chtěli očistit metriku měsíčních zobrazených stránek od botů (ať nám nezkreslujou organickou návštěvnost) a přidat metriku měsíčních aktivních uživatelů (MAU). Odkazy:
Ahoj, zkusil jsem vytvořit dvě nové queries - MAU a Pageviews bez crawlers. Teď nevím, jak se upravuje ten dashboard, kde byste to předpokládám chtěli zobrazovat. Někde jsem se dočetl, že k tomu je zase potřeba nějaký discourse plugin. @zoul@anezkamll
Určitě šlo. Ještě se hrabu v těch datech trochu a tak mě napadá, jak přesně bys vydefinoval toho aktivního usera? Těch pohledů je víc. Stačí, když přijde na diskutuj.digital, nebo by měl i provést nějakou akci?
Obojí dává smysl, asi mně jde hlavně o rozlišení těch pouze založených účtů od lidí, co sem chodí. Takže mně pro tohle číslo stačí, že se tu daný měsíc objevili.
Určitě ale časem můžeme dodat i nějaký větší rozpad, pokud nám bude dávat smysl. Což si docela dobře dokážu představit u toho mého přemýšlení o sběru různých vhledů.
Já nad tím uvažuju tak, že časem asi označíme třeba trojici metrik za klíčovou a necháme je zobrazené takhle výrazně, a zbytek v UI nějak deprioritizujeme, aby ten dashboard nezmizel pod nánosem grafů. Šlo by to třeba udělat tak, že na první záložku dáme klíčové ukazatele ze všech služeb a na další záložky pak plnou sadu ukazatelů ke každé službě.
Dneska jsem ještě dělal reality check proti číslům odjinud a všiml jsem si, že ty nové pageviews nakonec ukazují právě crawlery, nikoliv návštěvnost bez nich Ty v tom dotazu vlastně započítáváš jen tu chtěnou návštěvnost, ale na konci dotazu jsi ji odečetl od celkové. Opravil jsem, teď už to sedí na čísla z dashboardu.
Každý chce to, co nemá Mě se taky líbí, že je to vaše takhle hloupé, novou metriku jde přidat bez změn kódu, a dokonce to vypadá celkem hezky. To jsou vlastnosti, které ty moje grafy nemají.
Je s nima hodně práce. Na backendu mám SQLite, do které si sesbírávám data z různých služeb, pak si nějak ručně počítám podkladová čísla pro ty grafy, pak je ručně vykreslím pomocí https://www.chartjs.org/
Nic z toho není vyloženě záměr, akorát já to prostě neumím líp. Nejsem datař a nebaví mě hrát si s tím, takže si možná zbytečně programuju věci, které by Python knihovny na data (NumPy, Pandas, Matplotlib…) zvládly jedním příkazem. Když na přednáškách vidím, co dokážou Jupyter notebooky nebo Gradio apod., tak si říkám, že jsem prostě úplně mimo. Že co já tvořím úplně ze šroubků a třísek týden, tak někdo, kdo tomu rozumí, napráská za pět minut. Včera jsem četl tohle Interesting ideas in Observable Framework o nějaké novince v Observable a měl jsem zase přesně tenhle pocit.
Takže upřímně nevím, co bych vám měl radit. Asi jen to, abyste to udělali jednodušeji než já. A taky abyste si dělali jen ty grafy, na které se chcete opravdu koukat
Tohle mě zajímá! My ta data sbíráme ručně, což je dobrý na vyzkoušení a při měsíční aktualizaci to není žádná extra zátěž. Ale stejně přemýšlím nad automatizací. (Celkově mě láká z toho uvařit nějaký extra jednoduchý BI nástroj pro neziskovky.)
Když dumám nad tím automatickým stahováním dat z cizích API, hodně narážím na problém „navazování dat“. Jak řešíš to, abys do databáze nestahoval data, která už tam jsou, a zároveň něco nevynechal? Ideální by bylo, kdyby to API mělo jedinečné identifikátory a já si pak mohl říct, že chci všechno od daného ID dál, ale to zdaleka ne všichni mají. Daří se ti tohle vyřešit přes datumy? (Možná z toho dělám větší problém, než to ve skutečnosti je?)
Tohle je výhoda i nevýhoda toho, když člověk něco dělá víceméně jako one man show. Sáhneš si na všechno, ale zákonitě ne všechno z toho umíš udělat nejlíp. Mně to přijde dobrý – především ten výsledek tady je podle mě super, jak ten tvůj dashboard, tak celkově infrastruktura kolem junior.guru. A kromě toho, a to možná hlavně, bych si nenechal kazit programování tou představou maximální efektivity, něco si pro radost bastlit je naprosto legit.
V trochu obecnější rovině k tomu mám moc rád tenhle text:
No jo, jenže zrovna ty grafy předělávám každou chvíli, protože je tam nějaký problém, nebo nesrovnalost s daty, a vlastně v tom moc „fun“ nemám Takže bych to klidně vyřešil jednodušeji a zabavoval se s něčím jiným. Není to čistě podnikatelský tlak na výkon.
K té první otázce, asi neumím úplně poradit. Já to prostě jednou denně stahuju všechno vždycky znova, přehodím JSONy vidlema Pythonem do SQLite ve formátu a propojení, jaké chci, a z toho vygeneruju statickou webovku, která tam leží do dalšího buildu. Když je dat moc, buď udělám retenci, třeba sleduju data jen za posledních X měsíců, nebo si to odložím přes commit zpátky do repa:
A u těchto pak stahuju jen nové věci. Hotovo. Jestli se to řeší přes ID nebo datumy, to asi bude vždy záležet na těch specifických datech. Fio mi dá úplně jiná data než Memberful apod. Navázat si to musím sám. Nejlepší je ale nic moc raději nenavazovat, protože většinou přijdeš na to, že sis myslel, že něco můžeš navázat, ale modely světa těch různých zdrojů dat jsou jiné a navázat nebo srovnat to vlastně nejde, že máš ve skutečnosti hrušky a jabka, i když se jmenujou stejně.
Když jsem četl „celkově mě láká z toho uvařit nějaký extra jednoduchý BI nástroj pro neziskovky“, tak jsem si řekl „tyjo, ten se hodně nudí“, ale pak mi došlo, že jsme tady vlastně v Česko.Digital a tohle je váš job
Haha! Tohle by byl čistě osobní projekt bokem, řeším hodně podobné věci ve třech neziskovkách najednou a láká mě ta možnost vyřešit to společně. (I když chápu, že bych si tím na sebe upletl bič.)