Stanislav Jirak

Just Another personal website

Business Intelligence

Definice

Navzdory populární záměně zkratky BI za Beer Intelligence, Business Intelligence je oblast IT zabívající se extrakcí, transformací a načtením výstupních dat do datových skladů, jejich analytických zpracováním a poskytnutí výstupů v prezentační vrstvě za účelem detailních vhledů do oblasti zájmu společnosti. To umožňuje výrazné zvýšením produkční i provozní efektivity, optimální tok finančních prostředků a stanovení obchodní taktiky společnosti do budoucna.

Abstract

Vedle deskriptivní alanýzy v podobě datových kostek, se s příchodem prediktivní a decizivní analýzy využívající Machine Learning stal Business Intelligence efektivním nástrojem při řízení každé středně veliké a veliké společnosti.
Přestože již v roce 1999, 10 let po vytvoření jazyka SQL, Microsoft publikoval MS OLAP Services, který se stal na sklonku milénia MS Analysis Services, BI je stále obecně chápan jako objevující se obor, což odráží hybridní přístup společností ve stanovení role BI.
Navzdory postupujícímu vydělování jednotlivých specializací, Business Intelligence protíná oblasti Databázového administrátora, DWH Developera a Business Analytika, společně s IT Analytikem často spolupracujících v rámci jednoho oddělení.
S rozvojem Big Data a Machine Learning, Business Intelligence má stále blíže k Data Science.

Database

V relační databázi (SQL) jsou data ukládána do tabulek, navzájem propojeny pomocí primárních a cizích klíčů, přičemž způsob jejich provázání se nazývá schéma. Hvězdicové schéma je nejjednoduší typ pro použití v DWH (datovém skladu) s jednou faktovou tabulkou (ID transakce, čas, cena, produkty, zákazník, …), ke které jsou navázány jednotlivé dimenze (kalendář, geografie, detaily o produktech, typ zákazníka, …). Data Vault 2.0 je flexiblní a škálovatelný hybridní přístup se Star Schema a 3NF (Third Normalisation Form), který zahrunuje také Big Data a NoSQL se zaměřením na paralerní načítání.
Spravování a dotazování se na databázi probíhá skrze jazyk Transact-SQL, což je proprietární rozšíření jazyka SQL, zahrnující i proceduální programování.
SQL Server 2016 podporuje Polybase, který umožňuje dotazování se na Hadoop (Big Data) přímo skrze Management Studio, což je možné díky SQOOP. Pomocí advance in-memory analysis tak může dojít přímo i k vyhodnocování Big Data.

SQL Server 2016 nativně podporuje programovací jazyk R, vč. balíku CRON a Visual Studia.
Hybridní transakcionálně-analytické zpracování HTAP ukládá transakční data na disk, zatímco hlavní data jsou uchována v paměti, která má dobu odezvy v desítka nanosekund. To má přinést až 30x větší rychlost OLPT dat a až 100x rychlější vykonávání alnalytických dotazů. Pro velké objemy dat načítané z memory-optimalized procedury jsou data komprimována pomocí columnstore-indexu, zatímco OLPT zůstávájí v tadiční row-store modelu. To umožní rychlý vývoj Data Science modelů přímo na SQL Serveru.
Od verze 2017 má SQL Server podporovat také Python, což umožní využití Deep Learning.

Zajímavou možností je také podpora GPU zpracování u relačních databází, kde hlavní část výpočetního výkonu serveru netvoří CPU optimalizované pro sériové operace ale grafické karty. Skalární technologie grafického jádra umožňuje masivní paralerní zpracování, což je obvzláště vhodné pro Data Science a Deep Learning. U relační databáze díky velmi rychlý VRAM pamětím jsou tabulky skenovány rychlostí řádově v TB/s, čož činí indexy bezvýznamnými a miliadry záznamů je možné projít během milisekund. Architektura Kepler umožnuje 32 souběžných MPI tasků.
MapD je takou open-source databází pro real-time analýzu mající JDBC, ODBC či SQOOP konektivitu, která vedle visualizačního balíku nabízí také nástroj pro Machine Learning. 

Data WareHouse

Datové sklady (DWH), místo kde jsou uloženy jednotlivé databáze, jsou často v podobě datových center ústředním prvekm BI.
V současné době, průměrná kapacita datového skladu je 32-64 GB RAM s octa-core CPU na jeden virtuální stroj (počitač). Alza.cz pro své databáze využívá TerraBytovou kapacitu RAM.
Přirozeně, náklady na vybudování a udržování datového centra jsou odpovídající.

S využitím datové pumpy (např. MS Integration Services), téměř jakýkoliv zdroj může být použit k extrakci dat (SAP, SQL Server, Oracle, Hadoop, CRM, Excel, .CSV, …) do integrační vrstvy, kde stěžejní část procesu ETL je aplikována.
V rámci té, Staging Area slouží jako přechodná databáze pro získání všech dat ze zdrojů, které mohou být lokalizovány v různých časových pásmech, zatímco v Operational Data Storage (ODS) probíhá integrace atomárních dat z rozdílných heterogenních zdrojů, zahrnující validaci dat (QA), čištění a normalizaci (většinou do 3NF). Přestože již v ODS může proběhnout (near) real-time analýza, většinou se tak děje až na mnohem větším objemu historických dat v DWH, optimalizovaným pro agregované dotazy.
Následně jsou takto transformovaná data spolu s meta-daty uloženy do datového skladu (DWH) v podobě faktových tabulek (measures) a přidružených skupin dat (dimenzí) pro účely reportingu, analýzi a data-mingu, kde jsou skladovány v podobě data-martů rozdělených podle zájmových kategorií.

Jelikož v integrační vrstvě probíhá transformace nestruktorovaných dat (Big Data) na strukturovaná (normalizovaná), je možné v tomto bodě skrze SQL-like interface Apache Hive připojit Hadoop a v hybridním modelu tak rozšířit DWH o výhody distribuovaného systémového souboru (HDFS) a paralerní distribuci algortimů na komoditní hardware s MapReduce – přičemž k Big Data je možné přistupovat přímo, bez nutnosti vytěžovat relační databázi.
Dále, je možné využít engine Spark pro large-scale data processing, který podle oficiálních prohlášení poskytuje 10x vyšší výkon, než MapReduce na disku a 100x vyšší než v paměti, umožňující tak získávat výkon více podobný superpočitači.
Od verze 2016, MS SQL Server Enterprise Edition podporuje PolyBase, který umožnuje dotazování se pomocí T-SQL na Hadoop cluster, přímo v Management Studio.
S narůstajícími nároky na udržování hardwarové infrastruktury, roste využívanost cloudových DWH služeb, mezi kterými Amazon Redshift je jedním příkladem.
MS Azure SQL Database je masivně paralerní, peta-býtový sklad s elestickým přidělením prostředků podle aktuální potřeby při oddělené ceně za uložný prostor a kapacitu operační paměti.
Azure DataWareHouse umožňuje skladování jak relační databáze (Azure SQL Database), tak nestruktorovaných dat (Big Data), kde HDInsight podporuje v cloudu spravované clustry Hadoop, Spark a Hive, vše dostupné v rámci Data Lake.
K těmto datovým skladům má přímí přístup analytický nástroj strojového učení Azure Machine Learning a z prezentační vrstvy Power BI.
Od verze SQL Server 2016 je uvedena features ‘Strech Database’, která v rámci subscription umožnuje bezevševé odkládání “cold data” z lokální úložiště na Azure, čímž se šetří nároky na vlastní zdroje.

 

Analysis

Z oblasti deskriptivní analýzy, řezy OLAP datovou kostkou umožňují vyhodnocování measures (faktových polí, např. tržba) podle dimenzí (rok, region, produkt, věk, produkt AND věk, …) až na nejnižší možnou úroveň (např. úvěrový poradce), kde každá buňka kostky může mít další poddimenze (kategorie).
Při vhodném sestavení datová kostka neposkytuje pouze detailní vhled, ale je i možné vysledovat vzor opakující se v datech.
Datovou kostku lze skrze .MDX připojit na SQL Server nebo v podobě kontigenční tabulky exportovat do Excelu, přičemž datovou kostku je možné sestavit i z Big Data.

Data-mining je hlavní doménou prediktivní analýzy, který může být prováděný z DWH nebo OLAP kostky. Nejjednoduším příkladem je např. predikce tržeb či měnových kurzů, kde Time-series pod Mining Structure v SQL Server Analysis Services má kvalitní modely ARIMA a ARTX, jejichž výstup je možné skrze .DMX napojit na Analysis Services Server a provádět dotazy s již kalkulovanou projekcí.
Dalším základní model je Decision Trees, který napč. dokáže na základě historických dat určit s jakou pravděpodobností konkrétní skupina koupí daný produkt.
S pomocí Clustering je např. možné seskupit klienty do kategorií a přesně je ohodnotit bonitou či rizikovostí a přidělit jim odpovídající RPSN. Také je možné identifikovat potenciálně bonitní klienty, ještě dříve, než se jimi stanou.
Dalšími modely jsou Naive Byess, Linear/Logistic Regression, Assosiation Rules, či Neural Networks (neuronové sítě).
Součástí prediktivní analýzy, kterou SSAS nabízí je také kalkulace optimálních a přesných parametrů marketingové kampaně (ať už plošné či cílené), vč. Lift grafu, což opět může vést ke značné úspoře finančních prostředků při stejném nebo vyšším efektu.

Azure Analysis Services je škálovatelná cloudová verze SSAS, která umožnuje přístup skrze Azure Active Directory, takže není třeba VPN.
Azure Machine Learning umožňuje sestavovat a trénovat prediktivní modely strojového učení. Azure ML Studio funguje na pohodlném principu drag-and-drop modulů, přičemž obsahuje také moduly pro přípravu dat jako Clean Missing Data, Normalize Data, Partition, sample nebo Quantize Data.
Napřklídat ML model Binary Classification s Two-Class Support Vector Machine (SVM) může být použit jako druh text miningu k analýze sentimentu ať už na zákládě speech-to-text enginu call centra (takže není třeba dohled a statistiky jsou totální) a nebo ze sociálních sítí jako Twitter nebo Facebook (Big Data; takže je možné uštřit peníze za průzkumy veřejného mínění a výsledky jsou kontinuální a spolehlivější).
Pomocí Regression a modulu Boosted Decision Tree Regression, což je běžně používaný nelineání algoritmus v rámci feature engineer, je možné např. na základě předpovědi počasí+dnů v týdnu+svátků+hodiny předpovědět dopravní sitauci na silnicích nebo třeba kolik lidí si koupí zmrzlinu J
Binary Classification dovede s využitím již zmíněných modulů SVM a Boosted Decesion Tree Regression předpovědět (stanovit) rozikovost klienta na základě informací poskytnutých na žádosti o úvěr.
Cortana Intelligence poskytuje AI interface například pro komunikaci s uživateli prostřednictvím SMS nebo umožňuje hlasové ovládání.
 Azure Machine Learning plně integruje statisticko-analytický scriptovací jazyk R a Python, což otevírá prakticky neomezené možnosti.
To umožňuje vyhodnocovat korelaci mezi daty, provádět t-test, analýzu rozptylu (ANOVA) nebo vytvářet nejrůznější modely regresivní analýzy. Z pravděpodobostní matematiky je možné sestavovat modely Gaussovy distribuce či Possoinova a exponenciálního rozdělení. Při kombinaci statistiky a pravděpodobnosti je např. možné určit, jaká součástka brzy pravděpodobně selže a nechat ji věmit dříve, než se závada projeví.

Ovšem, hlavní přínos je viděn v tom, že modely strojového učení je možné přímo vytvářet (Data Science). Například kompletní script s využitím knihovny forecast v R je tak jednoduché jak:

library(forecast)
dataset <- aggregate(Search ~ Date, data = dataset, FUN= sum)
ts <- ts(dataset$Search, frequency=7)
decom <- stl(ts, s.window = "periodic")
pred <- forecast(decom, h = 7)
plot(pred)

S pomocí neurovových sítí (knihovna nnet) je možné pohodlně vytrénovat modely třeba pro Multinomální Lineární (Logistickou) Regresi či Ordinální Regresi. A jelikož je model sestavován, možné (nezbytné) je definovat všechny parametry jako degree of freedom, konfidenční intervat apod. Knihovna gglot2 je velmi oblíbená pro grafické výstupy.
Knihovny balíku Anaconda jako Numpy, Pandas, Seaborn (postavený na matplotlib), Sci-kit learn či SciPy jsou soupeřící knihovny pro vše-becný Python.
Tyto dva řádky v Pythonu deklarují estimátor, který implementuje SVC (Support Vector Classification) a zavolá estimátor k predikování další hodnoty:

clf = svm.SVC(gamma=0.001, C=100.)
clf.predict(digits.data[-1:])

Python, jehož komunitní základna ve velmi široká, má vedle zmíněných také knihovny PyBrain (modulární ML), NeuralLab a FANN (NN), NLTK (Natural Language & Text Processing) či SimpleAI pro obecnou AI (umělou inteligenci). 
Pravděpodobně největší výhoda Pythonu v této oblasti je dostupnost knihovny TensorFlow pro Deep Neural Networks (hluboké neurovové sítě) původně vytvořené pro Google Brain v rámci výzkumného projektu pro Machine Intelligence.

 

Prezentační vrstva

I přes rozsáhlou problematiku v pozadí, to co chceme na konci dne je zcela jasný a srozumitelný výstup.
SQL Server Reporting Services v rámci integrovaného balíku Data Tools poskytuje úplnou kontrolu na sestavovaným reportem a následnou publikací na Reporting Server. Plugin Report Builder oproti SSRS umožnuje publikaci jednotlivých částí sestavy na server. Mobile Report Publisher umožnuje podle předdefinovaných prvků vytvářet mobilní reporty, spustitelné na všech zařízeních.
Po akvizi Datazenu, pravděpodobně nejzajímavěším produktem je Power BI, který umožnuje jak tvorbu paginated reportů na Power BI Reporting Services, tak interagování s reporty pomocí mobilní aplikace. Vedle velmi rychlého sestavování přehledných reportů, Power BI obsahuje také sadu jednoduché analýzi. Jednotlivé části grafu jsou provázané, na data je možné upravovat filtry přímo v aplikaci a od posledního release přibala podpora kontigenčních tabulek. Od verze SQL Serveru 2017 má být podporován deploy reportů přímo na Reporting Services.
Power BI je také možné připojit téměř na jakýoliv zdroj, vedle SQL Serveru také na HDInsight či Azure Machine Learning.
Také je možné spouštět scripty napsané v jazyce R, takže přímo v reportu lze provádět pokročilou analýzu.
Dalším populárním nástrojem je např Tableau.

Platové ohodnocení

Podle serveru platy.cz, celostátní průměrný plat na pozici Business Intelligence Specialist je 47.000 Kč. Portál mesec.cz a businessinseder.cz uvádí plat v Praze se 3 letou praxí 60.000-90.000 Kč. Grafton momentálně sprostředkovává poptávku na DWH/BI Developera s 1 letou praxí za 80.000 Kč.
Podle PayScale, průměrný plat BI/DWH Developera ve Spojených Státech je $80.000. Server Indeed uvádí průměrný federální plát na pozici BI Developer $94.000, přičemž ve velkých městech plat překročil hranici $100.000.
Průměrný plat Data Scientist je podle Indeed $92.000, $112.000 podle GlassDoor, PaySa uvadí dokonce $166.000 (přestože by bylo zajímavé vědět něco více o použitých datech).
BI jako jediný obor rostl i v období ekonomické krize průměrně o 14% meziročně.
Mezi lety 2011 a 2013 svět vygeneroval 90% dat za celou svou předešlou historii dohromady a tento trend se odráží v poptávce přidružených oborů.

 

Závěr

S uvedením PolyBase a In-Memory Advanced Analytics s nativní podporou R ve verzi SQL Server 2016 a plánovanou podporu Pythonu umožňující Deep Learningve v.2017, došlo ke spojení Big Data a Data Science s relační databazí přímo skrze Management Studio. Data Vault 2.0 má silné opodstatnění tam, kde jsou Big Data využívána společně s SQL. GPU databáze jsou extrémě aktraktivní, přestože je využívá pouze minumum společností.
Azure DataWareHouse je škálovatelný cloudový hybridní datový sklad jako služba, kde HDInsight podporuje celý eko-systém Hadoop vč. Spark.
Data-mining a Machine Learning jsou pravděpodobně neužitečnější nástroje BI s vysokou přidanou hodnotou pro business, daleko za možnostmi datové kostky. S integrací jazyka R a Python v rámci Azure Machine Learning jsou k dispozi prakticky neomezené analytické možnosti, vč. dostupnosti Deep Learning.
Power BI je vysoce efektivní nástroj pro reporting s širokou konektivitou a podpora R scriptů umožňuje provádět pokročilou analýzu přímo v prezentační vrstvě.
S rapidně rostoucí poptávkou, být do dat je druh světlé budoucnosti.

Diskuze

 Se stále narůstajícím rozšiřováním relační databáze o Big Data je možné, že Data Vault 2.0 nahraní hvězdicovou topologii jako obecně majoritní schéma. S těsnou blízkostí BI a Data Science je představitelné, že GPU servery budou hlavním hardwarem cloudových datových skladů a služem.
Power BI má potenciál nahradit SSRS a uvolnit tak více lidské kapacity k analýze.
Je otázka, jaký veliký praktický přínos pro business může mít stále velmi mladé odvětví praktického Deep Learningu.

Bottom Line

Od roku 2016 došlo k fůzi Business Intelligence s Big Data a Data Science při tendenci přesouvat výpočetní kapacity do cloudu.

 

——————————————————————————————————————–

Zajímavost

Nedávno byl uvolněn plug-in do prohlížeče Google Chrome s názvem Data-Selfie, který na základě prohlížených stránek na Facebooku dovede pomocí Machine Learning (vč. Natural Language Processing) vyhodnotit např. zda-li uživatel při koupi oblečení preferuje kvalitu nebo styl, zda-li se rozhoduje podle značky nebo užitku, zda-li má pravděpodobně pernamentku do fitness, jít často fast foodové jídlo, začne zvažovat o rozjetí podnikání příští rok, jaké jsou jeho volební preference (liberalista, konzervativec, …), jaký je jeho psychologický profil podle Big5 (tvrdě pracující a organizovaný, týmově založený, umělecký a kreativní, …), pravděpodobný percentil jeho inteligence, míra životní spokojenosti a mnoho dalšího (-násobeno znalostní, kde pracujete, vzdělání, místa častého pohybu, …). Je evidentní, že takové informace mají velmi vysokou hodnotu, tak demonstrující potenciál Business Intelligence.
Google trvale ukládá vyhledácí dotazy a prohlížené stránky každého uživatele k analýze, zatímco májící pod palcem prakticky celý internet a dispozici jedny z nejvýkonnějších datových center na světe.
Jelikož svět jsou lidé a drtivá většina lidí vyspělého světa využívá alespoň nějákou ze služeb Googlu (Android je také od Google), je nezpochybnitelné, že Google (Brain) má nejvyšší BI na světe, připomínající tak film Paychecks s Benem Afflecktem a Umou Turman v hlavní roli.

<div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-143084524-284-5bedc666304ea' data-src='https://widgets.wp.com/likes/#blog_id=143084524&post_id=284&origin=sjirak.cz&obj_id=143084524-284-5bedc666304ea' data-name='like-post-frame-143084524-284-5bedc666304ea'><h3 class="sd-title">Like this:</h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like</span></span> <span class="loading">Loading...</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div>

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: