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”.
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:
- 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
- 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
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.
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é.