1. In甜yniera danych -Big Data. Chwilowe zauroczenie czy trway trend? Przykady praktycznego zastosowania przetwarzania du甜ych wolumen坦w danych w bankowoci i analizie ruchu w Internecie
11. pa添dziernika 2014
1
3. Czemu stoj przed Pastwem?
Przez przeszo 12 lat odpowiadaem za systemy raportujce w portalu Onet.pl. Onet to przeszo 3 mld odson i 70 mln unikalnych cookiesw skali miesica. Odpowiadaem za wyb坦r narzdzi do analizy danych. W tym za przejcie z rozwiza komercyjnych na rozwizania open source.
Braem czynny udzia w jednym z najciekawszych projekt坦w Big Data w AliorBank.
Obecnie odpowiadam za budow systemu rekomendacji treci w TVN.
Czynnie zajmuj si analiz du甜ych zbior坦w danych i doborem narzdzi analitycznych.
3
4. O co chodzi w tym caym Big Data?
Mo甜liwo stworzenia sp坦jnego obrazu potrzeb klient坦w.
Na podstawie wielu 添r坦dem danych.
Nadajcego si do praktycznego wykorzystania.
W rozsdnym czasie.
Przy rozsdnych kosztach.
Po co?
Lepsze adresowanie usug.
Ograniczenie koszt坦w.
Zapobieganie niekorzystnym zdarzeniom.
4
5. A tak konkretniej
Chcemy poczy dane o zachowaniu naszych klient坦w:
Systemy transakcyjne
Co robi na naszych stronach
Co pisz w mediach spoecznych
Jakich treci szukaj w Internecie
W jakiej sprawie dzwonili do callcenter
Czy zainteresowa ich mailling
Jak korzystaj z telefonu kom坦rkowego
≒
Definicja Big Data (Gartner, 2001): Volume, Velocity, Variety
5
6. Jeszcze konkretniej
Musimy przej z danych typu:
do danych o postaci:
identyfikator klienta
data zdarzenia
opis zdarzenia
warto
1
2009-01-01
opata rachunku za gaz
315 z
1
2009-01-01
zakup w sklepie internetowym artykuy sportowe
124 z
identyfikator klienta
data zdarzenia
url
useragent
23456781
2009-01-01
www.wp.pl
Mozilla/5.0 (Windows NT 5.1; rv:26.0) Gecko/20100101 Firefox/26.0
identyfikator klienta
warto rachunku za gaz M-6
warto rachunku za gaz M-5
rachunek za gaz ile dni przed/po terminie M-6
warto bilety lotnicze M-6
Kwota wydana na benzynM-5
Kwota wydanana zakupy 甜ywnociowe w sklepach wy甜szej p坦ki M-5
Czas spdzony na serwisach otematyce biznesowej M-6
Wydatki na edukacj dziecka M-5
Klasaposiadanegotelefonu
1
315 z
320 z
10
0 z
300 z
20 z
3:42
140 z
Wysoka
2
420 z
350 z
5
800 z
500 z
550 z
2:15
0 z
rednia
6
7. Co mnie pociga w Big Data?
1.Prawdziwy obraz zjawiska:
nie ma podstawie deklaracji,
nie na podstawie pr坦bki danych,
nie na podstawie sztucznego eksperymentu.
2.Mo甜liwo przekadu problem坦w biznesowych na jzyk danych.
3.Konieczno rozwizywania amig坦wek.
7
8. Praktyczny problem
Dysponujemy danymi.
8
Identyfikator klienta
Datalogowania
1
2000-01-01
1
2000-01-02
1
2000-03-01
2
2000-01-01
2
2000-06-01
2
2000-06-02
Problem: jaki jest churn?
9. Praktyczny problem
Dysponujemy danymi.
9
Identyfikator klienta
Datalogowania
1
2000-01-01
1
2000-01-02
1
2000-03-01
2
2000-01-01
2
2000-06-01
2
2000-06-02
Problem: jaki jest churn?
Czego nie wiemy?
10. Praktyczny problem
Dysponujemy danymi.
10
Identyfikator klienta
Datalogowania
1
2000-01-01
1
2000-01-02
1
2000-03-01
2
2000-01-01
2
2000-06-01
2
2000-06-02
Problem: jaki jest churn?
Co to znaczy, 甜e klient zrezygnowa?
11. Praktyczny problem
Dodajemy kolumn
11
Identyfikator klienta
Datalogowania
Ilo dni bez logowania
1
2000-01-01
Null
1
2000-01-02
1
1
2000-03-01
59
2
2000-01-01
Null
2
2000-06-01
152
2
2000-06-02
1
Identyfikator klienta
Maksymalny czas bez logowania,po kt坦rym zalogowa si powt坦rnie
1
63
2
160
3
1
4
1
5
2
6
215
Tworzymy now tabel
12. Praktyczny problem
Na podstawie nowej tabeli tworzymy wykres
12
0
20
40
60
80
100
120
140
1 dzie
5 dni
9 dni
13 dni
17 dni
21 dni
25 dni
29 dni
33 dni
37 dni
41 dni
45 dni
49 dni
53 dni
57 dni
61 dni
65 dni
69 dni
73 dni
77 dni
81 dni
85 dni
89 dni
93 dni
97 dni
101 dni
105 dni
109 dni
113 dni
ilo klient坦w
ilo klient坦w
15. Wyzwania
1.Zgromadzenie du甜ych iloci danych w spos坦b umo甜liwiajcy korzystanie z nich w rozsdnym czasie.
2.Zapewnienie sp坦jnej identyfikacji klienta w danych pochodzcych z r坦甜nych 添r坦de.
3.Przetumaczenie danych technicznych na zdarzenia majce znaczenie z punktu widzenia biznesu.
4.Przygotowanie analiz statystycznych.
15
16. Gromadzenie danych
Dlaczego zapisywanie danych jest tak wydajne?
Tabela z faktami
Sownik 2
Sownik 4
Tabela z faktami
Sownik 1
Sownik 3
Podejcie relacyjne utrzymywanie postaci normalnych zapewnia nam optymalne wykorzystanie przestrzeni dyskowej.
Nie musimy si przejmowa przestrzeni dyskow.
16
Wiele serwer坦w:
jednostka centralna + dysk
Jeden centralny proces
17. Gromadzenie danych
Dlaczego dostp do danych jest tak wydajny?
G坦wny problem
Podproblem2
Podproblem1
Podproblemn
W du甜ym zbiorze danych chcemy znale添 wpisy speniajce pewne kryterium, np.: wr坦d danych o wywietleniach materia坦w wideo chcemy znale添 wpisy dotyczce serialu X.
Scalenie rozwiza podproblem坦w
Dzielimy zbi坦r na kilkanacie mniejszych i w ka甜dym z nich r坦wnolegle w tym samym czasie wyszukujemy interesujce nas wpisy.
czymy wyniki wyszukiwania.
17
Faza map
Faza reduce
18. Apache Hive
18
rodowisko umo甜liwiajce zadawanie pyta w jzyku zbli甜onym do SQL.
Ale nie tylko. R坦wnie甜:
Rozbudowane mo甜liwoci operowania na napisach
Mo甜liwo wywoywania metod Java
Operowanie na JSON
Sporo wbudowanych funkcji statystycznych umo甜lwiajcych szybkie poznanie rozkadu wartoci czy sprawdzenie korelacji midzy zmiennymi
19. PigLatine
19
PigLatin-jzyk, w kt坦rym definiujemy spos坦b przetwarzania danych.
Warto pamita:
Rozbudowane mo甜liwoci operowania na napisach
Mo甜liwo u甜ywania wyra甜e regularnych
Rozbudowane mo甜liwoci operowania na datach
Mo甜liwo definiowania wasnych funkcji (Java, Python, JavaScript, Ruby, Groovy)
20. Mahout
20
Biblioteka procedur statystycznych, umo甜liwiajcych korzystanie z paradygmatu MapReduce.
Dostpne procedury:
Regresja tylko na pojedynczej maszynie
Perceptrony wielowarstwowe tylko na pojedynczej maszynie
Lasy drzew MapReduce/pojedyncza maszyna
Algorytm centroid坦wMapReduce/pojedyncza maszyna
Klasyfikatory bayesowskie-MapReduce
22. Gromadzenie danych puapki
Szybkie zapisywanie danych, to jedno, a agregacja na potrzeby analiz to drugie.
W Hadoopatwo zapisa dane, trudniej wycofa raz zapisane rzetelny ETL.
Analizowanie danych czy uzyskiwanie odpowiedzi w czasie rzeczywistym.
To wbrew pierwszemu wra甜eniu cakiem skomplikowane rodowisko, wymagajce uruchomienia i utrzymania wielu usug.
Hadoopdziaa na klastrze to naturalne rodowisko dla niekt坦rych firm, ale zupena nowo dla innych.
Trzeba go zintegrowa z zewntrznymi 添r坦dami danych i systemami do prezentacji raport坦w.
22
23. Jeszcze kilka pyta jeli chodzi o gromadzenie danych
Lokalnie czy na zewntrz?
Jaka przestrze dyskowa?
Jaka pami operacyjna?
Mo甜e CUDA?
Skalowalno.
23
24. Czy zawsze Hadoop?
Potrzeba analizowania danych w czasie rzeczywistym: Storm(http://storm.incubator.apache.org/)
Szybkie analizy w pamici operacyjnej: Spark(http://spark.incubator.apache.org/) Apache Top-Level Project od lutego 2014
Riak
Cassandra
Cakowita elastyczno jeli chodzi o struktur danych: mongoDB(https://www.mongodb.org/)
mySQL, PostreSQL,
24
25. Czy zawsze Hadoop?
Niewielki wolumen danych.
Niewielkie zr坦甜nicowanie danych.
Dane o wyra添nej strukturze.
Dane niewymagajce czenia jednolite 添r坦do.
Nike zasoby po stronie IT (zasilanie danymi, zarzdzanie dostpami, utrzymanie systemu).
Niewielki zesp坦 analityczny.
Czasem podejcie relacyjne jest lepsze.
25
26. Sp坦jna identyfikacja klienta
Ograniczenia prawne.
Pozyskanie danych ze 添r坦de zewntrznych czy si z kosztami -przemylany model biznesowy.
Identyfikacja u甜ytkownika w r坦甜nych systemach ma r坦甜ny czas wa甜noci.
R坦甜ne systemy posuguj si r坦甜nymi walutami: numer konta bankowego, identyfikator przegldarki internetowej, adres IP, numer telefonu, login do Facebook, adres poczty e-mail,
26
27. Zanim zajmiemy si analiz
zgromadzenie danych w skadnicy danych/hurtowni danych
kontrola poprawnoci danych (braki danych, wartoci wprowadzane jako domylne)
zaprojektowanie struktury danych, kt坦re maj by poddane analizie
wygenerowanie zbioru danych
kontrola poszczeg坦lnych zmiennych (braki danych, czstotliwo wystpowania poszczeg坦lnych wartoci, korelacja pomidzy poszczeg坦lnymi zmiennymi, wartoci odstajce)
waciwa analiza
Przygotowanie danych zajmuje 80% czasu
27
28. W jakim rodowisku bdziemy prowadzi analiz?
Dobra integracja ze zbiorami danych poddawanych analizie.
Czy bdziemy generowa kod scoringowy? Jak czsto? Ewentualna potrzeba integracji z systemami produkcyjnymi.
Jakich technik statystycznych chcemy u甜ywa?
Czy widzimy biznesow przydatno analiz? (syndrom g坦ry, kt坦ra rodzi mysz)
28
29. R vs Python
Praktycznie standard.
Du甜e i pr甜ne rodowisko u甜ytkownik坦w: mn坦stwo modu坦w, praktycznie ka甜da nowa technika statystyczna.
atwo w dostpie do ludzi znajcych R i rozumiejcych zagadnienia statystyczne.
Jednak: oddzielny jzyk programowania.
Znakomite rodowisko do oblicze statystycznych SciPy
Jzyk programowania, w kt坦rym mo甜na napisa MapReduce.
Nie ma zbyt wiele os坦b na rynku czcych umiejtnoci programistyczne, znajomo technik statystycznych i zorientowanych na rozwizywanie zagadnie biznesowych.
29
30. R vs Python
sqldf(SQL)
plyr(agregacja danych)
stringr(operacje na tekcie)
lubridate(operacje na datach)
reshape2 (zmiana struktury danych)
ggplot2 (wizualizacja danych)
forecast(szeregi czasowe)
rpart(drzewa decyzyjne)
randomForest(lasy drzew)
nnet(sztuczne sieci neuronowe)
class(k-najbli甜szych ssiad坦w)
IPythoninteraktywna praca z danymi, atwe zr坦wnoleglanie oblicze
pandasszybkie przygotowanie danych do analizy statystycznej
Matplotlibatwa i wydajna wizualizacja danych
30
pakiety
31. Problem uniwersalny -ludzie
Szukamy ludzi o niebanalnym zestawie umiejtnoci:
administrator zarzdzanie klastrem
programici -r坦wnolege przetwarzanie danych, ETL z r坦甜nych rodowisk
analityk (data scientist) troch programista (map reduce), troch statystyk, dobrze rozumiejcy potrzeby biznesowe i specyfik danych
31
32. wiat portali
Mn坦stwo danych technicznych:
Rodzaj przegldarki
Rodzaj urzdzenia mobilnego
Typ systemu operacyjnego
Czy akceptuje javascript
Wielko ekranu
Poo甜enie geograficzne
O kt坦rej godzinie zwyk czyta wiadomoci
W kt坦rej sekundzie przesta oglda dany film
Jakie treci szuka zanim znalaz si na naszych stronach
Jakie strony odwiedzi
W jakie reklamy klikn
Z kim koresponduje/jak czsto
32
33. wiat portali
Ale:
Ile ma lat?
Jakiej jest pci?
W jakiej miejscowoci mieszka na stae?
Czy nie porzuci nas za chwil?
33
34. wiat portali wyzwanie nr 1
Odtworzenie cech demograficznych
Znamy cechy czci u甜ytkownik坦w (podaj je w momencie rejestracji)
Korzyci:
wiemy dla kogo produkujemy treci,
bardzo przydatna informacja przy r坦甜nicowaniu treci
34
35. wiat portali wyzwanie nr 2
Wy甜sza klikalnoreklam/mailing坦w
Potrafimy odnale添 grupy zainteresowane okrelonym typem treci
Korzyci:
Prezentujemy u甜ytkownikom reklamy, kt坦re s dla nich bardziej interesujce przez to reklamy s odbierane jako mniej irytujce
Podnosi si CTR klienci zlecajcy kampanie reklamowe s zadowoleni
35
36. wiat portali wyzwanie nr 3
Personalizacja treci stron
Redakcje produkuj/otrzymuj setki wiadomoci dziennie dziennie.
Nasze strony maj bardzo ograniczon pojemno.
U甜ytkownicy wchodz na strony z r坦甜n czstotliwoci.
Czsto musz przewin stron, 甜eby odnale添 interesujc informacj.
Korzyci:
U甜ytkownicy odbieraj serwis jako lepiej dostosowany do swoich potrzeb.
Potrafimy zmieci wicej informacji redakcja jest zadowolona.
Lepszy kontekst dla reklam.
36
37. wiat portali wyzwanie nr 4
Rekomendacja treci
Niewiele punkt坦w wejcia
Stosunkowo pytka penetracja
Korzyci:
Efektywniej wykorzystujemy wizyt u甜ytkownika.
Wiksza ilo odwiedzonych serwis坦w/usug.
Du甜szy czas spdzony z nami wicej okazji do wywietlenia reklam.
37
38. wiat bank坦w
Mn坦stwo danych o operacjach bankowych:
Jak korzysta z karty debetowej
Czy ma kredyt
Jak korzysta z karty kredytowej
Od kogo otrzymuje przelewy
Na jakie konta przelewa pienidze
38
39. wiat bank坦w
Ale:
Scroringkredytowy tylko jeli ma u nas kredyt, lub stara si o taki
Saby opis transakcji bankowych
Brak znajomoci potrzeb klient坦w
Nie wiemy o wa甜nych wydarzeniach (zmiana pracy, narodziny dziecka, przejcie dziecka na kolejny etap edukacji, planowana przeprowadzka)
Niewielu klient坦w przelewa wynagrodzenie
39
40. wiat bank坦w wyzwanie nr 1
Kategoryzacja operacji bankowych
Niewiele ma jawnie wpisany tytu przelewu ale mo甜na si oprze na numerze konta bankowego
Kategoryzacja patnoci kartami: poo甜enie geograficzne, kategoria wydatk坦w (kody MCC), kategoryzacja miejsc
Korzyci:
podstawa do dalszych analiz
40
41. wiat bank坦w wyzwanie nr 2
U甜ytkownicy bez historii kredytowej
Modzi ludzie ubiegajcy si o pierwszy kredyt lub pierwszy powa甜ny kredyt.
Bezcenne mo甜liwo signicia do danych pochodzcych spoza banku (firmy telekomunikacyjne, portale internetowe, media spoeczne) ale r坦wnie甜 do danych bankowych
Korzyci:
wity Graalscoringw oparciu o dane poza bankowe
41
42. wiat bank坦w wyzwanie nr 3
Zwikszenie wartoci klienta
Ludzie sabo znaj ofert banku.
Niewiele okazji do interakcji z klientem.
Wiedza o szykujcych si zmianach w 甜yciu klienta (przeprowadzka, narodziny dziecka, zmiana samochodu)
Korzyci:
Oferujemy usugi, kt坦re mog by interesujce dla klienta
Oferujemy je we waciwym momencie
Wykorzystujemy do maksimum kr坦tkie momenty kontaktu
42
43. wiat bank坦w wyzwanie nr 4
Zapobieganie odejciom
Szybsza spata kredytu.
Likwidacja karty kredytowej.
Likwidacja lokaty.
Korzyci:
Utrzymujemy klienta przy sobie.
Klient wie, 甜e jest dla nas wa甜ny.
Reagujemy w sytuacji rzeczywistego zagro甜enia odejciem.
43
45. Big Data
To nie jest co co si dopiero mo甜e wydarzy.
Dla wielu firm, to codzienno od wielu lat.
Dla innych firm, to bardzo pocigajca przyszo. Co co musi si wydarzy.
Tam, gdzie pojawia si Big Data, zmieniaj warunki gry.
45