GoodData SF Hackathon, duben 2014

10.-11. dubna 2014 jsme jeli do San Francisco na hackathon, pořádaný v kanclech GoodData, zaměřený na používání jejich nových SDKček. Za 7 měsíců jsem si nenašel čas to sepsat, tak snad bez větších zkratek teď. Po dobu hackathonu jsme měli v Praze i San Francisco dropcam.com kamery - v textu jsou bez kontextu 2 timelapse videa.

Akce to byla super! Účastnilo se jí asi milion lidí z GoodData, jedna jejich externí firma (saama.com), co jim pomáhá s implementacema a my. Hackathon se pořádal paralelně v Praze a SF. Tomáš Trnka a já jsme jeli spolu s Lumírem Kajnarem a Martinem Karáskem z Prahy. Z Kanady dorazil Ondra Hlaváček, Adam Hu a Ling. Největší oběť pak udělal Jakub Nešetřil, když nám nabídl spaní u něj v garáži a nakonec nám dal 2 super pokoje!  


Hacking 

Na hackathon jsme dorazili pozdě (Uber zklamal! :), ale svižně jsme udělali 2 týmy - jeden v SF a druhý v Praze, kde bylo 6 Kebooláků (Martin Matějka, Jakub Matějka, Martin Halamíček, Tomáš Kačur, Erik Žigo a Miro Čillík). 

Keboola Tentacle

Pražský tým makal na projektu, který jsme nazvali “Keboola Tentacle” a měl za úkol analyzovat vztahy v objektech v GoodData projektu, s časovou závislostí. Prakticky to denně olizuje GoodData projekt, archivuje všechny definice datasetů, metrik, reportů a dashboardů a sleduje jejich vztahy. Je pak snadné ukázat na sloupeček s čísly a Tentacle poví, v jaké metrice/reportu/dashboardu je sloupeček použitý. Pokud se tedy něco změní v datech, je snadné říct, jaký to má dopad na ostrý projekt. Vedle toho to umí říct co se stalo, zatímco jsem byl na dovolené. Celé je to postavené nad API, vyrábí to repozitář json objektů, které jsou uložené v S3, zpracovávají se v Elasticsearch a nad nima je AngularJS aplikace na prohlížení.

Keboola Tentacle, jak jsme jej měli na hackathonu, je k vidění tady.


Klikněte si na zelené “entries” - ukáže se seznam sloupečků v datasetu a všech metrik, reportů a dashboardů. U sloupečků je vidět, jestli je to Attribut (A) nebo Fact (F) a kolikrát někde figuruje.


Kliknutím na sloupček “part_in_month” se zvýrazní kde všude daný sloupec figuruje. Tyhle pohledy jde kroutit mezi sebou. K olizování GoodData projektu je použité GoodData Ruby SDK, což koukám, že se dneska jmenuje GoodData Automation SDK - sakra, kam na tyhle rádoby trendy jména choděj :-)

S touhle věcí kluci z pražskýho týmu vyhráli třetí cenu ($500), což je super úspěch!

Syntetizované Objekty

Tomáš Trnka, Adam Hu a Ondra Hlaváček pak v San Fran kanclu kutili projekt, kterej ani nemá název, ale je podle mě hyper cool, jen nikdo nepochopil, co to dělá, protože to vypadalo jako když klonujeme hotový dashboardy normálníma GoodData funkcema. 


O co jde? Měl jsem hypotézu, že bez ohledu na model dat, pokud chci udělat graf, co ukazuje “Client Lifetime Value”, stačí mi vědět, co je klient a kde je vyjádřený “value” - pak prostě sečtu value podle klienta a mám to. Pokud to nepůjde, je blbě model, ale to není věc, kterou potřebuju v tenhle moment řešit. 

Adam a Tomáš udělali drobný generický Salesforce BI projekt, ze kterého posléze vzali definice metrik, reportů a dashboardů a všechno co se vztahovalo k datům, nahradili nějakým klíčovým slovem (místo ID sloupce pro “revenue” by v definici třeba "%%REV_COLUMN%%”). 

Ondra mezitím udělal js aplikaci, napsanou v GoodData JavaScript SDK, která mu umožňuje otagovat přímo v GoodData sloupečky. Aplikace se de-facto ptá na pár otázek typu “vyber sloupec, kde je datum založení objednávky” nebo “označ ID, které určuje zákazníka” nebo “jaký typ transakce znamená, že je zaplaceno?". Takhle získané informace strká přímo do GoodData projektu, aby nad nima následně vygeneroval z šablon metriky, grafy a dashbaordy. 

Na první pohled to vypadá, že do prázdného projektu strčíme hotový dashboard, ale celý trik je v “rozhovoru” s uživatelem, kde úplně obecně odpovídá na otázky, ze kterých pak syntetizujeme úplně unikátní projekt (vždy v závislosti na modelu dat). 

Udělat tuhle věc byl mega výkon, protože GoodData JS SDK, které jsme chtěli použít k autorizaci a abstrakci od GD, nepočítá (minimálně tehdá - možná se to od té doby posunulo), že by běželo kdekoliv jinde než přímo na serverech GoodData. My jediní jsme neměli to co ostatní - kompletní přístup k testovací infrastruktuře. Takže pro nás bylo nemyslitelné třeba udělat v rámci hackathonu nový druh grafu, co se prezentuje přímo v projektu. Díky tomu jsme třeba jen 8 hodin řešili, jak to celé rozjet, aby se dalo začít programovat. Cejtil jsem to jako docela silný handicap, ale s ohledem přes rameno to samozřejmě nevadilo :) Nutno podotknout, že se o nás kluci hodně dobře starali a snažili se nám to pomoct rozběhnout!

První místo (a $3000) na hackathonu vyhrál Petr Cvengroš s nevím kým. Udělali super interaktivní LDM vizualizaci, u které je jen velká škoda, že ji dodnes nedostali do produktu a leží zahrabaná v prostředí “Labs / Apps” o kterém nikdo moc neví :(

Výstupy z hackathonu zvalidovaly nějaké koncepty, které teď zpracováváme - o tom snad časem.

Lessons learned:

  • jedna "modrá pilulka" Martina Karáska = spíš celej let
  • AT&T pořád používá 1000 let starý v.35 kabely
  • v GoodData kanclu je zakázaný instalovat vlastní kamery (porušeno!)
  • v GoodData kanclu nesmíme bejt sami bez dozoru (porušeno! dozor usnul :)

  • v noci maká jen Ondra Hlaváček, pak já, pak indové ze Saama.com; nejvíc to flákaj kmenový zaměstnanci a čínská delegace z Keboola :-)

  • po GD kanclu na wc jen na koloběžce, nad ránem součastně i na skejtu
  • Karásek a Trnka jsou teplý => musej mít Corvette :)
  • když v noci opilej Petr Olmer říká: “tady bydlí Svára” a zvoní na zvonky, tak vyběhne pes a budou po vás střílet
  • když se acebook snaží, jde v SF koupit i bryndza - a pak pan Tully z Apiary vysmrkne halušky!

Pár fotek tady

Odkazy:

Pokud víte o jiných článcích, prosím do komentářů, rád to aktualizuju.


Data Hackathon v NODE5

Tak máme za sebou hackathon v Node5, zaměřený na data. S nápadem podobnou akci zorganizovat přišel Petr Ocásek a nás v Keboole nemusel vůbec přemlouvat - hned jsme byli pro. Cílem akce bylo dát dohromady lidi, kteří si chtějí zkusit různé technologie a v příjemném prostředí Node5 si jen tak pohrát.

Ze mě se stal samozvaný fundraiser - GoodData.com jsem nabídl, že mají unikátní šanci přispět hotovostí pěkně na dřevo a že jim za to nabízíme jen dobrej pocit a nulovou propagaci, protože by pak Lukáš Hudeček akci prohlásil za komerční a zničil nás nájemní hustosazbou Node5. Jarda Gergič z GoodData bez mrknutí oka otevřel peněženku a vysloužil si tím náš nehynoucí respekt. My jsme ještě přihodili 7k. Chvilku to vypadalo, že se za takovouhle datařskou akci postaví ještě StartupYard, ale nakonec z toho sešlo, asi protože budou daně nebo co a kluci teď šetří každou korunu :)

Pátek

V Node5 bylo natřískáno! FB event sliboval 85 lidí, nakonec dorazili všichni kromě Pavla Čurdy, který dal přednost gauč surfingu v Brně :)

Večer byl o prezentacích, jídle a networkingu. Telegraficky:

  • Jan Hřivňák z Futurelytics; nevím co říkal, protože jsem u toho usnul (den předtím jsme měli v Keboole náročnej mejdan :)
  • Štěpán Bechyňský ukazoval Excel a nějakej add-on, kterej mu vyhodil tunu errorů. Všichni se začali smát - to mě probudilo! Nakonec to rozběhl a vypadalo to docela super - data o měření hluku a vibracích na dálnici D11, zobrazený v mapě
  • já jsem měl říct něco o BigQuery, Redshiftu a Vertice. Myslím, že se potvrdilo, že nejsem lev salónů, zvlášť po mejdanech :)
  • Štěpán Bechyňský pak ještě ukazoval různý mikropočítače - vypadalo to dost surově hackersky 
  • Adam Herout z Click2Stream ukazoval možnosti počítačového vidění - jsem na baru, neodnáším si z toho nic > to mě trochu mrzí, vypadalo to super
  • Dva kluci z Ataccama.com tam pak ukazovali blejskavý sales prezentace svýho hadoop řešení; míň self-promo, chce se mi říct...

Zbytek pátku byl pak ve znamení skvělého jídla od Gazdinka a kecání s lidma. Vzhledem k mojí únavě z předchozího mejdanu jsem zaparkoval v pytli, kde mě našel Martin Podval a Štefan Pacinda

Pracují v HP na projektu, který umí simulovat pokročilé SOAP/REST/whatever systémy - takové hustoadvanced Apiary.io. Ještě s Ondrou Popelkou jsme spolu asi hodinu povídali o GoodData, HP, jejich projektu a Vertice. 

Sobota

Vyrážíme na 9:00 do Node5. Pavel a Ondra spí u mě (bydlím nově za rohem). Ráno je ve znamení vykopnutí skutečné práce. 

Kebooláci se rozdělují mezi “naše” svěřence - Click2Stream a Twisto. Začínám rychlovysvětlením, proč je pro ně GoodData super - nakonec před všema lidma, protože je o to docela zájem. Jdu na dřeň a atakuju interní programátory, co míchaj chartové knihovny a vlastní SQL dotazy na data. Ukazuju “report explain” a rozvoj MAQL na SQL + vypichuju API. Nevím jak se to chytlo, ale jsme na hackathonu, ne? :) Dotazy jsou jen k realtime datům - s tím se vypořádávám protidotazem, zda je potřeba z realtime měřiče teploty vody v reaktoru dělat Month-to-Date a drillovat do toho. Chvilku řešíme rozdíl mezi BI a reportingem. 

Twisto a Click2Stream se přesouvá do menší místnosti, kde se bavíme o business kritériích jejich projektů, povídáme o tom, jak se do GoodData data dostanou a co s nima bude nutné předem udělat. 

Na tuhle diskusi se nabalí další lidi a já začínám mít z celé akce moc příjemný pocit.

Twisto

Tým twisto má připravená data v docela dobré kvalitě a přináší si existující reporting. Tomáš Trnka celý GoodData projekt vykopne za 60 minut.

V tu chvíli do toho už kluci klikají o 106. Velmi rychle se koukají například na

  • dynamiku fakturací
  • upomínky po zákaznících
  • profit share s e-shopama
  • podíl zaplacených a nezaplacených faktur

... všechno pěkně filtrovatelné časem, typem zboží či skupinama zákazníků. Po obědě už běží domů, za ně hotovo (trochu škoda, mohli jsme kutit další věci).

Click2Stream

Tým Click2Stream do hackování dat nastoupil s vervou a velmi masivně. Všechny svoje firemní data otevřeli a pustili k nim každého kdo měl zájem. Odměnou jim za to byl tým, do kterého se přidal z venku například Adam Mika, Michal Procházka a Jan Panoch. Společně jsme pak drtili GoodData v asi osmičlenném seskupení - spolehlivě největší stolní hnízdo na celém hackathonu.

Celý den byl ve znamení validace dat, žhavých diskusí o rozdílu price vs total price nebo o referenční integritě dat na vstupu. Odměnou za vynaložené úsilí je seznam zlepšení do jejich produktu; například nemazat v DB kamery, které jsou vypnuté, protože jsou k nim v účetnictví historické transakce. 

Ke konci dne jsem se ještě bavil s klukama ze sinfin.cz, kteří dělali mapování pohybu po Node5 pomocí BT4 zařízení. Vypadá to super, hned mi hlava brousí k našim klientům - určitě spolu něco upečeme! 

Node5 jsme opouštěli lehce po 23:00. Petr Ocásek tam spí na gauči, aby ráno brzo otevřel holkám co dovezou snídani - respekt! Já si domů tentokrát přivádím Tomáše Trnku a 2 staroprameny. 

Alena z nás musí být nadšená :-))

Neděle

Před snídaní v Node5 je nutné se doma řádně nasnídat. Páreček od Dolejších a čerstvá vajíčka nám dělají základ na dopolední sprintování za počítačem. Několik prvních hodin to v Node5 vypadá, že náš tým Click2Stream+Keboola je jedinej, kdo přijde pracovat - ostatní osamělé hackery totálně válcujeme “na počet”. Kolem 11 se to ale dost srovnává a Node5 hučí jako v úle.

Dopoledne trávím laděním modelu a transformací. Tomáš Trnka obíhá stul a radí s MAQL metrikama a kurzama v Keboola Academy. C2S tým je ale bystrý jako nikdo jiný, v poledne jsou z nich ostřílený borci a do projektu sázejí pohledy na 

  • expirující plány v nejbližších 30 dnech
  • revenue share po streamovacích plánech
  • nárůst zákazníků
  • poměr orders vs refunds
  • % placených kamer co nemají zaplé automatické obnovení plánu
  • chargebacks
  • CLV zákazníka, apod

Dělá mi dobře, když vidím, jak jim to jde. 

Roman Staněk by měl radost - roste jim tu nová generace Haplíků /* internal joke */ :-)

Vyhlášení

Hlasovalo se v průběhu prezentací pomocí http://sli.do. Výsledky: 

  1. sinfin.cz a jejich bluetooth monitoring lidí - kluci rozmístili po Node5 BT4 beacony a sbírali pomocí dobrovolníků data o pohybu v prostoru. Výsledky jsou super! Trápí je usínání aplikace v iPhone, ale věřím že to zlomí (cc Lukáš Foldyna)
  2. daty.cz a vizualizace vazeb mezi firmama - Adam Kurzok nám ukázal, že kluci z Mitonu maj větší assety než kluci z Credo Ventures :-)
  3. Futurelytics a data o kriminalitě - celou sobotu je trápilo získání čistších dat než původně měli, pak je v Google BigQuery pročistili a upravili a na jejich instanci v AWS nad tím provedli K-means segmentaci. Výsledky dali do Excelu. Tomáš Trnka jim nabídl, že jim to hodí do GoodData, což využili a GoodData dashboard ukázali. Vypadalo to dost dobře!

Překvapením na závěr byl pak opět Tomáš Trnka, který si od kluků z Futurelytics vzal jejich data a vedle jejich GoodData projektu si udělal ještě druhý, na kterém nám prezentoval, že se dle údajů v datech rozhodně nevyplatí 

  • Braní rukojmích
  • Nedovolená výroba a držení radioaktivního a jaderného materiálu
  • Vojenské trestné činy
  • Výtržnictví - útoky na záchranáře

... jelikož jsou ve ~100% případů vyřešené

a naopak můžeme dost lehkovážně páchat

  • Krádeže leteckých zásilek
  • Sdělení nepravdivé informace, která může ohrozit bezpečnost nebo provoz vzdušného dopravního prostředku za letu
  • Padělání a pozměňování peněz
  • Manipulace s kurzem investičních nástrojů
  • Nesplnění oznamovací povinnosti v daňovém řízení

... jelikož jsou objasněné v ~0% případů

Na úplný závěr jsme (Kebooláci) dostali od Click2Stream prasečí nohu - epický! 

Díky moc, nebejt tam kamery, asi vás obejmu :)

Ende

Hackathon byl super! Rád bych poděkoval Petrovi Ocáskovi, že celé tohle dítko vymyslel a porodil. Jídlo od Gazdinka.cz, lidi co se tam sešli, prostor Node5, vymyšlené nápady - jedním dechem paráda. Na závěr jen doufám, že nejpozdějc do roka bude další kolo! :) 

Kdo dočetl až sem, tady jsou blogposty a fotky ostatních, pokud víte o dalších, pište do komentářů, prosím.


Krize BI dashboardů

Lidi se v datech nevyznali - tak si našli nástroje, jak si pomoct. Od roku 1958, kdy Hans Peter Luhn poprvé použil termín “Business Intelligence”, do konce 80 let celé odvětví pomalu kráčelo směr termínům jako jsou datové sklady, OLAP kostky, apod. V roce 1989 Howard Dresner definoval BI jako “koncepty a metodiky ke zlepšení business rozhodování postaveného na systémech pracujících s fakty”.

Od té doby BI zrálo jako víno až do dnešních dnů, kdy narazilo na strop a zažívá podle mě drobnou krizi.

Dashboard Krize

Krize je v zahlcení daty. Už né daty v surové podobě, ale daty, které jsou kategorizované a nějak matematicky upravené (reprezentované v podobě, kterou nazýváme “reporty"). 

Představte si, že máte velké množství dat. Víte že je v datech schováno spousta zajímavých informací - často vědomě přehlížených “long tailů” (long-tail je v obchodních datech definovaný jako množina velmi malých prodejů, které mohou společně zabrat tržní segment přesahující relativně malé množství bestsellerů). Takže vezmete nástroje, které vám data postahují na jedno místo, vyčistí, učešou a odprezentují - a začnete se na ně dívat (Keboola + GoodData). 

Časem ale přijdou 2 negativní efekty:
  1. rezignace / syndrom toustovače - v datech vidíte stále stejné informace. První týdny se v nich vrtáte, ale v čase upadá vaše pozornost spolu s tím, jak vám z dat (při pasivním používání) vycházejí věci, které jste se naučili odhadovat (Avast bude mít i zítra >200M uživatelů => tohle není informace, kterou potřebují denně připomínat). Pokud si pořídíte nový toustovač, jíte první týden jen tousty a pak jej dáte do skříně a tam na něj padá prach - něco podobného se vám může stát i v BI
  2. utopení / syndrom zavalení daty - při vhodném nástroji, který vám umožní zanořovat se do vašich dat, generujete jeden report za druhým - všude je přece něco zajímavého - a tak generujete reporty, až se v nich ztratíte

V momentě, kdy máte stovky reportů, selhává jakékoliv třídění, tagování nebo správné metodické pojmenovávání. Nastane efekt, kdy se v tom nikdo z vašich kolegů nevyzná a místo hledání dříve vyrobených reportů začnou lidi generovat od znovu nové a nové. Obchodní ředitel sice ví, že někde existuje report, který ukazuje "odhad marže na další 4 týdny podle předpokladů od sales manažerů”, ale najít ho je těžší než si ho znovu vyrobit (což je v případě GoodData enormě kvalitní znamení!).

Kudy z toho trh zkouší ven?

  • Použití přirozeného jazyka - Microsoft se ve svém “Power BI” snaží porozumět dotazům, podobně jako se ptáme vyhledávače. V takovém případě musí být přirozený jazyk napojený na sémantický model vedoucí k datům. Hezky se to ukazuje (viz odkaz na Power BI), ale dobře to vystihl Odin, můj kolega, který po přečtení jednoho takového článku reagoval:

"Precet jsem to a imho je to trosku bullshit, protoze clanky tohoto typu vychazi pravidelne od 50 let - s tim, ze zpracovani prirozeneho jazyka je ‘nadosah' :) Neboli nejlepsim obecnym vysledkem interaktivni prace s pocitacem (dotazovani se pocitace na neco) je zatim jazyk SQL, ktery puvodne mel byt tak jednoduchy, ze ho kazdy zvladne napsat jako vetu, a pak se ukazalo, ze realita (a tedy i prirozeny jazyk) je tak dementne slozita, ze ten jazyk je bohuzel taky dementne slozity a musis ho studovat 5 let, aby ses ho naucil poradne (stejne jako prirozeny jazyk).”

  • Použití vizuálního rozhraní mezi počítačem a člověkem - vidět je na příkladu BIRSTu. Je to krásně udělané marketingové video, ale jakmile se model dat (tedy vztahy mezi informacema) stane dostatečně složitým, přestane vizuální rozhraní fungovat - nerozumí co po něm chceme nebo se jeho ovládání tak zkomplikuje, že zmizí všechny jeho výhody.

Jak tomu pomůžeme my?

Je důležité nakombinovat od každého něco. Dál zůstane nejpodstatnější, aby mohl mít každý přístup k libovolné informaci kterou cítí že potřebuje (real-time validace hypotéz). Vedle toho musí stroje trochu pomoct s přehrabováním se ve výsledcích dat - abysme nemuseli generovat stovky pohledů na data s cílem najít “to ONO”.

V Keboole od léte 2013 připravujeme systém, který se tohle snaží vyřešit. Dneska je to téměř hotový soubor funkcí, které dokáží poznat typ dat (čas, IDčko, číslo, attribut, aj. - nazýváme to "data profiller"), vztahy v datech (pozná to třeba jak spojit google analytics a salesforce data) a následně provést spoustu testů, díky kterým se identifikují zajímavé momenty. Například je možné najít v datech zákazníky u kterých je zřejmá sezónost - na kterou je možné v předstihu upozornit - aniž by někdo musel přijít s nápadem něco takového provést. Náš systém v datech odhadne, kde je pospaný konkrétní zákazník a pokud u něj něco zajímavého najde, upozorní na to. Ideálně tak, že v GoodData vygeneruje report, který je automaticky filtrovaný na danou situaci. 

Pro typ dat “online transakce” máme sadu testů, které se snaží zajímavé momenty nalézt. Například test s pracovním názvem “WrongOrderTest” udělá histogramy všech kombinací faktů (typicky peněz) a attributů (produkty / lokality / měsíce / kategorie uživatelů / aj.). V nich pak zkontroluje, zda počty IDček (například objednávek) klesají shodně spolu se svojí hodnotou. Je-li nějaký attribut v nějaké kombinaci anomální, považuje to test za důvod k alarmu.


Na obrázku je pro konkrétní období a konkrétní produkt (nebo třeba skupinu uživatelů) nalezený nečekaný pokles profitu při konkrétním typu platby - tedy zvláštní chování. V případě, že vás nenapadne přesně takováhle kombinace reportu, nemáte prakticky šanci na tuhle situaci přijít, protože bude nejspíš schovaná v “long-tailu” dat a sama o sobě na vás nevyčouhne. Navíc o týden dřív/později se stejná anomálie nemusí vůbec opakovat - potřebujete tedy kontinuální detekci.

Můj cíl je, aby data která v Keboole držíme, byly periodicky testovány a jejim majitelům podobné zajímavé momenty předkládány formou materializovaného dashboardu v jejich GoodData projektech. Poslední co nám schází je definovat jak jednotlivé testy budeme konfigurovat - jejich síla je ve vzájemném provázání testů. Všechno ostatní - data profiller, testy, podpůrné R-kové funkce, API, backend servery, apod. je hotové. 

Tak kdo nemá co na práci, můžete nám držet ve finiši palce :-)

BI kuchyně: Seznam.cz a jejich "data-archeologický" tým - část 2

A máme tu pokračování rozhovoru s Michalem Buzkem o tom, jak pomocí Keboola.com a GoodData.com zpracovávají v Seznamu data o svých obchodech. První část rozhovoru najdete zde.


Kvůli datům jsme ještě nikoho nevyhodili, odhaluje Michal Buzek zákulisí Business Intelligence v Seznamu

Minule jsme se v rozhovoru s hlavním analytikem Seznamu Michalem Buzkem dozvěděli, že se investice do datové analytiky mnohonásobně vrátila za pouhé tři měsíce.

Tentokrát se podíváme na to, jak GoodData mění fungování obchodních týmů, jak ovlivňuje chod firmy, a jak se bude rozvíjet práce s daty v Seznamu v nejbližší budoucnosti.


Dostáváte z GoodData odpovědi i nad rámec běžných reportů?

Co je běžné? To, že mají obchodníci mnohem lépe přečtené své klienty, je podle mě k nezaplacení. Dnes víme, že klient u nás sice investuje desetitisíce, ale za billboardy v tom samém období utrácí miliony. Kromě toho pracujeme se sezónností i s oslovováním podle oborů činnosti. Umíme také rozebrat portfolia obchodníků i obchodních týmů, a nacházet v nich klienty, kteří si zaslouží větší péči. To jsme mohli dělat (a občas dělali) i dříve, ale dnes je to nepoměrně rychlejší a snazší.

Myslím si, že klíčem není jeden všespasitelný report, který nám otevře oči, ale sada praktických reportů, které jsou vždy při ruce, a které pomáhají v každodenní práci.  

Jak se s tím obchodníci sžívají?

Párkrát jsem v Seznamu slyšel, že obchodník má obchodovat, ne se hrabat v tabulkách. Proto jsme reporty a grafy vyladili tak, aby byly pro obchodníky jasné a čitelné na první pohled. GoodData se díky tomu stala téměř každodenním nástrojem obchodníka před schůzkou s klientem. Zjistí v něm jeho mediální strategii, inzertní vývoj, zvyklosti a spoustu dalších dat.

Pomohla analytika i těm, u kterých bys to nečekal?

Někdo se v datech našel, jiný si k nim zatím hledá cestu. Ale letos jsem mezi obchodníky zaznamenal velký hlad po informacích. U některých jsem to opravdu nečekal. Těší mě, že GoodData není nástrojem jen pro vedení a vyšší management, ale že z něj dokáže čerpat užitečné informace i řadový zaměstnanec.  

Propustili jste už někoho na základě zjištěných dat?

Zatím ne, nebo o tom nevím :-) Musím ale říct, že obchodní projekt v GoodData umožňuje manažerům mnohem lépe kontrolovat své lidi.

Jak konkrétně?

Manažer například u každého klienta vidí objem nasmlouvané inzerce a počet návštěv obchodníka. Pokud klient uzavřel za poslední rok objednávky za 50 tisíc a obchodník u něj byl 15x, tak je asi něco špatně. Naopak je chyba, když u klienta s inzercí nad dva miliony vidíme v historii komunikace pouze jeden záznam. Buď je obchodník megaborec, nebo kašle na doplňování záznamů ze schůzky.

A využívají to manažeři, nebo o té možnosti jen ví?

Využívají. Pomocí podobných přehledů mohou se svými lidmi mluvit mnohem konkrétněji. Hned je vidět, kam chodí obchodník zbytečně a na co by se měl naopak soustředit. Nesmí se to samozřejmě přehánět, ale od manažerů na to slyším docela chválu.

Změnila datová analytika chod Seznamu?

Většina lidí z firmy dnes ví, že jediná správná a důležitá čísla jsou v GoodData. Top management tam má potřebné informace k řízení firmy, produktoví manažeři zde sledují KPI a plnění svých služeb, controlling zase náklady a výnosy, obchodní manažeři výkon svých týmů a klientů, PR oddělení statistiky ze sociálních sítí…

Obrací se na vás s požadavky na reporty i lidé z dalších oddělení?

Ano. Je skvělé, že v Seznamu funguje šeptanda – v posledním měsíci za mnou přišli třeba kluci z Skliku, manažer mobilní reklamy nebo plánovačka mediálního prostoru, kteří viděli u někoho jiného užitečné reporty v GoodData, a chtějí teď připravit své vlastní. Vidí, že jim to může v práci skutečně pomoci.

Kolik lidí u vás dnes používá GoodData?

Okolo 75, z toho něco málo přes 50 dělá obchod. Někteří manažeři ale připravují z GoodData podklady pro své lidi v XLS nebo PDF, takže s reporty ve finále pracuje ještě mnohem vice lidí.

Našly si výstupy z GoodData cestu i na porady?

Na poradách nejvyššího managementu jsou reporty z GoodData standardem už několik let. Sledují zde vývoj tržeb, nákladů, zisku, plnění ukazatelů vůči plánu a podobně. Na poradách obchodních týmů se zase řeší hlavně reporty s monitoringem inzerce, historií komunikace nebo inzertní výkony na konkrétních reklamních produktech. Pak se v Seznamu pravidelně setkávají i zástupci služeb, obchodu a marketingu, a sledují vlastní KPI.

Co pokládáš za největší přínos řešení GoodData/Keboola?

Přínosů jsem už zmínil spoustu, radši řeknu, co těší mě osobně. Největší radost mám, když vidím, že to lidé ve firmě skutečně používají, a že jsou doslova hotoví z dashboardů, které jsme jim připravili. Přitom jsou to často data, která v Seznamu byla i dříve, jen ne jednoduše zobrazená na jednom místě a s možností detailního zkoumání.

Máš nějaký oblíbený report?

V jednoduchosti je síla. U obchodníků nejvíc boduje tabulka nabitá užitečnými informacemi – v řádcích jsou klienti, ve sloupcích jejich ceníkové útraty na Seznamu a mimo Seznam. Jsou nadšení, když si jednoduchým klikem na částku ve sloupci zobrazí, kde přesně klient inzeroval, a co propagoval.

Já osobně mám rád záložku se dvěma vývojovými grafy. Levý ukazuje objem klientových investic do reklamy v ceníkových cenách z databáze monitoringu inzerce, pravý objem ve skutečných cenách z obchodního systému Seznamu.

V ukázce vidíte, že klient v roce 2013 čile inzeroval – ale ne na Seznamu. Díky datům jsme to odhalili a obchodníkovi se v říjnu podařilo vrátit Seznam do hry.  

A co dál? Máš nápady, kam to celé posouvat?

Mým cílem je pomoct vybudovat v Seznamu supervýkonné obchodní oddělení. Jak řekl kdysi náš obchodní ředitel – měli bychom posílat obchodníky za správnými klienty ve správný čas a se správnou nabídkou.

Jak tomu podle tebe pomohou data?

Chci, aby obchodník v GoodData viděl sám sebe, a bez dalšího filtrování i klienty, které má přednostně oslovit, protože u nich má větší šanci na obchod. Pomohlo by taky rozšíření o další datové zdroje a ještě podrobnější segmentace klientů. A důležité je i vzdělávání – teď připravujeme workshop pro obchodní manažery, aby dokázali pro řízení z GoodData vyždímat maximum informací.

Dokázal bys ještě fungovat bez GoodData a Keboola Connection?

Pokud bys mi nabídnul minimálně stejně vybavený nástroj za poloviční cenu, tak jo :-) Ale jsem realista. Kdyby bylo na trhu něco lepšího, už bych to věděl. Do dob Excelu, Accesu a sosání dat z databází bych se už ale vracet nechtěl.

Cítíš se díky datové analytice pro firmu přínosnějším?

To je strašně těžká otázka. Snažím se, aby to tak bylo. Přínos ale nezávisí jen na mně nebo na klucích, kteří na GoodData dělají se mnou. Důležitá je i podpora práce s daty u vedení obchodního oddělení i u celé firmy - jak se získané informace využijí v praxi. Myslím, že se nám daří stále vice lidí v Seznamu přesvědčovat o hodnotě dat. A tím snad roste i význam analytického oddělení.

Počkej, tak snadno mě neodbudeš - zvedla se i tvá hodnota na trhu práce?

Do CV si to určitě přidám, až bude potřeba :-) Byl jsem u úplného začátku implementace GoodData v Seznamu, jsem schopen v Keboola Connection připravovat datasety a stavět datový model. Nejsem žádná hvězda, ale nějaké zkušenosti jsem posbíral. I kdybych to už nepotřeboval, tak mě poslední roky s GoodData a Keboolou fakt bavily.

Šel bys do toho znovu?

Každopádně. Pokud někdy skončím v Seznamu a nějaká jiná firma bude chtít, abych se jim pohrabal v datech, tak to v Praze určitě vezmu přes Karlín.



BI kuchyně: Seznam.cz a jejich "data-archeologický" tým - část 1.

Z kraje léta jsem s Michalem Buzkem dělal z Kanady po emailu rozhovor o tom, jaký je jeho pracovní svět. Než jsem to stihl punkově publikovat, vymklo se mi to z rukou. A tak teď představuju českou verzi rozhovoru po úpravě od Martina Brabce, jehož Obsahovou Agenturu jsme najali, aby nám pomohl s naším firemním blogem, kterým brzo začneme otravovat vaše životy :-) 


Investice do Business Intelligence se nám za tři měsíce vrátila desetinásobně, říká Michal Buzek, hlavní analytik Seznamu

Největší český internetový portál Seznam.cz vybudoval kromě vyhledávače konkurujícího Googlu také impérium prosperujících služeb – od vlastního e-mailu po inzertní weby a síť kontextové reklamy Sklik.

Jak využívá kolos o tisícovce zaměstnanců služby GoodData? A jak pomáhá zlepšovat výsledky obchodního týmu? To vše a mnoho dalšího najdete v dvoudílném rozhovoru s vedoucím analytiků Michalem Buzkem.


Jak to celé začalo?

Někdy kolem roku 2009 probíhalo v Seznamu výběrové řízení na Business Intelligence nástroj. Pavel Zima (tehdejší CEO Seznamu, dnes generální ředitel a místopředseda představenstva) tehdy přizval i GoodData. Já jsem byl v týmu, porovnával nabídky a dával doporučení vedení. Několikrát jsme se sešli se Zdeňkem Svobodou (spoluzakladatel GoodData), který nám předvedl, co to umí. Dostal od nás vzorek obchodních dat z Sauto.cz (inzertní web Seznamu zaměřený na prodej aut a motorek) a za pár dní už nám přinesl základní reporty včetně vizualizace.

Oproti licencovaným BI nástrojům to bylo strašně jednoduché a rychlé, pan Svoboda to navíc uměl i velmi přirozeně a nenásilně prodat.

Proč jste vlastně hledali Business Intelligence nástroj?

Potřebovali jsme se dostat z doby excelové, kdy si každý nosil na poradu vlastní report, pochopitelně s nestálou kvalitou dat. Také jsme tehdy měli asi čtyři obchodní systémy, účetní systém a elektronickou peněženku. Zkrátka, hledali jsme jednotný reportingový nástroj, ve kterém budeme mít všechna data s jednotnými metrikami.

A jak jste při tom narazili na Keboolu?

GoodData jsme používali už asi dva roky. Občas jsme požádali o úpravu datového modelu, ale do žádných větších věcí jsme se nepouštěli. Pak ale PR oddělení přišlo s tím, že GoodData umožňuje sledovat statistiky z firemních účtů na sociálních sítích. A protože nejlepší konektory na data z Facebooku a Twitteru dělala pro GoodData právě Keboola, objevili jste se na schůzce vy.

Jaký byl tvůj první dojem?

Konečně přišel někdo oblečený stejně jako lidi, které jsem potkával v Seznamu na chodbě. Žádní kravaťáci.

Začalo to tedy projektem pro vytěžení dat ze sociálních sítí?

Ano. Už předtím jsem chtěl v GoodData zkusit pár nových věcí. Rozšířit datové modely, více si hrát nad pohledy, o kterých jsem nevěděl, jestli pro ně nadchnu ještě někoho dalšího. Chtěl jsem taky zrychlit přidávání nových věcí, aniž bych musel oslovovat konzultanty z GoodData.

A do toho jste přišli vy, ukázali mi pár vychytávek jak vylepšit Dashboard v GoodData a pak i váš vlastní nástroj Keboola Connection. Nebudu kecat, taky se ke mně dostal post Tomáše Čupra (známý český podnikatel, zakladatel nejúspěšnější české variace na Groupon, Slevomat.cz, dnes CEO DámeJídlo.cz) o tom, jak jste mu změnili život :-)

Jak to pokračovalo?

V březnu 2013 jsme začali stavět nový projekt pro obchodní oddělení, kterým jsem chtěl dát obchodníkům zásadní důvod, proč používat GoodData. Už pár let jsme nakupovali data z monitoringu inzerce s útratami firem za velkoformátovou reklamu. Nijak zvlášť jsme ale jejich potenciál nevyužívali.

Nově jsme data z monitoringu v GoodData napojili na náš obchodní systém. Obchodníkům jsme tak dali do rukou jednoduchý nástroj, ve kterém si mohou o svém klientovi zjistit, kde a za co utrácí, v jakém období inzeruje nejvíce, a zda nezapomíná inzerovat i na Seznamu. Tím se posunul pohled na stávající nebo potenciální klienty ne o jeden, ale tak o pět levelů výš.

Bylo pro vás složité naučit se pracovat s Keboola Connection?

Ne, nemuseli jsme se nic extra učit. Datové transformace se  v Keboola Connection píšou v SQL, který náš tým ovládá. Já osobně jsem se do toho po pár týdnech docela dostal. Mojí oblíbenou hračkou je Sandbox, tréninkové prostředí, do kterého si posílám vstupní tabulky, a kde si ladím dotazy tak dlouho, dokud nevypadne odpovídající výsledek.

Co jste už zvládli vytvořit?

Náš obchod je docela velký a členitý, požadavky na přehledy v GoodData se tým od týmu liší. Jiné reporty chtějí lidé z Skliku, jiné tým specializovaný na velké klienty. Proto projekt pořád rozvíjíme, není to tak, že bychom jednou něco nastavili a měli pokoj. Ještě jsem ale nesetkal s požadavkem, který bychom pomocí Keboola Connection s GoodData nevyřešili. A to sbíráme podněty od kohokoliv.


A konkrétně?

V GoodData dnes máme několik projektů od sociálních sítí po sledování nákupního chování klientů. Ty například dělíme podle oborů, sledujeme jejich sezónnost z pohledu návštěvnosti kategorií na Firmy.cz (největší český katalog firem, patří pod Seznam.cz) a snažíme se je podle toho aktivně oslovovat. Obchodník si na svém dashboardu vybere kategorii, dostane se na report klientů, vidí jejich bonitu i útraty mimo Seznam. A přesně ví, koho a kdy oslovit. 

Jaká je na Keboola Connection a GoodData odezva v obchodním týmu?

Od obchodních manažerů, kteří díky tomu mají své lidi pod téměř 100% kontrolou, je zpětná vazba samozřejmě velmi pozitivní. Když od obchodního manažera s osmiletou praxí v Seznamu slyšíte, že si už svou práci neumí bez přehledů a informací z GoodData představit, tak se to poslouchá hezky.

Vyplácí se vám to finančně?

Po třech měsících běhu projektu jsem si prošel evidenci obchodních manažerů a očistil ji jen na peníze, o kterých 100% víme, že jsme je vydělali díky informacím z GoodData. Nemůžu říct přesná čísla, ale náklady na databázi a konzultace v řádu statisíců vyvážil více než pětimilionový výnos.

Takže vyplácí.

Jasně. GoodData navíc pomáhá peníze nejen vydělávat, ale i šetřit. Obchodník dnes může využívat svůj čas i energii jen tam, kde to má smysl. Neřídíme se už jen pocity, ale stále více daty. Vidíme přehledy nákladů do nejmenších detailů. Umíme najít příčiny nárůstů a přesně si zjistíme, co a jak nejvíc ovlivňuje výši zisku.

==========

Jak vypadají konkrétní reporty?  Kolik lidí v Seznamu dnes s daty vlastně pracuje? A už někoho z obchodníků kvůli podrobné analytice propustili? Pokračování rozhovoru s Michalem Buzkem najdete zde.
 

GoodData XAE - BI gamechanger

Z kraje léta spustila GoodData do ostrého provozu svůj nový analytický engine AQE (Algebraic Query Engine), který má oficiální produktové jméno GoodData XAE. XAE je ale určitě čínsky “podviživený kuře”, takže já zůstanu u AQE :-) Od prvního momentu je to pro mě věc s největší přidanou hodnotou - když mi to Miki ukazoval, zamiloval jsem se na první dobrou :-)

Úvod lehce ze široka

Každý systém, který má ambice vizualizovat data, potřebuje nějaký matematický aparát. Pokud jako vstup budu mít prodané položky a jména obchodníků a budu z toho chtít zjistit medián obratu obchodníka, musí nejprve někde na pozadí proběhnout sečtení všech prodaných položek v daném měsíci pro každého obchodníka a nad tímto výsledkem pak můžeme počítat medián. Levá tabulka je surový vstup, pravá je odvozená za pochodu a většinou si ani neuvědomujeme, že takové mezi výstupy vznikají. Nad tou pravou pak můžu počítat věci jako nejlepší obchodník měsíce, průměrný/“mediánový”, aj.:

Pokud nemám robustní analytický backend, nemůžu si dovolit dělat “co mě napadne”, ale musím uživatele svázat do nějakých předpřipravených “vertikálních” analýz (churn analýza zákazníků eshopu, RFM segmentace, kohorty předplatného, aj.). Vrtat se v datech je možné mnoha způsoby. Kromě GoodData, které tady chystám vyvrcholení :), máte na trhu BI nástroje jako Birst, Domo, Klipfolio, RJMetrics, Jaspersoft, Pentaho a mrtě dalších. Vypadají super! O některých z nich jsem se otřel dříve. Osamocený datový analytik pak ještě sáhne po Rku, SPSS, RapidMineru, Weku, aj. - ale to nejsou BI nástroje. 

Většina ze zmíněných BI nástrojů nemá propracovaný matematický aparát, takže vám umožní čísla sečíst, spočítat četnost prvků, zjistit maximum, minimum a průměr. Tady je to krásně vidět na promo videu RJMetrics.

Systémy jako je Domo.com nebo KlipFolio.com pak řeší problém absence matematického aparátu trochu trikem. Lidem nabízejí spoustu matematických funkcní - jak v excelu - které jdou ale aplikovat na jednotlivé tabulky, ale ne na celý datový model. Někdo si řekne, že je to jedno, ale opak je pravdou - tohle je prubířský kámen všeho kolem datové analytiky. Zkusím vysvětlit proč.

Hranice našeho pískoviště stojí na aplikaci zákona o zachování "business energie”: 

"pokud nedokážeme našemu zákazníkovi vydělat větší peníze než ho naše služby (a licence GoodData) stojí, nebude s náma spolupracovat"

Pokud vezmeme výpis faktur ze SAPu a nakreslíme graf “jak to roste”, poženou nás zákazníci jako sedláky u Chlumce. My potřebujeme trochu víc, potřebujeme dávat za pochodu jednotlivé datové dimenze do souvislostí (dimenze = tématický soubor dat, nejčastěji reprezentovaný jako tabulka dat - dimenze mezi sebou nemusí mít žádné jasně definované vazby; tabulku v analytickém projektu nazýváme datasetem). 

V momentě, kdy dáme jednotlivým dimenzím souvislosti, vznikne logický datový model. Logický model popisuje “business” souvislosti a často není shodný s technickým modelem, ve kterém ukládá data nějaký systém. Pokud má například Mironet e-shop, je databáze za tímto eshopem optimalizovaná pro potřeby e-shopu, nikoliv finanční, obchodní a/nebo subscription analytiky. Čím složitější je prostředí, jehož data se analyzují, tím méně podobností mají technické a analytické datové modely. Nízká (strukturální) podobnost zdrojových dat a dat, které potřebujeme k analýze, vyřazuje většinu GoodData konkurence. 

Dám příklad na našem interním projektu. Interní projekt jsem vybral proto, že obsahuje logický model, který potřebujeme používat sami pro sebe. Není to tedy uměle nafouklé “protože to zákazník zaplatí”.

Do GoodData nahráváme různé tabulky, které jsou spojené vazbama. Vazby definují logický model; logický model pak definuje “co jde s daty dělat". Náš interní projekt slouží k měření naší vlastní aktivity a spojuje data z českého účetnictví (Pohoda), kanadského účetnictví (QuickBooks), z vykazovací cloudové aplikace Paymo.biz a několik Google Drive dokumentů. V interním projektu máme 18 datasetů a 4 datumové dimenze.

Obecnější model vypadá takto a detailní model vypadá takto. Červeně jsem označil jméno klienta, černě jméno našeho analytika a modře odpracované hodiny. Chci tím ukázat, že jsou jednotlivé související informace v projektu bohatě rozprostřeny. Díky vazbám GoodData ví, co dohromady dává smysl.

Nad tímhle modelem stavíme dashboardy, ve kterých sledujeme, jak nám jde práce od ruky, srovnáváme mezi sebou měsíce, lidi, druhy práce, koukáme na náklady a výnosy, aj.

Cokoliv v tom našem dashboardu je přesně šité na míru naší potřebě. Nikdo nám nediktoval, jak se to bude chovat. Tahle volnost je pro nás kritická a jen díky ní dokážeme stavět nad GoodData cokoliv si zamaneme = je jen na naší schopnosti, jestli uspějeme a zákazník s náma bude spokojený. 

Trochu pastička na zákazníka je v tom, že podobný dashboard je možné na první pohled sestavit v ledasčem. Mám tady příklady dashboardů z KlipFolio. Jsou super, ale mají jedno podstatné “ale” - všechny vizuální komponenty jsou objekty, které načítají informace z předem připravených dat, které někdo designoval přesně pro účely toho dashboardu. Není možné to překroutit a začít třeba 2 čísla ze dvou podkladových tabulek podělit a sledovat jejich podíl v čase. A month-to-date toho podílu už vůbec ne. O situaci, kdy máte data, ve kterých jsou vazby “many to many”, nemá smysl vůbec mluvit. Velká výhoda těhle BI produktů (řikají si BI, ale BI to není) je v tom, že jsou líbivé a podbízivé. Člověk na startu neodhadne, že si kupuje křáp, který vlastně neumí o moc víc než jeho Excel.

Proč je trh zaplavený produkty, které hrají na maličkém hřišti se stěnama vylepenýma cool vizualizacema? Nevím, ale lidi jedou na vlně “Cool, BigData analytika!” a jsou hladový po čemkoliv co má podobu reportu. Tématická analytika se udělá za pár dní - transformace transakcí a počítání "Customer lifetime value" je snadná, dokud mi každý neřiká jak to chce mít podle sebe. 

"Nikdo na světě kromě GoodData nemá schopnost provozovat analytické projekty, které jsou 100% svobodné svojí podstatou (datovým modelem) a v těchto projektech nechat lidi dělat cokoliv chtějí, aniž by museli být low-level data analytici a/nebo programátoři. Bum!”

Jak to GoodData dělá?

V Excelu je každý zvyklý sečíst sloupeček “A” tím, že dá do libovolné buňky vzoreček “=SUM(A:A)”. V GoodData sečte sloupeček A tím, že napíše vzoreček “SELECT SUM(A)”. Jazyku kterým se v GoodData tyhle vzorečky píšou se říká MAQL - mnohodimenzionální analytický dotazovací jazyk (Multi-Dimension Analytical Query Language). Zní to děsivě, ale zatím to každéj dal, i Pavel Hacker má z Keboola Academy diplom na Report Mastera :-). Pokud se podíváte zpátky na ten můj datový model z našeho interního projektu, můžete si říct, že chcete průměrný počet hodin z jedné strany datového modelu, ale filtrovaný třeba typem úkonu, seskupený podle popisu projektů a jména klienta a to celé jen pro úkony, které proběhly o víkendu odpoledne. Všechny metriky budou vypadat jako “SELECT AVG(hours_entries) WHERE name(task) = úklid”. Multidimenzionalita toho jazyka je v tom, že neřešíte, v jaké dimenzi je jméno úkolu a v jakém je vztahu k počtu vykázaných hodin a nedejbože jménu klienta. GoodData, resp. vztahy v logickém modelu, který pro klienta navrhujeme my, za vás pořeší úplně všechno.

A teď jádro pudla: pokud vám připravím (denormalizovanou) tabulku do Excelu ve které to bude pěkně na zakázku sesypané dohromady, nebude to nikomu kdo tohle čte, dávat problém spočítat. Pokud vám dám data rozdělená podle dimenzí (a dimenze bude často jiný zdroj dat - jako jsou výstupy z našeho českého a kanadského účetnictví), bude to potřeba zpracovat mnohem složitějc (nejspíš začnete v SQL joinovat jako zuřivý). Jelikož se svět nedá popsat jednou tabulkou (teda asi dá - key value pair - ale nepůjde s ní moc pracovat), je pohled přes mnoho dimenzí tím podstatným. Bez něj je všechno jen takové to domácí počítáníčko :)

Kalibrace pozornosti: teď už byste pomalu mohli říct “wow”, protože pokud se vrtáte v datech, mohli byste mít vysokou míru afinity k popsané situaci :)

Jdeme do finále

Výroba dotazovacího jazyka je nejsložitější úkol, který v BI dneska můžete řešit. Není to o uložení velkých dat, není to o jejich zpracování, ani vykreslení grafů nebo příprava API, aby se dalo s váma perfektně spolupracovat. Dotazovací jazyk si nekoupíte ani za měsíc nenaprogramujete. 

Pokud bude jazyk složitej, nebude ho umět zákazník používat. Pokud bude jazyk hloupej, nebude s ním schopný dělat co chce. GoodData má jednoduchý jazyk na vyjádření jakkoliv složitých otázek směřovaných do dat a zároveň má aparát, kterým tento jazyk napasuje na jakkoliv složitý BI projekt (logický datový model). V případě GoodData je to právě MAQL/AQE - z mého pohledu je to tou jedinou věcí, která je na GoodData neopakovatelná. Kluci z Brna a Prahy - Tomáš Janoušek, David Kubečka a Tomáš Jirotka - navíc rozšířili AQE sadou matematických důkazů (složitá algebra), díky kterým je možné rychle testovat, že nové funkce v AQE platí pro jakékoliv druhy logických modelů. GoodData tak má jistotu, že překlady mezi (MAQL) metrikama a nějakým SQL na spodních databázích jsou správně. AQE tak pro běžného člověka překlene propast, která ho dělí od low-level scriptování. 

UPDATE 17.11.2013: MAQL je dotazovací jazyk, který je na základě logického modelu (LDM) překládaný pomocí MAQL interpretru (dříve QT - "Query Tree" engine) do stromu dotazů. Tyhle dotazy jsou vlastně definice "star joinů", ze kterých "Star Join Generator" (SJG) vyrábí podle fyzického datového modelu (PDM - leží pod LDM) vlastní SQL dotazy na DB backend. Celé to na začátku dal dohromady Michal Dovrtěl a Hynek Vychodil. Nová implementace AQE tohle všechno navíc položila na solidní matematický základ ROLAP algebry (podobá se relační algebře).

Po týdnech přemlouvání a úplatcích jsem vydyndal lehce cenzurované vzory dotazů, které AQE vyrábí z metrik, které jsem pro tenhle účel napsal. Tuším, že je to poprvé, kdy to někdo veřejně publikuje!

Pro srovnání jsem vzal datový model z Report Master kurzu v Keboola Academy a nad ním udělal report:

Graf mi na pravé Y ose ukazuje, kolik jsem udělal v Afgánistánu, Albánii, Alžíru a Americké Samoe kontraktů za posledních 13 měsíců. Na levé Y ose mi ukazuje modrou čárou, kolik mi přinesl průměrný obchodník a zelenou čárou mi ukazuje kolik byl medián obratu na obchodníka v daném měsíci (vstupy jsou de-facto shodné s ukázkovou tabulkou úplně na začátku).

Graf tedy obsahuje tři metriky (viz legenda pod grafem):

  • "# IDs” = SELECT COUNT(ID (Orders)) - spočítá počet prvků
  • “prumer na obchodnika” = SELECT AVG(obrat na obchodníka) - spočítá průměr z (pomocné) metriky počítající sumu obratu na obchodníka
  • “median na obchodnika” = SELECT MEDIAN(obrat na obchodníka) - spočítá medián z (pomocné) metriky počítající sumu obratu na obchodníka

a pomocná metrika

  • "obrat na obchodníka” = SELECT SUM(totalPrice (Orders)) BY employeeName (Employees) - spočítá hodnoty položek (nějaké prodeje) na úrovni obchodníka

Všechno je samovysvětlující, snad jedině “BY”, což mi definuje, že se mi peníze “totalPrice (Orders)” spočítají podle obchodníků a ne chaoticky mezi sebou. Troufám si tvrdit, že každý kdo je ochotný a bude se maličko snažit, se to naučí (ostatně to v Keboola Academy učíme jak na běžícím pásu). 

A teď to hlavní. AQE to přeloží na následující SQL:

S trochou nadsázky lze říct, že sestavení mého reportu je vlastně poměrně dost složité, ale mě to díky AQE vůbec netrápí. Platí-li hypotéza, že:

  1. pokud mi GoodData nevydělá balík peněz, tak ji nebudu používat
  2. balík peněz vydělám jen přesným používáním BI projektu, šitým na tělo
  3. BI šité na tělo je komplexní záležitost, kterou je možné obsloužit jen díky AQE

… pak je AQE základem úspěchu GoodData.

UPDATE 17.11.2013: jak to léta používám, vůbec mi nedošlo to zásadní - kontextovost MAQL metrik - úplně se mi to vrylo pod kůži a jinak si to neumím představit. Perfektně to pospal Hynek Vychodil v komentáři dole (nejde tu konkrétní komentář linkovat, tak tady je pro jistotu screenshot

Poznámka pod čarou: výše uvedené MAQL metriky jsou jednoduché příklady. Někdy je potřeba metriku postavit tak složitě, že je až nepředstavitelné, co se s daty musí na pozadí stát. Tady je příklad metriky z jednoho projektu, kde je analytika nad nestrukturovanými texty. Metrika počítá konverzační témata v aktuálním (zvoleném) období podle moderátorů:

Lukáš Křečan před časem blognul, že lidi jsou největší konkurenční výhoda GoodData. 

Lidi jsou základ, bez nich to určitě nejde a jsou to oni, kdo tvoří neopakovatelnou atmosféru ve které vznikají unikátní věci. Jeden za druhým jsou ale nahraditelní. Největší konkurenční výhoda GoodData (a zároveň zásadní duševní vlastnictví) je AQE. Pokud by ho neměla, musel by uživatel reporty klikat v sevřeném UI, které mu vezme tolik potřebnou flexibilitu. Bez AQE bude GoodData někde v partě mezi Tableau, Bime, Birst, aj. Stane se v zásadě nezajímavou a bude zhusta soupeřit s firmama, co si nad “Redshiftama" budou stavět vlastní UI.

AQE je pro GoodData neopakovatelná příležitost jak utéct konkurenci, která bude už jen ztrácet. Nikdo jiný dneska nedokáže implementovat novou funkci do produktu, kde mohou být libovolná data v libovolně rozměrech (dimenzích) a přitom si analyticky dokázat a otestovat správnost implementace. 

Hranice mezi falešnou představou že “ten cool dashboard je pro mě přínosný” a "opravdovým potenciálem vytěžitelným z dat", je velmi tenká... a jmenuje se customizace. Libovolný model pro libovolná data a nad ním libovolné výpočty. Může to kdokoliv nazvat jako extrém, ale bez schopnosti spočítat přes mnoho dimenzí přirozený logaritmus z podílu hodnot dvou období, do světa finanční analytiky díru neuděláte. AQE je gamechanger na poli BI a díky němu GoodData redefinuje pravidla hry. Dneska obecná odmocnina, zítra K-means... :)


Howg!


BI kuchyně: Jaké trencle nosí analytici ve Vykupto.cz?

Před pár měsícema jsem napsal blogpost "Čím je GoodData výjimečná?". Hodně jsem se od té doby snažil připravit popis něčeho víc reálného. Bohužel jsem často narazil na zákaz publikovat cokoliv, co děláme. Paradoxně nám klienti nezakazují o "jejich" GoodData mluvit kvůli strachu z odhalení reálných čísel, ale kvůli snaze nenavádět konkurenci k podobnému chování ("čím později ostatní na trhu napadne používat GoodData.com, tím víc času budeme mít k upevnění naší pozice"). 

Vykupto.cz naštěstí netrpí nedostatkem sebedůvěry a domluvit s nima nakouknutí pod kalhoty nebyl vůbec problém. Díky za to patří především Jiřímu Musilovi, který ví, že "data rocks", a tak si sehnal Petra Homolu. Petr do Vykupto.cz nastoupil hned po škole (diplomku psal na "Vybrané metody pro aplikace pokročilých analytik v prostředí Cloud"). Petr za svoji práci dostal cenu děkana, i přesto, že to podle všeho bylo psaný v pivnici :)

Petrovou úlohou byla hned od začátku péče o firemní analytiku a vznikající GoodData projekt. Do doby "před Homolou" byla firma řízena na základě reportů, které byly naprogramované in-house a pokrývaly základní metriky. Reporting postrádal složitější pohled na data jako celek a jakékoliv změny vyžadovaly zapojit programátory. Cokoliv měnit bylo drahé a neflexibilní, často i na hranici realizovatelnosti. Od GoodData očekávali platformu, nad kterou si postaví vlastní analytický BI projekt, ve kterém spojí svá fragmentovaná data dohromady. 

Do implementace se pustili s naší pomocí. Myslím, že na nás měli od Slevomatu kladné reference, a tak celkem bez přemýšlení sáhli po našem systému Keboola Connection (KBC). Jediné, co na své straně museli udělat, bylo napojení jejich interní databáze do KBC. Všechno ostatní se pak "nacvakalo" u nás online přes browser. KBC je pro ně dneska datawarehousem a místem, kde se data čistí, obohacují a míchají dohromady. Na konci těchto procesů se odesílají finální struktury do GoodData. 

Zajel jsem za Petrem Homolou, abych z něj vytáhl pár informací a pocitů:

já: Ahoj Petře! Díky za tvůj čas a příležitost s tebou pokecat o tom, co v Keboola Connection kutíš nad datama a co z toho pak je v GoodData. Začněme tímhle: jak se změnily procesy kolem sbírání dat?

Petr Homola: Dat se sbírá a vyhodnocuje daleko více než předtím. Nově sbíraná data (například editační časy, počty revizí) nám dávají dobrý přehled o efektivitě našich procesů. Vše v Keboole Connection se navíc odehrává v mém oblíbeném jazyku SQL, takže stačilo jenom pochopit princip transformační vrstvy a bylo do pár dní hotovo. Úžasný je běh ETL nezávisle na našich serverech. Dnes můžeme měřit jakékoliv komplexnější vazby, například nákupní chování zákazníků odhlášených z emailingu. Měřit můžeme prakticky cokoliv na čemkoliv. Firemní data se zavedením GoodData/Keboola stala velmi cenným zdrojem informací pro všechna oddělení. Efektivnější přístup k informacím a možnost mít vlastní reporty, přizpůsobení dashboardů na míru, apod. jsou nedocenitelné. Rozhodně se poslední dobou nikdo neptá, jestli to umíme zobrazit/naprogramovat, pouze se ptají, jestli ty data už posíláme/taháme do Keboola Connection a jsou nebo nejsou napojena v GoodData.

já: Co dneska v GoodData přesně děláte?

Petr: Sledujeme tam veškerou statistiku a KPI firmy, např. last-day/týdenní/měsíční přehledy. A především dlouhodobý vývoj a výkon. Krásně se tam zobrazují trendy. S tím pak pracuje každý manažer, jenž chce data hned a přehledně zpracovaná. Adopce celého řešení proběhla skvěle. Máme teď  BI platformu, která nám umožňuje dívat se na firemní data komplexně. GoodData prorostla celou firmou a nyní žijeme v naprosté symbióze. Pokud mi něco chybí, do 10 minut to tam díky Keboola Connection mám. Co se lidí týče, používá aktivně GoodData asi 40% - nejvíc obchodníci, management a marketing.

já: Dostáváte z toho odpovědi, které jsou nad rámec běžného reportingu? Myslím tím opravdové vytěžování znalostí.

Petr: Samozřejmě, Data Mining těch opravdových znalostí je strašně důležitý. Běžně se stává, že nacházíme v datech opravdu cenné informace, které bychom jinak nezískali. Někteří si uvědomují, že cokoliv v datech může být použito proti nim :) Nahradili jsme pocity z fungování za realitu z GoodData. GoodData se často rozebírá i na poradách, většinou ve spojení: “Ale na přehledu obchodníků je to jinak...” nebo “Tenhle deal má boží konverze...”. Ve spojení notebook a projektor se dají reporty stavět “on demand”, což dokáže neuvěřitelně rozpohybovat diskuzi. Například se nám povedlo do GD přenést kompletní data z emailingu, což má potenciál pro velkou optimalizaci.

já: Máš nějaký report, který měl svůj aha-moment a který můžeme publikovat?

Petr: Jasně! Potřebuju ho ukázat maličko anonymizovaný, ale myslím, že to nevadí. Povedlo se nám integrovat obrovské množství informací o emailingu a data z prodejů. Graf nám ukazuje metriky kolem prodejů v rámci segmentů z emailingu a pokud si dobře vzpomínám, hravě nám to rozdrtilo jednu hypotézu, kterou jsme delší dobu měli a pevně v ní věřili.

já: A co nějaký wow efekt? Něco jako "Do p*či! Kormidlo do leva!"?

Petr: Takhle bych to asi neřekl, ale jsi blízko :) Ten příklad s emailingem a obchodem se tomu trochu blíží. Obecně se dá říct, že před GoodData jsme neměli tak zjevné informace o prostředí, ve kterém podnikáme. Nyní se cítíme strašně sebejistí, dokážeme téměř všechno a velmi rychle a navíc s vypovídající hodnotou.

já: Co chystáš s Keboola / GoodData do budoucna?

Petr: Tlačím na ještě těsnější integraci do firmy. Akurátní a rychlé informace každému obchodníkovi na stůl. Rád bych tu viděl po ránu vysedávat lidi s kafem, croissantem a GoodData dashboardem v iPadu :-) Technicky ale připravuju hlavně rozšíření našeho ETL o pokročilejší analytiku a forecasting, rád bych dotáhl dynamickou segmentaci a trochu vylepšil existující metriky o GoodData Extensible Analytics Engine (XAE) a o poznatky z Keboola Academy

já: Petře, co bys mi řekl na závěr? Když se ohlídneš, jaký to byl pro tebe rok? Jak se cejtíš po té dlouhé cestě?

Petr: Rozhodně je to výjimečná zkušenost, člověk se naučí nejen dělat statistiku a vytvářet diagramy, ale také ovládat a budovat celé řešení. Jelikož je CLOUD a BI poměrně stoupající trend, určitě se dá říci, že člověk ovládající tyto technologie se rozhodně neztratí. Jsem moc rád, že jsem ve Vykupto.cz a mám příležitost dělat na tomhle projektu. Co myslíš, měl bych si jít říct o větší plat? ;)

já: No tak to rozhodně! Šéf bude mít radost, k čemu tě navádíme :-) 


Abych to nenechal úplně náhodě, zašel jsem ještě ke klukům ze Skrz.cz. Pro ty, kdo je neznají, Skrz.cz je největší agregátor slevových serverů. Díky své ojedinělé pozici se může pasovat do role "auditora" trhu. Oni vědí, kdo podvádí, vědí první, kdo krachuje, vědí prostě všechno. Poprosil jsem je o komentář k pozici Vykupto.cz na trhu, jak je ze svého pohledu vnímají, a zda na nich je něco zajímavého. 

"Vykupto.cz se stabilně drží na 2. pozici mezi slevovými servery. Ačkoliv se pozice nemění, je zejména v roce 2013 znatelný nárůst obratu a získávání většího podílu na trhu. Oceňuji na spolupráci s Vykupto, že se vždy bavíme o kampaních jen v řeči čísel a rozhodnutí nepadají na základě emocí.", Petr Kováčik, ředitel vyhledávače slev Skrz.cz

K tomu jen dodám, že Petr Kováčik trefil hřebíček na hlavičku. "You can't manage what you can't measure"...

Přeju Vykupto.cz, ať se jim nadále daří a ať jim práce s daty přináší co nejvíc ovoce. Jsem rád, že k tomu můžeme svojí troškou přispívat!


GoodData Offsite 2013

Koncem tohoto týdne měla česká část GoodData.com společný program v Hradci Králové. Sjeli se tam z Prahy a Brna aby spolu 2 dny řešili jak se jim daří a co plánují dál. Jako hosty nás tam všechny z Kebooly pozvali a i přes to, že si tam odhodlaně prali spodní prádlo, nezavřeli nám jediné dveře a nechali nás s nima prožít všechno pěkně na 100%. Byl to od nich projev ohromné důvěry a zároveň sebejistoty. Zní to pateticky, ale jsem dojatej a vděčnej. Na jejich místě bych hodně váhal, jestli tam Keboola má bejt. Díky Jardo, ZD, Martine...! 

Celý "offsite" byla kombinace business témat, low-level přednášek, sportu a notné dávky C2H5OH :). Sebou jsme si navrch vzali našeho VP of Propaganda Tomáše Čupra a Petra Bartoše. S Tomášem jsem hned po ránu vyvinul ochranu před příjmem těch nejcitlivějších informací. Uvažujem, že si to patentujem!

Nicméně kafe nás nakonec nakoplo :) Tomáš si tam v podvečer střihnul prezentaci o tom, jak používá v DámeJídlo GoodData. Bylo to plný necenzurovanejch čísel, myšlenek a "lidskýho" pohledu na věc. Posléze jsem na to slyšel hodně pozitivní feedback. 

Já měl v plánu se podělit o to, jak v Keboole používáme GoodData, co nás fascinuje a kde nám to naopak drhne. Moc mi to myslím nevyšlo - ZDho dotazy protáhly Tomášovu prezentaci asi na hodinu a když jsem šel na řadu, bylo po půl osmý večer, všichni měli v očích únavu a hlad + Jarda Gergič takovej zvláštní zoufalej výraz. Vsugeroval jsem si 100% nezájem publika a ve snaze všechno co nejvíc zkrátit, nedávalo podle mě nic moc smysl. 

"AZ Kvíz" o trička... (je blbě, opraveno v komentářích :)

Moje klíčová myšlenka: MAQL, resp. AQE, je vaše rodinný zlato a API je to co nám jeho hodnotu pomáhá dostat lidem do života. Dál hlavně rozvíjejte a dokumentujte API a teprve nad ním kódujte svoje UI, tím nám posunete možnosti jak stavět věci, kterým GoodData tepe v hrudi.

Howg

P.S. Tohle jsem si předem "koupil" od Káči. Za 18,- Kč (zmrzlina) byla ochotná sedět 1/2 hodiny na kuchyňský lince a natočit mi pozdravení. Zbožňuju zneužívání dětí :-)


Mapy

Mapování okolí patří mezi základní lidské potřeby. Co je zmapované, působí bezpečně. Mapa nám popisuje souvislosti světa, který nás obklopuje, bez mapy nejde najít cestu v neznámém prostředí. Mapa je life-saver!

BC

Mapy se ryly do kamene, uhlem do vydělané kůže nebo třeba později kreslili tuší do papyru. Díky mapám se dokážeme orientovat v prostředí, ve kterém se pohybujeme. 

Potřeba mapovat okolí byla v lidech od pradávna. Pokud nebylo možné mapu nakreslit, hledali jiné formy, jak ji zaznamenat. 

Úplně nejstarší snahu zmapovat svět jsem našel u australských domorodců, kteří přišli z Afriky do Asie kolem roku 70.000 před Kristem a z Asie pak do Austrálie kolem roku 50.000 před Kristem. Aboriginals věřili, že svět byl na počátku plochý. Tuto dobu nazývali "sněním". Podle nich se v této ploché krajině začali vynořovat mýtické bytosti, které dovedli krajinu přeměňovat zpěvem. Písně formovaly prostředí a daly vzniknout dnešní podobě světa. 


Mýty byly pro domorodce inspirací; sami začali písně používat k orientaci v krajině, písně byly jejich mapou. Zpívali o krajině, o tom kde je voda, bažina, údolí - ve slokách popisovali cestu. Zpěvem vytyčené cesty nazývali "songlines". Pokud někdo chtěl jít přes sedmero kopců a sedmero údolí, stačilo se našrotit 4 denní písničku a pak ji precizně za pochodu zpívat :)

AD

Zakreslené mapy byly dlouhou dobu hodně srandovní. Většinou je dělal nějaký umělec, který prostě nakreslil, co viděl. Taková mapa nebyla úplně vhodná k seriózní orientaci, a kdo se na ni spolehl, často se ztratil a nikdy ho už nikdo neviděl.


Změna přišla ve Francii po roce 1663 za vlády Ludvíka XIV. 

Francie v té době byla rozdělena na spousty regionů, které měly každý vlastní dialekt a samosprávu. Ludvík XIV. tehdy rozjel úctyhodný projekt - zmapovat celou zemi

Na tento nelehký úkol najal může jménem César-François Cassini de Thury. Cassini byl první, kdo při kreslení map uplatnil znalosti z astronomie a hlavně dovedl správně změřit zeměpisnou délku. 19 let pak trvalo, než Cassini se svým týmem zakreslil přesný tvar francouzského pobřeží. 


Když byly hranice Francie hotové a ukázali je králi, byl zděšen! Francie podle Cassiniho měla dramaticky jiný tvar pobřeží a byla o 20% menší než na všech předchozích mapách. Nicméně Cassini pracoval ve francouzské akademii věd a jeho mapa byla opravdu pečlivě zpracovaná. Ludvík ji právem považoval za to nejlepší, co může mít.

Když bylo hotové pobřeží, pustil se Cassini do mapování vnitřního území. Jediná tehdy dostupná metoda jak sestavit mapu, byla triangulace. Cassini celou zemi rozdělil na malé trojúhelníky, jejichž základny přesně změřili 4m pravítkem a zbylá ramena dopočítali přes úhly spolu svírající.  

Při měření základny každého trojúhelníku bylo nutné srovnat povrch do absolutní roviny. Byla to mravenčí práce! Obrovská ambice, která ale transformovala celou zemi. 

Do té doby byla Francie kolekcí regionů s vlastní identitou, stovky dialektů, lokálních zájmů, aj. Mapováním se tyhle regiony dávaly pomalu dohromady na jednu mapu. Práci na mapě oddali svoje životy 4 generace rodiny Cassiniů. Hotovo to měli v roce 1789, za vlády Ludvíka XVI. Celá práce trvala 126 let!


Mapa byla revolučním počinem. Všechny listy mapy měly jednotné symboly, popisky, jazyk pařížské francouzštiny - vše bylo standardizováno, napříč celou mapou. Byla to mapa pro Krále! Mapa, která centralizovala podobu Francie a umožnila mnoho různých regionů spojit do jednoho obrazu francouzského národa. Lidé se mohli identifikovat skrz jednu mapu - poprvé se tak umocnila jejich identita.

Po revoluci byla mapa základem pro administrativní změny Francie. Na základě Cassiniho mapy vznikly nové administrativní regiony, které jsou používané dodnes.

Mapy provázejí lidstvo po desítky tisíc let. Neobejde se bez nich jakékoliv plánování či strategické rozhodování. 


"Happy Mapping", ať už to bude o čemkoliv!

Legenda:

  • mapované území = firma
  • regiony s vlastní identitou = finance o patro nahoře, IT ve sklepě, sales ve vedlejší budově
  • mapa = GoodData dashboard
  • orientace v prostoru = BI

A teď si to přečteme ještě jednou v novém kontextu :)


(fotky: wikipedia a creative common z http://www.flickr.com/photos/wien/5907435455/)

Máš BigData? Uka!

Pojem "BigData" jede na Twitteru celkem dlouho. V ČR o BigData už mluvil Patrik Zandl (zde) i Petr Koubský (zde), což je neklamné znamení, že to brzo dorazí k mojí mámě do práce. Asi poslední seriózní médium, kde se o "BigData" ještě nepsalo je Kunratický zpravodaj (fakt!). 

Nejčastější přístup, který lidi při prezentaci "BigData" tématu volí, jsou infografiky o tom, jak moc dat lidstvo produkuje. Infografiky jsou pěkný, ale objem dat není BigData. Pojďme si to říct úplně bez obalu: 

Vaše firemní databáze, registr vozidel ČR ani data o všech bankovních transakcích nejsou BigData!

Pokud jste někoho slyšeli o BigData mluvit a nabízet na to nějaké řešení, je vysoce pravděpodobný, že nikdy žádný velký data neviděl. 

Kde jsou ty BigData?

Opravdový BigData problémy řeší třeba v CERNu, kde HW z experimentu CMS, ALICE, ATLAS a LHC sbírá data z 600 milionů kolizí za vteřinu. Na zakázku navržená a ultra rychlá elektronika v takto vyprodukovaných datech vybere 0.01% dat a zbytek zahodí. Takto šíleně redukovaná data tečou pořád neskutečnou rychlostí 100GB/s do farmy serverů s 15.000 procesory, které z toho dál vyberou 1% dat, které se posílají do Tier 0 datacentra, kde dalších 73.000 procesorů dělá datové agregace a předzpracování. Data se teprve poté dál distribuují k vědecké analýze do Tier 1 a Tier 2 datacenter, kterých je celkem 151 po celém světě. 

Až vám někdo bude zasvědceně vyprávět příběhy o BigData, vzpomeňte si na CERN. 

Je totiž velmi pravděpodobné, že jediné co potřebujete vyřešit je zpracování, uložení a analýzu "normálních" dat. Normální data mohou být složitá, fragmentovaná, částečně uložená v různých volatilních systémech a mohou se v čase různě měnit, pořád ale platí, že to pro vás nejlíp na světě odbaví GoodData, která jako jediný non-mastodont (vedle MS a Oracle) vendor disponuje řešením na celý životní cyklus dat (ETL framework, data warehouse, logická business vrstva, analytický backend a prezenční vrstva (to jsou ty grafy, které jediné vidí uživatel)).

Kde se Hadoop vzal?

Zpracovat, uložit a analyzovat objemná data nebylo vždycky snadné. Vzpomínáte si na dobu kdy nejlepší disk byl 160GB SCSI 15k otáček za vteřinu, o kolmém zápisu na plotny se začínalo mluvit, 4GB RAM byl luxus a 1GBit/s síťová karta byla používaná jen v serverech FBI? Procesory neměly více jader a virtualizace si pomalu nacházela cestu z pokojíčků Geeků do datacenter? Tak to byla doba, kdy Google vydal white paper o MapReduce technologii, která umožňovala jednoduché zpracování dat na velkých počtech počítačů.

Chytrým to pomalu dochází - co by se stalo, kdyby tehdy byly lacině k dispozici stovky GB RAM, SSD disky, desítky jader procesorů s mnoha GHz výkonu, naprosto normálně síťe s kapacitou mnoha GB/s? A co sloupcové a in-memory databáze s variabilní kompresí?

(bottom line: transformace dat v Keboola Connection spouštíme v serverech s 244GB RAM, 83GHz, 240GB SSD a stojí nás to $0.34/hodinu)

Myslím, že by tehdá místo MapReduce řešili jiný koncept. Hadoop je dneska totiž něco jako Wankel engine - postavte si ho vedle elektromotoru z Tesla Model S a pochopíte, jak zoufale se dneska Hadoop musí cítit vedle moderních databází.

Přesto to ale frčí! Proč?

Protože je to dobrej business! Firmy obecně chtějí slyšet, že mají BigData a že řeší BigData problém. Dělá jim to dobře. Kdo nemá "BigData" je out! Tohle je zacyklený kolečko ze kterýho není cesta ven. Někdo si musí nejdřív rozbít pusu... Jelikož se za investice do BigData nevyhazuje, bude to muset přijít odjinud. 

Mám následující hypotézu:

  1. Firmy chtějí zpracovávat velká data, protože si myslí, že díky tomu budou schopny predikovat a na tom vydělají obrovské množství peněz. 
  2. Náklady na takovou predikci jsou ale v praxi zásadně vyšší než uskutečnitelný zisk.
  3. Protože na rozdíl od fyziky nemáme chování zákazníků popsané pár diferenciálníma rovnicema, musí většina predikcí stát na nekonečném numerickém iterování bordelu v datech.
  4. Tohle iterování je pomalé, špatně se mu mění vstupní parametry a hraniční podmínky - díky tomu to má zatím spíš sporné výsledky.
  5. Nakonec stejně zvítězí chytrost a rychlost nad přesností. Pokud ModGen na šíleném železe udělá za 3 dny o 6% lepší výsledek než Mikiho jednoduchý binární strom na notebooku za 17 vteřin, je singularita ještě daleko :)

Resume:

  • nemáte BigData!
  • nepotkali jste nikoho, kdo by BigData problémy opravdu řešil
  • je sexy o BigData vyprávět - proto klidně říkejte, že vás to trápí
  • potřebujete se ale hlavně zbavit Excelu a ne stavět Hadoop cluster
  • používejte hlavu!
  • díky zpracování dat máte VYDĚLÁVAT peníze, né si honit triko na konferencích!

Tohle je úplně čerstvá věc. Velká gratulace! GoodData získala ocenění, které de-facto říká, že GoodData je nejlepší řešení na to, jak vydělat peníze na trhu s daty. Tuněním Hadoopu a psaním MapReduce scriptů totiž naše existující zákazníky nepředhodníte! Dobrá zpráva je, že máme ještě v Cloudu pár volných míst. Autobus odjíždí každé ráno v 9:00 z Florence, tak koukejte nastoupit :)


Při psaní jsem poslouchal Brukev od Martina Halamíčka.