Čísla a grafy#
Jmenuji se Honza Javorek a provozuji junior.guru. Tuto stránku jsem vytvořil po vzoru jiných otevřených projektů. Čísla a grafy stejně potřebuji pro svou vlastní potřebu, takže proč je v rámci transparentnosti nemít rovnou na webu, že?
Plány na rok 2023#
Plnění mých plánů na rok 2023 lze sledovat na GitHubu.
Týdenní poznámky#
Od května 2020 píšu na svůj osobní blog týdenní poznámky, ve kterých popisuji, jak makám na junior.guru. Pomáhá mi to s páteční psychikou a zároveň si u toho uspořádám myšlenky. Tady je posledních pět článků:
-
Týdenní poznámky: Kokořínsko a Apify, 18.7.2024
-
Týdenní poznámky: EuroPython a překopávání sponzorů, 11.7.2024
-
Týdenní poznámky: Sponzoři a scrapování Úřadu práce, 27.6.2024
-
Týdenní poznámky: Červen, 20.6.2024
-
Týdenní poznámky: Kurz scrapování v Pythonu a WebExpo, 30.5.2024
Čistý zisk#
Zisk jsou výnosy mínus náklady včetně daní, tedy částka, která už jde z mého podnikání přímo do rodinného rozpočtu. Aktuální čistý zisk junior.guru je 45.883 Kč měsíčně. Spočítáno jako zisk za posledních 12 měsíců (TTM, trailing twelve months) vydělený 12.
Občas si čtu o zahraničních podnikavcích, kteří taky otevřeně sdílí svoje výdělky. Mají to však v jiné měně, tak se mi to špatně srovnává. Proto jsem si to přepočítal. Podle pondělních kurzů ČNB mám zhruba $1.978 nebo 1.818€ čistého měsíčně.
Finanční data se každý den stahují přímo z mého podnikatelského účtu u Fio banky.
Cíl#
Cílem není zbohatnout, ale dlouhodobě pomáhat juniorům, pohodlně živit rodinu a žít při tom šťastný život. Vlevo vidíte měsíční čistý zisk junior.guru a vpravo jak se na to tvářím.
45.883 Kč čistého | 🤨 |
---|
Seniorní programátor s mými zkušenostmi, který pracuje pro pražskou nebo zahraniční firmu, vydělává 100.000 Kč měsíčně čistého a víc. Dohodli jsme se doma, že když mě junior.guru tolik baví, zkusím to provozovat a i když to vydělá méně, stojí nám to za větší domácí pohodu. Ze svých předchozích angažmá jsem měl úspory, díky nimž jsem mohl v začátcích junior.guru držet při životě, i když zatím moc nevydělávalo.
Na junior.guru pracuji na plný úvazek, mám malé dítě, ženu na rodičovské, nemáme auto, bydlíme v nájmu uprostřed Prahy. Jako podnikatel potřebuji velkou rezervu, abych se nemusel strachovat s každou změnou rodinných nákladů, jestli mohu pokračovat. Také mi nikdo neplatí dovolenou, nemocenskou, nespoří na důchod.
40.000 Kč | 60.000 Kč | 80.000 Kč |
---|---|---|
🤨 | 😀 | 🤩 |
|
|
|
Výnosy a náklady#
Silné čáry zobrazují vývoj mých výnosů a nákladů v každém konkrétním měsíci. Tenké linky zobrazují totéž, ale vždy za posledních 12 měsíců (TTM, trailing twelve months), vyděleno 12. Čistý zisk je rozdíl mezi modrou a červenou čárou.
Moje výnosy ani náklady nemají pravidelný, měsíční charakter. Jeden měsíc vydělám víc, jiný méně, stejné je to s výdaji. Zároveň nemám s nikým delší kontrakt než roční, ať už jsou to jednotlivci nebo firmy. TTM tedy stírá tyto skoky nahoru a dolů, ale protože můj byznys roste rychleji než ročním tempem, tak zase ukazuje možná menší číslo, než je realitou za poslední půlrok, čtvrtrok. Tu ukazují silné čáry.
Finanční data se každý den stahují přímo z mého podnikatelského účtu u Fio banky.
Výnosy#
Původně jsem se snažil junior.guru živit z inzerce nabídek práce, ale byznys na tomto modelu jsem nedokázal dostatečně rozpohybovat tak, abych věřil, že má smysl v tom dál pokračovat. Mezitím jsem se pokusil zpeněžit příručku skrze loga firem a prosil jsem návštěvníky webu o dobrovolné příspěvky.
Ke konci roku 2020 jsem se rozhodl změnit byznys model a vytvořit kolem junior.guru placenou komunitu na Discordu. Toto detailně popisuji ve svém článku na blogu. Klub se veřejnosti otevřel v únoru 2021.
V ideálním případě by mě živilo individuální členství lidí v klubu, protože je to pravidelný, předvídatelný příjem, který mi navíc zajišťuje největší nezávislost. Individuální členství ale nevystačí, takže mám i sponzory. Z těch na fakturu jsou větší jednorázové příjmy, které lze obtížně předvídat. Tyto dohody taky mohou ovlivňovat mou kritičnost ke konkrétním firmám. Proto všechna sponzorství transparentně popisuji.
Finanční data se každý den stahují přímo z mého podnikatelského účtu u Fio banky.
Proč tu není MRR#
MRR znamená monthly recurring revenue a je základní metrikou většiny online byznysů, které jsou vedeny jako pravidelně placená služba. Je to součet výnosů, které mi pravidelně měsíčně chodí na účet skrze předplatné, tedy pravidelný příjem, na který se dá spolehnout. I když je junior.guru služba s členstvím na měsíční bázi a MRR by spočítat šlo, nakonec jsem se rozhodl jej zatím neřešit a dívám se spíš na ono TTM vydělené 12.
Jedním důvodem je složitost výpočtu. Data beru z bankovního účtu, kam mi ale nechodí částky za jednotlivé lidi. Platební brána mi vždy posílá úhrnné částky za několik týdnů zpětně. Musel bych sbírat data z více zdrojů. Navíc prodávám i roční členství, které bych musel rozpočítávat.
Druhým důvodem je malá vypovídající hodnota. Velkou část výnosů tvoří kontrakty s firmami, jež jsou nárazovým, ale ve svém množství poměrně stabilním příjmem. Pravidelné příjmy mám zase i z dobrovolných příspěvků, jež bych do MRR započítával jen velice složitě. Aby bylo číslo přesné, musel bych mít data o tom, jak přesně kdo přispívá přes Patreon nebo GitHub Sponsors, což se mi nevyplatí řešit.
Náklady#
Zahrnuji pouze náklady na byznys, ale zase i s daněmi a odvody na zdravotní a sociální pojištění. V roce 2020 je v nich díra, protože kvůli covidu-19 nebyla povinnost je platit. Občas jdou do mínusu (stává se z nich příjem), protože mi úřady něco vrátily.
Neplatím si žádnou reklamu. Výdaje na marketing jsou předplatné nástrojů, tisk samolepek, konzultace, apod.
Finanční data se každý den stahují přímo z mého podnikatelského účtu u Fio banky.
Sponzoři#
Provoz junior.guru aktuálně podporuje 14 sponzorů. Z nich 8 využívá GitHub Sponsors.
Budujeme brand #
Fakturoid |
2 členové |
309 dní zbývá |
|
Rector |
0 členů |
5 dní zbývá |
|
Red Hat |
5 členů |
66 dní zbývá |
|
Poskytujeme kurzy #
ENGETO Academy |
1 člen |
36 dní zbývá |
|
ITnetwork |
3 členové |
248 dní zbývá |
|
Sponzorujeme #
Mews
Podílí se na mentoringu a rozšířené pomoci pro lidi, kteří na junior.guru žádají o stipendium. |
11 členů |
36 dní zbývá |
|
GitHub Sponsors #
@Aprillion
Peter Hozák |
![]() |
@clytaemnestra
Mia Bajić |
![]() |
@lubosm
Lubos Magat |
![]() |
@midatechsro
midatechsro |
![]() |
@nadade
Nada Jasikova |
![]() |
@petrjakubec
Petr Jakubec |
![]() |
@spaze
Michal Špaček |
![]() |
@zzen
Jakub Nešetřil |
![]() |
Bývalí sponzoři #
Ataccama, CDN77.com, Creatiweb, Credo Ventures, Glance Media, Green Fox Academy, Inuits, Jetveo, Lynt, OpenGeoLabs, Processand, Pure Storage, STRV, Software Development Academy, pipetail.io, wf tech.
GitHub Sponsors: @GoodMirek, @JirkaChadima, @MartinaPiekna, @SvetlanaM, @TomasVotruba, @adderpositive, @ikvasnica, @indeedeng, @katemihalikova, @lspdv, @marekaf, @ondrejsika, @pavlix, @petrvacha, @tricoder42.
Patreon: Tomáš Ehrlich, Tomáš Jeřábek, Vojta Tranta, Petr Viktorin
A další neveřejně, někteří přes GitHub Sponsors, někteří přímo na účet.
Partneři#
Aktuálně junior.guru spolupracuje s 14 partnery.
Aj Ty v IT
Spolupráce mezi komunitami. Mohou v klubu propagovat své akce apod. Až bude junior.guru umět SK portály, mají slíbený pravidelný export z databáze pracovních inzerátů. |
3 členové |
|
CoreSkill
Využívají klub pro komunikaci se svými klienty (studenty). Dan Srb v klubu moderuje a radí s frontendem. |
11 členů |
|
Creatiweb
Za symbolickou cenu poskytují pracovní místo ve své kanceláři. |
0 členů |
|
Czechitas
Spolupráce mezi komunitami. Mohou v klubu propagovat své akce apod. Dostávají pravidelný export z databáze pracovních inzerátů. |
1 člen |
|
Česko.Digital
Spolupráce mezi komunitami. Snaha zapojit juniory do dobrovolných aktivit podporující digitalizaci státu a neziskovek. |
0 členů |
|
DigiKoalice
Projekt junior.guru je členem DigiKoalice, české národní koalice pro digitální dovednosti a pracovní místa. |
0 členů |
|
Dokážeš programovat
Využívají klub jako komunitu pro své studenty. Lucie Lenértová v klubu pořádá různé online akce. |
1 člen |
|
Frontendisti
Spolupráce mezi komunitami. Mohou v klubu propagovat své akce apod. |
1 člen |
|
PyLadies
Spolupráce mezi komunitami. Mohou v klubu propagovat své akce apod. Celé junior.guru kdysi vzniklo v rámci dobrovolnictví pro PyLadies a na základě podnětů z PyLadies. |
5 členů |
|
Pyvec
Spolupráce mezi komunitami. Python komunita může v klubu propagovat své akce apod. Provozovatel junior.guru je nejen členem, ale dokonce ve vedení Pyvce. Celé junior.guru kdysi vzniklo jako výsledek dobrovolnictví pro Python komunitu. |
5 členů |
|
ReactGirls
Spolupráce mezi komunitami. Mohou v klubu propagovat své akce apod. |
2 členové |
|
Skoumal
Historicky o první klubové sponzorství. Když Skoumal díky junior.guru získá zajímavé benefity (např. nové zaměstnance), může mít chuť přihodit i finanční podporu. |
1 člen |
|
Týden pro Digitální Česko
Projekt junior.guru je každoročním partnerem Týdne pro Digitální Česko, celostátní vzdělávací akce v oblasti digitalizace. |
0 členů |
|
yablko
Spolupráce mezi spřízněnými projekty. Videa s yablkovými moudry jsou v příručce, yablko chválí klub kudy chodí. |
1 člen |
|
Aktivita v klubu#
Počet znaků napsaných na Discordu#
V grafu není celá historie, uchovávám data jen za rok zpětně. Některé kanály se nezapočítávají, např. „volná zábava“. Nejde o kompletní engagement, protože lidi se mohou v klubu projevovat různě, např. reagováním pomocí emoji.
Pouze orientační metrika. Nechci sledovat a glorifikovat engagement, protože lidi mají z klubu úplně v pohodě hodnotu i pokud si jej pouze čtou. K tématu doporučuji Stop Measuring Community Engagement.
Počet online akcí v klubu#
Chtěl bych mít v klubu v průměru aspoň dvě oficiální online akce měsíčně. Přes léto je většinou pauza.
Členství v klubu#
Když nepočítám roboty, je teď na Discordu 368 členů. Historická data v grafech jsou z Memberful, služby, která se mi stará o registrace a placení. Čísla se mohou lišit, protože když někdo ukončí členství a smaže svůj účet, ze statistik zmizí. Také ne každý, kdo se zaregistroval, je i na Discordu. Někdo se tam teprve chystá a někdo to ani neplánuje, jelikož mě chce podpořit pouze finančně. Grafy jsou tedy orientační.
Tenká modrá čára představuje počet členů, kteří si členství platí ze svého. Tenká zelená čára ukazuje ty z nich, kteří preferují roční platbu před měsíční.
Po zdražení členství jsem si uklízel v administraci a smazal jsem staré tarify. Tím se mi povedlo omylem nenávratně smazat historická data, takže něco v grafu začíná až v březnu 2023.
Typy členství#
Každý příchozí člen má v klubu dva týdny zdarma, bez ohledu na to, jakým způsobem za členství následně platí. Některým lidem dávám vstup do klubu zcela zdarma, ať už na základě vlastního uvážení, jako poděkování např. za přednášku v klubu, jako stipendium, nebo ze strategických důvodů. Jde o různé spolupráce s komunitami, podcasty, nebo třeba zvaní mentorů na specifické technologie, jejichž zastoupení na straně seniorů je v klubu slabé, ale od juniorů je po tématu poptávka.
Část lidí má členství zdarma na základě toho, že mě v podpořili dobrovolnými příspěvky. V důsledku to tedy zdarma není, jen mi peníze poslali jinudy. Mnohdy poslali víc, než by je stálo standardní členství v klubu.
S mentory z CoreSkill máme symbiózu. Nic si navzájem neplatíme. Oni využívají platformu klubu pro svůj mentoring a své studenty. Všichni mají automaticky vstup zdarma. Klub má díky tomu experty na frontend a moderátora Dana Srba.
Po zdražení členství jsem si uklízel v administraci a smazal jsem staré tarify. Tím se mi povedlo omylem nenávratně smazat historická data, takže graf začíná až v březnu 2023.
Příchody a odchody#
Graf s příchody obsahuje všechny typy členství. Ať už nový člen přišel přes firmu, stipendium, nebo individuálně, tak se započte. Tenká modrá čára představuje počet členů, kteří v daném měsíci poprvé v historii svého členství přešli na individuální placení. Jsou to především noví členové, kteří se po dvou týdnech na zkoušku rozhodli, že si klub začnou platit. Mohou to ale být i firemní členové, kterým skončilo členství zaplacené někým jiným a rozhodli se pokračovat za svoje.
Graf s odchody zahrnuje i ty, kteří klub na dva týdny zdarma vyzkoušeli a poté za něj nezačali platit. Tam se očekává celkem velký odpad. Tenká čára sleduje pouze ty, kdo zrušili už existující individuálně placené členství. Naznačuje tedy odchody členů, kteří se za klub rozhodli platit, ale následně změnili názor. Očekává se, že juniorům, kteří si nakonec práci v IT našli, pokryjí většinu hodnoty klubu kolegové ve firmě, kde pracují. Také se v prvních měsících intenzivně zaučují a na klub tak často už nemají čas, i když je to tam baví.
Po zdražení členství jsem si uklízel v administraci a smazal jsem staré tarify. Tím se mi povedlo omylem nenávratně smazat historická data, takže něco v grafu začíná až v březnu 2023.
Konverze dvou týdnů na zkoušku#
Nově registrovaní mají v klubu dva týdny zdarma na zkoušku, tzv. trial. Jejich členství není nijak omezeno, mohou dělat všechno, co ostatní členové. Po dvou týdnech buď vyplní kartu a začnou platit, nebo je jim členství zrušeno. Graf ukazuje konverzi trialů.
Po zdražení členství jsem si uklízel v administraci a smazal jsem staré tarify. Tím se mi povedlo omylem nenávratně smazat historická data, takže graf začíná až v březnu 2023.
Délka setrvání v klubu#
Pokud jde graf nahoru, znamená to, že velká část členů zůstává v klubu dlouho. Propady nastávají, pokud do klubu přijdou noví lidé, kteří tam ale nevydrží a brzy zase odejdou.
Po zdražení členství jsem si uklízel v administraci a smazal jsem staré tarify. Tím se mi povedlo omylem nenávratně smazat historická data, takže něco v grafu začíná až v březnu 2023.
Retence klubu#
Procento členů, kteří z klubu odcházejí, neboli churn. Opět platí, že silná čára je celkový churn, zatímco tenká se týká jen členů, kteří si klub platili za svoje.
Po zdražení členství jsem si uklízel v administraci a smazal jsem staré tarify. Tím se mi povedlo omylem nenávratně smazat historická data, takže něco v grafu začíná až v březnu 2023.
Důvody odchodu#
Když někdo ukončuje členství v klubu, může mi sdělit důvod, proč tak činí. Data jsou celkem od 364 lidí.
Důvody odchodu za celou historii#
Celkový poměr důvodů odchodu za celou historii, po kterou sbírám tento typ zpětné vazby. Data jsou celkem od 364 lidí.
Odkud jsou platící členové#
O členech neuchovávám prakticky žádné informace, ze kterých bych mohl zjistit, odkud jsou. Stripe mi ale umožňuje zjistit, v jaké zemi byla vydána jejich karta. Díky tomu mohu odhadnout, kolik lidí není z Česka.
Potřebuju to sledovat, abych věděl, jestli jsem nepřesáhl limit pro One Stop Shop. Ten je 10.000€/rok, což je 252.350 Kč/rok, což je 21.029/měsíc.
Z individuálních členství jsem minulý měsíc vydělal 29.687 Kč celkem. Když použiju procenta z grafu níže, odhadem by mělo být 2.590 Kč odjinud než z Česka. Takže asi dobrý.
Marketingové kanály klubu#
Výkonnost kanálů podle ankety#
Když se někdo registruje do klubu, může mi sdělit, kde na junior.guru narazil. Graf porovnává kolik lidí jednotlivé marketingové kanály přivedly do klubu, a kolik z toho doposud bylo peněz. Procenta nejsou podíl ze všech příchozích, ale z 183 lidí, kteří odpověděli na anketu.
Výkonnost kanálů podle předchozí stránky#
Když se někdo registruje do klubu, systém si uloží referrer, tzn. z jaké webové stránky přišel. Graf porovnává kolik lidí jednotlivé marketingové kanály přivedly do klubu, a kolik z toho doposud bylo peněz. Procenta nejsou podíl ze všech příchozích, ale z 38 lidí, kteří měli referrer odjinud než z junior.guru.
Sociální sítě a newsletter#
Vývoj počtu sledujících na profilech na relevantních sociálních sítích a počtu odběratelů newsletteru.
Návštěvnost webu#
Návštěvnost měří Simple Analytics a veškerá čísla jsou veřejná. Tady jen pár vybraných grafů, které se tam špatně naklikávají ručně. Grafy zobrazují trend pouze zpětně za jeden rok, protože mi to tak stačí.
Celková návštěvnost#
Většinou je nejvyšší v lednu a nejnižší v létě.
Souhrnná návštěvnost podle produktů#
Nad jednotlivými částmi junior.guru přemýšlím jako nad produkty. Graf mi pomáhá zjistit, jak velkou návštěvnost přitahuje každý z nich. Při čtení grafu je ale dobré si uvědomit, že návštěvnost není vše. Například klub nebo podcast mají „to hlavní“ jinde než na webu.
Registrace do klubu podle předchozí stránky#
Když se někdo registruje do klubu, systém si uloží referrer, tzn. z jaké webové stránky přišel. Procenta nejsou podíl ze všech příchozích, ale z 67 lidí, kteří měli za poslední půlrok referrer z junior.guru. Tzv. long tail je z grafu uříznutý.
Peníze za členství v klubu podle předchozí stránky#
Když se někdo registruje do klubu, systém si uloží referrer, tzn. z jaké webové stránky přišel. Graf ukazuje, kolik takhle jednotlivé stránky skrze klub přinesly peněz. Procenta nejsou podíl ze všech příchozích, ale z 67 lidí, kteří měli za poslední půlrok referrer z junior.guru. Tzv. long tail je z grafu uříznutý.
Příručka#
Orientační metriky co se týče stránek v příručce. Všechny soubory spadající pod příručku mají aktuálně 812.618 znaků. Počítání znaků v souborech, kde se míchají Markdown a Jinja značky, má spoustu vad, ale aspoň něco. Podle Wikipedie je 180.000 znaků doporučovaná velikost disertační práce (titul Ph.D.).
Když chci na nějaké stránce něco doplnit, dělám si na jejím konci HTML komentář a do něj si ukládám nepříliš strukturované poznámky. Ty se taky započítají do celkové velikosti, ale v grafu je jejich velikost zobrazena šedě, abych tušil, jaký je poměr a kde na mě ještě čeká kolik práce.
Příliš velké stránky bych měl nejspíš zkrátit, nebo rozdělit do více menších. Ideální stránka příručky by měla pouze modrý sloupeček a ten by nesahal výše než k červené čáře.
Ženy#
Podíl žen sleduji z vlastní zvědavosti a není to žádná přesná metrika. Nikdo nikde nevyplňuje, zda je žena nebo muž. Pro účely statistik se to určuje jen odhadem podle křestního jména a tvaru příjmení.
Podíl žen v klubu#
Pro srovnání, podle analýzy ČSÚ z roku 2020 je v českém IT pouze 10 % žen. Tento podíl se od jejich předchozí analýzy v roce 2018 nezlepšil, naopak nás definitivně předběhly už všechny ostatní státy v Evropě.
Podíl žen mezi přednášejícími#
Chtěl bych, aby v průměru polovina přednášejících na online akcích v klubu byly ženy. Graf zobrazuje procentuální podíl žen na počtu přednášejících za posledních 12 měsíců (TTM, trailing twelve months).
Podíl žen mezi hosty podcastu#
Sice do toho Pavlíně nekecám, ale za mě by bylo fajn, kdyby v průměru polovina hostů v podcastu byly ženy. Graf zobrazuje procentuální podíl žen na počtu hostů za posledních 12 měsíců (TTM, trailing twelve months).
Kód#
Práci na kódu lze sledovat na GitHubu.