z czym to się je? 5 prostych porad
analityka i duże zbiory danych
Dlaczego patrzymy w kierunku wykorzystania dużych zbiorów danych?
Powodów jest wiele i pewnie każda organizacja będzie miała w tym zakresie swoje własne priorytety. Ważne moim zdaniem, aby przy wdrażaniu tego typu projektów robić to w odpowiedzi na konkretne wymagania biznesowe, a nie dlatego, aby móc się pochwalić rozwiązaniem big data w swoim środowisku, dla którego później "być może znajdziemy jakieś zastosowanie".
W takim razie, jakie są te biznesowe cele i wymagania? One w zasadzie nie zmieniają się od lat. Zmienia się natomiast technologia i co za tym idzie, możliwości z jakich możemy korzystać, aby te cele zrealizować. Już od dłuższego czasu mówi się między innymi o:
powiększaniu przychodów poprzez lepsze zrozumienie, czy nawet przewidywanie zachowań klientów, korzystając przy tym z tzw. analityki predykcyjnej ("co się wydarzy?") oraz analityki preskryptywnej ("co powinniśmy zrobić?"),
monetyzowaniu posiadanych w organizacji danych przechowywanych w wielu różnych źródłach, łączenie tych danych i dostarczanie nowych perspektyw, bardziej precyzyjnych informacji oraz szerszego kontekstu,
zwiększanie efektywności operacyjnej, poprzez przewidywanie cyberataków, oszustw finansowych, awarii sprzętu (tutaj wkraczamy dodatkowo w świat IoT), ale również poprzez redukcję kosztów utrzymania np. hurtowni danych,
poprawianie poziomu zadowolenia klientów np. poprzez stosowanie automatycznych rekomendacji, gdzie znowu z pomocą przychodzi analityka preskryptywna
Przykład: wdrażamy robota-doradcę.
Wyobraź sobie, że w naszym przykładowym przedsiębiorstwie powstała biznesowa inicjatywa wdrożenia robota-doradcy w zakresie oferowania usług i produktów klientom firmy. Przy czym, pisząc robota, mam tutaj na myśli zautomatyzowane oprogramowanie, które potrafi doradzać, korzystając z:
analityki opisowej (np.: tradycyjne historyczne raporty i analiza 360 o naszego klienta)
naszego klienta) analityki predykcyjnej (np.: przewidywanie trendów i zachowania rynku)
analityki preskryptywnej (np.: silnik rekomendacji)
Abyśmy takie moduły analityczne mogli uruchomić w ramach naszego projektu robota-doradcy i aby spełniały one swoje zadanie, musimy najpierw dostarczyć odpowiednich danych do analizy i upewnić się, że dane te będą zawsze gotowe na czas. Dlatego, realizując taki projekt, najprawdopodobniej będziemy musieli:
zbudować tzw. "jezioro danych" (data lake), w którym dane będą przechowywane i przetwarzane,
zagwarantować mechanizmy, które pozwolą na wzbogacanie danych wpływających i wypływających z tego "jeziora" w sposób strumieniowy,
dostarczyć technologię, pozwalającą na eksplorację dużych zbiorów danych, które są bardzo dynamiczne i zmieniają się bardzo szybko,
umożliwić budowanie tematycznych mini hurtowni danych (data mart) i ich dostarczanie na żądanie naszym interesariuszom (np. liniom biznesowym wewnątrz naszego przedsiębiorstwa).
To oczywiście na koniec oznacza dla nas konieczność zaimplementowania konkretnych rozwiązań i produktów oraz wdrożenia konkretnych technologii, o których tutaj jednak nie będę pisał, bo nie taki jest cel tego artykułu. Warto przy tym pamiętać również o uwzględnieniu wszystkich potrzebnych źródeł danych - systemów, z których będziemy czerpać dane do ich dalszej analizy (dane o klientach, dane finansowe, dane marketingowe, dane z portali społecznościowych i prawdopodobnie wiele innych).
Jak to wyglądało kiedyś i jak wygląda dzisiaj jeszcze w wielu przedsiębiorstwach i organizacjach?
Architektura, którą można zobaczyć w zasadzie w większości organizacji, bazuje i ogranicza się do typowych i tradycyjnych źródeł, z których dane poddawane są analizie biznesowej. Są to z reguły transakcyjne systemy biznesowe (różne w zależności od rodzaju prowadzonego biznesu), systemy CRM, ERP, systemy finansowe, systemy kadrowe i wiele, wiele innych. W procesie analizy danych przetwarzanych i przechowywanych w tych systemach, wykorzystywane są hurtownie danych. Dlaczego? Przede wszystkim, ponieważ:
nikt nie będzie ryzykował kariery, aby analizować te dane bezpośrednio w transakcyjnych systemach produkcyjnych przedsiębiorstwa (w systemach typu OLTP),
chcemy, aby analiza ta była efektywna i wydajna oraz aby przyniosła pożądane rezultaty i dlatego musimy wykonać pewnego rodzaju transformacje modelu danych z "transakcyjnego" do "analitycznego". Najprościej mówiąc, chcemy, aby dane nadawały się do zapisania w schemacie, wykorzystywanym w hurtowni danych (w systemie typu OLAP).
Ponadto zapytania naszych użytkowników biznesowych, dla których analiza jest wykonywana, często wymagają zebrania danych z wielu różnych źródeł i systemów, dlatego ma sens zapisanie ich w centralnym repozytorium, jakim jest nasza hurtownia danych. Przy czym warto pamiętać, że centralne repozytorium nie oznacza tutaj utrzymywania tylko jednej hurtowni danych. Organizacje zazwyczaj mają takich hurtowni wiele.
To co widzisz na powyższym rysunku, to logiczny schemat takiej architektury. Mamy tutaj przykładowe systemy transakcyjne (CRM, ERP, HR), z których ładujemy dane do hurtowni danych (EDW - Enterprise Data Warehouse). W procesie tym wykorzystujemy narzędzie ETL (Extract Transform Load), które właśnie m.in. pozwala wykonać opisaną wcześniej transformację danych. Jest to również narzędzie wykorzystywane do integracji danych oraz do tworzenia tematycznych hurtowni danych (DM - Data Mart). W nich przechowujemy już tylko ograniczone zbiory danych, potrzebne na przykład określonym liniom biznesowym lub departamentom. Tak przygotowane dane mogą być dalej analizowane za pomocą narzędzi BI (Business Intelligence), które są wykorzystywane bezpośrednio przez użytkowników biznesowych lub przez IT na żądanie tych użytkowników. Z kolei odpowiedzi na pytania, które zadają Ci użytkownicy biznesowi, dostarczane są w tych narzędziach zazwyczaj w postaci raportów, wizualizacji lub paneli informacyjnych (dashboard).
Co się jednak stanie, gdy użytkownik biznesowy będzie chciał zadać pytanie spoza zdefiniowanej wcześniej listy? Cały proces przygotowania danych, aby dostarczyć żądaną treść i odpowiedź na to nowe zapytanie jest bardzo czasochłonny. Z różnych obserwacji wynika, że przygotowanie danych do analizy biznesowej stanowi aż 80% czasu całego procesu. Jest to na pewno jedno z poważniejszych wyzwań i wpływa na ostateczne koszty rozwiązania. Jest to również jeden z wielu powodów, dla których powyższa architektura w wielu organizacjach ewoluuje, albo już wyewoluowała w kierunku opisanym poniżej.
Kierunek zmian.
Ewolucja ta spowodowana jest również pojawianiem się nowych źródeł danych. Mowa tutaj o systemach, w których przechowywane są dane niestrukturalne lub semi-strukturalne, takie jak pliki, logi, audio, video, posty w portalach społecznościowych. Jest to zupełnie inny rodzaj danych, niż te, z którymi mamy do czynienia w przypadku systemów transakcyjnych. Tam przechowujemy dane strukturalne, czyli dane uporządkowane w tabelach, wierszach i kolumnach.
Ale dlaczego nie wykorzystać posiadanej już hurtowni danych i za pomocą wspomnianych wcześniej narzędzi integracji danych ETL nie uzupełnić jej danymi z nowych źródeł? Niestety tradycyjne hurtownie danych nie są przystosowane do przechowywania danych niestrukturalnych. W związku z tym taka integracja często jest albo w ogóle niemożliwa, albo bardzo kosztowa. Dlatego w przypadku nowych źródeł danych wykorzystywane są nieco inne narzędzia i mechanizmy, natomiast logika działania jak widzisz na poniższym rysunku jest bardzo podobna. A podobieństwo to wynika z tego, że niezależnie od rodzaju danych i źródeł, z których one pochodzą, użytkownik biznesowy "na koniec dnia" chce otrzymać ten sam rezultat, czyli odpowiedzi na swoje zapytania w postaci na przykład raportów, wizualizacji lub paneli informacyjnych (dashboard).
Powyżej widzisz logiczny schemat architektury, w której rolę "hurtowni danych" pełni Hadoop i/lub baza danych NO SQL (Not Only SQL). Narzędzia te są znakomicie przystosowane do przechowywania i przetwarzania dużych zbiorów danych niestrukturalnych. Analogicznie jak na poprzednim rysunku, w tematycznych hurtowniach danych (ADB - Analytical DB) przechowywane są zbiory danych przygotowywane do analizy na przykład dla określonego klienta biznesowego.
A czy nie byłoby idealnie, gdybyśmy byli w stanie połączyć te dwa światy? Problemem mogą być tutaj stosowane narzędzia do integracji danych (ETL) oraz systemy do analityki (BI). Nie wszystkie umożliwiają pracę w tak szerokim zakresie. Istnieją oczywiście wyjątki, które pozwalają na wdrożenie takiej architektury, jak ta zaprezentowana na rysunku poniżej.
A na koniec.
Chcę zostawić Cię z kilkoma przemyśleniami i wyzwaniami, na które moim zdaniem warto zwrócić uwagę:
Jakie narzędzia wykorzystać do ładowania danych do Hadoopa? Ekosystem tych narzędzi jest bardzo duży i bardzo szybko się zmienia.
Jakiego mechanizmu ETL użyć do połączenia tych dwóch światów? Chcemy analizować jednocześnie dane strukturalne z hurtowni danych jak i dane niestrukturalne przechowywane i przetwarzane w Hadoopie.
Jak optymalnie wykorzystać samego Hadoopa? Nie jest to łatwe środowisko i wymaga dużych umiejętności programistycznych. Z kolei programowanie wymaga czasu, a dla biznesu czas wdrożenia rozwiązania oznacza często, czy zdążymy z danym produktem lub usługą przed naszą konkurencją.
Jak odpowiedzieć na wymagania biznesu, który nie chce kolejnego narzędzia BI lub co więcej wymaga, aby analitykę taką realizować wewnątrz aplikacji biznesowej? Musimy pomyśleć jak zintegrować moduł do analityki biznesowej z naszą aplikacją i czy dane narzędzie w ogóle na to pozwoli.
Jak sprostać wymaganiom użytkownika biznesowego w zakresie czasu oczekiwania na wynik analizy szczególnie w kontekście responsywności Hadoopa? I tutaj znowu wyzwaniem jest mnogość narzędzi i częstotliwość zmian w ekosystemie Hadoopa. Chcemy wybrać takie rozwiązanie, które sprawi, aby zapytania spoza wcześniej zdefiniowanej listy obsługiwane były w akceptowalnym czasie. Aby ominąć ograniczenia, czasami stosuje się podejście, w którym tworzy się dodatkowe zbiory danych, przechowywane wewnątrz pamięci bezpośrednio w rozwiązaniach analitycznych. Pytanie, czy rozwiązując w ten sposób jeden problem, nie tworzymy przypadkiem kolejnego, związanego z brakiem kontroli nad danymi, ryzykiem utraty ich spójności oraz dodatkowymi trudnościami w zarządzaniu.
Podstawowe pytania jakie nasuwają się często w momencie, gdy zaczniemy myśleć o wdrożeniu tego typu architektury dla naszego systemu analityki biznesowej, to:
Big data
Jestem programistą .NET z wieloletnim doświadczeniem. W swojej karierze stawiałem czoła całemu spektrum projektów - od systemów księgowych dla branży finansowej po serwery multiplayer obsługujące miliony graczy w branży GameDev. Specjalizuję się w szczególności w tematach rozproszonych systemów SOA z wykorzystaniem ASP .NET oraz WCF. Zawodwo pracuję z bazą MongoDB niemal od początku jej istnienia. Posiadam certyfikaty M101J MongoDB for Java Developers, M101P MongoDB for Developers, M036 New Features and Tools in MongoDB 3.6. Jako trener oraz konsultant wspomagałem kilkadziesiąt firm we wdrażaniu bazy MongoDB. Posiadam duże doświadczenie trenerskie - od 2014 roku przeprowadziłem ponad 500 godzin szkoleń i warsztatów.
Linkedin:
z czym to się je? 5 prostych porad
Kiedy w 2013 roku Netflix podzielił się planami inwestycji w House of Cards, wszyscy byliśmy – hmm, powiedzmy – lekko poruszeni. 100 milionów dolarów, Kevin Spacey i David Fincher – takie perły rzucone jako serial? Bez przesady! Okazało się jednak, że to wszystko miało dużo więcej sensu, niż mogłoby się wydawać na początku.
To nie przypadek, że właśnie ten serial zmienił oblicze przemysłu telewizyjnego. Jego twórcy odrobili lekcje i naprawdę porządnie przeanalizowali dane. Mimo, że najnowszy sezon nie spotkał się z wyjątkowo ciepłym przyjęciem, ten serial stał się momentem przełomowym dla Netflixa. Nazwa marki uległa w języku potocznym upospoliceniu (np. w hashtagu #netflixandchill), co oznacza, że jest używana dla całej klasy tego typu produktów (podobnie jak adidasy czy dżip). W świecie marketingu to to naprawdę spory sukces.
Znaleźć to, co naprawdę ważne
Różnica pomiędzy czasami przed-netflixowymi i po-netflixowymi tkwi w podejściu do potrzeb odbiorców. To właśnie ta marka przestała załamywać ręce nad potrzebami Millenialsów i po prostu trafiła w nie ze świetnym produktem. Z tym, że nie zrobili oni tego po staremu – tzn. nie wzięli grupki nastolatków i nie pytali co im się podoba, a co mniej. W Netfliksie zbiera się i analizuje maksymalne ilości danych, takich jak: ile osób obejrzało, zatrzymało czy przewinęło dany odcinek, co jeszcze oglądają te osoby i w jakich godzinach. I choć takie działania mogą być przez użytkowników odbierane jako przekroczenie granic prywatności, to faktycznie jest to po prostu opracowywanie statystyk. Zbieranie danych po to, żeby oszacować prawdopodobieństwo sukcesu produkowanych filmów i seriali. I wygląda na to, że takie podejście bazujące na danych naprawdę się opłaca. Inwestycja 100 miliardów dolarów w House of Cards spłaciła się w trzy miesiące, a ponadto Netflix musi mieć lepsze ROI niż konkurencja, ponieważ tylko 30% ich seriali znika z anteny po pierwszym sezonie.
Przyrost danych w 2D
Według powszechnie cytowanego raportu IDC, w roku 2020 przez światowy internet przewinie się 44 zettabatów danych. Co więcej, ten przyrost rośnie eksponencjalnie, ponieważ mamy coraz więcej możliwości manipulowania danymi na urządzeniach mobilnych. Niewykorzystywanie tego potencjału może okazać się zgubne, skoro praktycznie każdy CEO ma napisane na swojej białej tablicy wielkimi literami BIG DATA. Tak naprawdę chodzi o to, żeby skorzystać z tych danych umiejętnie.
Można powiedzieć, że rozwój internetu i związanych z nim technologii następuje w dwóch wymiarach. Jeden to – wspomniane wyżej – niezmierzone ilości danych. Drugi wynika jako naturalna konsekwencja. To potrzeba jakości. Dzisiaj coraz mniej z nas skupia się wyłącznie na liczbie fanów na Facebooku. Bardziej zależy nam na tym, żeby byli to fani zaangażowani i lojalni. Widać powoli, że nawet marketing outdoorowy, który zwykle celował w najbardziej rozległą grupę odbiorców, zaczyna się lokalizować.
Skoro więc medialny hype związany z big data już minął i wchodzimy powoli w fazę sceptycyzmu, to powinniśmy skupić się na tym, jak najlepiej wyjść na tym trendzie. Nie zostać w tyle, ale też nie popaść w ślepy zachwyt.
Jak podejść do big data, aby zyskać przydatne wnioski?
Najlepszą drogą, by wyjść na plus przy zarządzaniu dużymi ilościami danych, jest analityka. Niektóre firmy zatrudniają nawet odrębnych specjalistów do analizy danych. Podobno zatrudnienie takiego eksperta to nie bułka z masłem, ponieważ nie jest łatwo zostać analitykiem na takim poziomie, mimo że kursy internetowe z obracania big data pojawiają się przecież jak grzyby po deszczu. Nawet jeśli nie masz aż tak dalekosiężnych planów, to – powołując się na Boba Gourleya, autora książki Data Divination: Big Data Strategies – z pewnością potrzebujesz jednego: strategii. Po przemierzeniu całego internetu w poszukiwaniu trików na sformułowanie takiej strategii, mogę zaproponować poniższe kroki.
1. Rozdzielaj
Spersonalizowane targety (custom audiences) – takie hasło słychać tu i ówdzie. Wszyscy mówią, że trzeba customizować kampanie mailowe czy oferty promocyjne. Okazało się nagle, że nasz wymyślony przyjaciel – Buyer Persona – przyszedł na naszą imprezę z krewnymi-i-znajomymi. Kluczem do personalizowania działań komunikacyjnych może stać się zdanie sobie sprawy z niezbyt może odkrywczej, ale niezwykle istotnej kwestii, a mianowicie z różnorodności naszych odbiorców. Spośród tych wszystkich ludzi, do których chcemy dotrzeć z naszym przekazem czy produktem, mimo że mają oni pewnie wiele cech wspólnych, każdy jest inny. I oczywiście nie da się dostosować komunikatów 1:1, ale segmentacja może okazać się całkiem przydatna z perspektywy konwersji. Im więcej danych przeanalizujemy, tym łatwiej grupować na poszczególne sekcje. Nie trzeba zatem bać się wielkich danych. A jeśli ktoś nadal się boi, to zawsze może pomyśleć, że to przecież po prostu wiele podzbiorów, które w gruncie rzeczy są całkiem małe.
2. Rozprzestrzeniaj
Skoro już wiesz, że potrzebujesz podziału danych na małe porcje, żeby otrzymać niewielkie, sprecyzowane grupy docelowe, nie pozostaje nic innego niż różnorodna analiza danych. Jest wiele różnych technik, które można łączyć, aby dotrzeć do wyznaczonych celów biznesowych. Wiele oczywiście zależy od tych celów, ale także od typu danych, z którymi masz do czynienia. Zawsze warto się upewnić, czy analiza wybranym sposobem daje optymalne rezultaty. Jeśli chodzi o analitykę pod kątem biznesowym, to można oprzeć się na poniższych technikach.
Ekstrakcja danych (data mining) – jest to sposób na znalezienie pewnych prawidłowości w bazach danych; ujmując kwestię bardzo prosto, można powiedzieć, że ta technologia osadzona jest na założeniu, że jeśli coś jest powtarzalne, to może mieć jakieś znaczenie.
Analiza skupień (cluster analysis) – to może być kolejny krok, ponieważ ta technika z kolei polega na grupowaniu obiektów na podstawie pewnego zestawu podobnych atrybutów.
Modelowanie predykcyjne – jest to tak jakby dziedzina jasnowidzów, tyle że z naukowym zacięciem. Różnica jest mniej więcej taka jak między astronomią a astrologią. Krótko mówiąc, przy analizie predykcyjnej big data stawiasz na rachunek prawdopodobieństwa, co ogromnie zwiększa szanse.
Analiza tekstowa – umiejętnie opracowany algorytm oparty na przetwarzaniu języka naturalnego potrafi wyciągnąć przydatne dane już nie tylko z liczb, ale także z różnorodnych bloków tekstu. Nie trzeba chyba dodawać, jak wielką wartość – choćby w marketingu – dostarcza analiza wydźwięku wypowiedzi internetowych o danej marce czy też dane o płci lub lokalizacji ich autorów.
3. Nadążaj
Działaj w czasie rzeczywistym. Nie jest tajemnicą, że w udanym biznesie niezwykle istotne są szybkie akcje. I choć z pozoru taka rada może wydawać się dość ogólnikowa, to przy działaniach na dużych danych wcale nie jest powiedziane, że analiza będzie następowała wystarczająco sprawnie. Funkcjonują na rynku narzędzia analityczne, które mogłyby być całkiem ciekawe, gdyby nie to, że generują wyniki z dużym opóźnieniem. Tymczasem na przykład w branży e-commerce działa się na big data właściwie na co dzień, chociażby przy ustawianiu dynamicznych wahań cen. Jeśli masz czas i chęć poeksperymentować, spróbuj zarezerwować dowolny lot w piątek, a następnie zobacz, jak ta sama oferta będzie wyglądała cenowo w poniedziałek lub wtorek. To właśnie pokazuje, że analiza danych w czasie rzeczywistym jest możliwa. I może okazać się całkiem intratnym interesem.
4. Przybieraj
A tak właściwie dopilnuj, żeby analiza danych sama przybrała wyjściową kreację. Niech wykresy i grafy będą naprawdę przyjemne dla oka. Dzięki temu znacznie łatwiej prześledzisz wyniki i wyciągniesz wnioski. Zwłaszcza, jeśli działasz na ogromnych liczbach albo imponującej liczbie wzmianek. Pamiętaj, żeby zaopatrzyć się w narzędzie, które udostępnia przejrzyste i zrozumiałe wizualizacje danych. Dzięki temu łatwiej będzie pojąć, co tak naprawdę stoi za tymi dużymi liczbami i zadziałać bez opóźnień. Kiedy na przykład – jak w SentiOne – masz możliwość ustawienia, dla jakiej liczby negatywnych wzmianek internetowych uruchamia się alert krytyczny, masz pewność, że zaoszczędzisz czas. Proste.
5. Uważaj
I mimo, że dzięki analizie big data można wygospodarować zapasy czasu i pieniędzy, to – jak ze wszystkim – trzeba działać z głową. Jest kilka delikatnych kwestii, które idą za zabieraniem się za to, co ludzie wrzucają do internetu. Przede wszystkim należy pamiętać o temacie prywatności online, który jest dość drażliwy w branży IT i od ładnych kilku lat powraca jak bumerang. Jeśli jednak używasz dobrego narzędzia do analizy danych, to możesz spać spokojnie. Pamiętaj jednak także o innych trudnościach na drodze, takich jak typowe błędy w statystykach. Jak choćby klasyczny błąd mylenia korelacji z przyczynowością. Nawet jeśli używasz dobrego narzędzia, nigdy nie zaszkodzi dodatkowo sprawdzić, czy jest na pewno dobrze skonfigurowane. Na przykład bot Watson z IBM, pośród wielu różnych zastosowań, stał się bazą dla narzędzia wykonującego diagnozy medyczne. Zbierał informacje od pacjentów i zawężał diagnozę do najbardziej prawdopodobnej. Czy jednak można powiedzieć, że jest to pełnoprawny lekarz? Raczej nie.
Skoro już jesteśmy przy temacie zdrowia, z pewnością warto upewnić się, czy ma się zdrowe rozumienie big data. I oczywiście strategię, która pomoże ujarzmić te ogromne zbiory danych. Jeśli ktoś powiedział Ci, że big data to cudowny gadżet, dzięki któremu Twój biznes magicznie zarobi tony pieniędzy, to zweryfikuj to źródło. Ponieważ na każdą świetną drużynę badawczą przypada taki Dr House, który powinien połączyć kropki. W działaniu na big data, tzw. “czynnik ludzki” jest wyjątkowo potrzebny. Owszem, maszyny samouczące są szybkie i efektywne, ale ostatecznie to człowiek podejmuje decyzję, więc najlepiej byłoby, gdyby robił to z pełną świadomością i odpowiedzialnością. W oparciu o dane.