Design pattern #6: Události v datech | Mňamka #237

Máme tu další várku design patternů! Pojďme si ukázat, jak můžeme pracovat s událostmi v datech - zajímá vás, co předcházelo zákaznické registraci? Průměrný počet dní mezi objednávkami? Nebo jak se mění zdroj návštěv u jednotlivých klientů? Není to nic složitého!

1. Absolutní pořadí v rámci “partition” (např. klienta)

Typickým use casem pro tohle řešení je například analytika akvizičního “funnelu”, kdy sledujete jakým způsobem (a odkud) uživatel přicházel na Váš produktový web předtím, než se zaregistroval nebo udělal nákup. Může Vám to velmi pomoci v pochopení patternů chování jednotlivých zákazníků, nebo skupin, nebo třeba odhalit mezery v akvizičním procesu 

Podobně jako v případě “prvního výskytu” události, First = yes / no, můžeme očíslovat pořadí výskytu událostí v rámci jedné partition (např. 1., 2., 3. objednávka, návštěva webu apod. konkrétního zákazníka). 

Níže se můžete podívat na příklad konkrétního SQL (Snowflake), kterým se tohle řeší. Napadá Vás k čemu dalšímu by se tenhle vzor dal použít?

2. Days_since_previous jako fakt i sgroupovaný atribut

Dny od předchozí události, typicky objednávky, ukládáme jako fakt (počet dní) i jako zgroupovaný atribut (tj. uplynulo od poslední objednávky třeba měně než 7 dní, 14 dní, 30 dní, 90+ dní…). Případně mohou být kategoie disjunktní (0-7 dní, 8-14 dní...), záleží na konkrétním use-case.

Proč? Z počtu dní od poslední objednávky můžeme sledovat metriky jako průměrný počet dní mezi objednávkami. Přes sgupované atributy může uživatel snadno slicovat a sledovat chování zákazníků v jednotlivých kategoriích (např. nejvíce zákazníků udělá další objednávku jednou do měsíce, pokud se konkrétní zákazník posune do kategorie ‘90+ dní’, pravděpodobně ho firma ztratí...) Jedná se o typický use case, na který se hodí mít data připravená tak, aby si uživatel mohl snadno vytvářet reporty a metriky. Nehodí se jen pro e-shopy, ale třeba i pokud sledujeme návštěvnost libovolného webu a další use-cases.

Previous atributy

Previous atributy se typicky hodí pro vyhodnocení marketingových kampaní (např. zda se podařilo dostat návštěvníky z cpc do directu, nebo naopak, pokud přišli návštěvníci na web minule přímo a nyní přes placenou kampaň, je kampaň špatně zacílená...). V kombinaci s days_since_previous lze namodelovat celý acquisition funnel. V SQL spočítáme obdobně, pomocí window funkce LAG. Opět se jedná o typický use case.

Máte nějaký další tip, který děláte “vždycky a všude”? 

Máte k článku nějaké otázky nebo připomínky? Klidně mi napište, ráda to s Vámi proberu :-)

Petra Horáčková
datový detektiv
LinkedIn

Data Storytelling: Rychlé vs Pomalé datové myšlení | Mňamka #525

Data Storytelling: Rychlé vs Pomalé datové myšlení | Mňamka #525

Znáte ten pocit, když se už několik desítek minut hrabete ve složité tabulce a stále nemůžete najít odpovědi na svoje otázky? My už dávno ne. Umíme si totiž najít zkratku z pomalého myšlení do toho rychlého.

Keboola a Kai PromtLab | Mňamka #524

Keboola a Kai PromtLab | Mňamka #524

Objavte PromptLab, sofistikované riešenie od Kebooly a Kai PromtLab na zlepšenie interakcií s umelou inteligenciou. V tomto článku sa dozviete, ako PromptLab využíva technológiu Streamlit na automatické prispôsobovanie výziev za účelom dosiahnutia lepšej jasnosti a presnosti vo vašich projektoch. Oboznámte sa s intuitívnym rozhraním, ktoré vám umožní porovnávať výsledky a optimalizovať pracovné postupy.

Základní pojmy v datovém modelování | Mňamka #457

Základní pojmy v datovém modelování | Mňamka #457

Co je to datový model? Jaký je rozdíl mezi konceptuálním a logickým modelem? A k čemu slouží proces tzv. normalizace? Bez datového modelování se dnes v BI obejdete už jen stěží, Kuba si o něm proto připravil krátkou minisérii, ve které si vše probereme od úplných základů. V prvním díle se seznámíme s nejdůležitějšími pojmy, které byste v této souvislosti měli znát, a na jednoduchém příkladu z oblasti sales si ukážeme, jak takový datový model vlastně vypadá. Tak pojďme na to!