Ez az ideális projektvezetés big data projektekben: a módszertan valóban minden szükséges lépésre gondol, ami apró lépésekben hozzátesz ahhoz, hogy a projekt valóban sikeres legyen. Vannak olyan esetek, amikor mégis érdemes eltérni a nagy könyvben írtaktól: egy következő posztban áttekintjük a CRISP-DM pajzsának réseit és egy, a Dmlabban használt módszertant is bemutatunk, amellyel olyan megoldásokat hozunk létre, amelyekkel segítjük partnereinket adatvezéreltebbé válni.
CRISP-DM módszertan – Mi az és hogyan használd?
A CRISP-DM módszertan az egyik leggyakrabban használt módszertan, ami iránytűként szolgál abban, hogyan lehet egy üzletileg sikeres adatelemzési projektet véghezvinni. Ez a cikk a módszertan alapját mutatja be egy valós projekten keresztül.
Egy adatelemzési projekt sikerességéhez számos komponensre van szükség. Tudnod kell:
- Mi a valós üzleti cél, aminek elérésében az adatelemzés segítséget nyújthat?
- Hogyan lehet a fenti üzleti célt adatelemzési céllá fordítani?
- Milyen adatok állnak rendelkezésre az elemzés létrehozásához?
- Hogyan kell ezeket az adatokat felhasználni a leghatékonyabb és üzletileg is sikeres megoldás kialakításához?
- Milyen modellezési technikákat érdemes a cél elérése érdekében használni?
- Hogyan lehet egy adatelemzési megoldást üzletileg kiértékelni?
- Hogyan lehet a megoldást felhasználni, integrálni az eddigi üzleti folyamatokba?
Ezekre a kérdésekre ad megoldást a CRISP-DM módszertan. De mit is jelent ez a mozaikszó?
CRISP-DM for dummies
A CRISP-DM módszertan lényege, hogy felhasználási területtől független keretet ad adatelemzési projektek levezetéséhez, a sikerességet hangsúlyosan üzleti szempontból definiálva. Maga a név egy mozaikszó: Cross Industry Standard Process for Data Mining.
Miért van szükség egy ilyen módszertanra?
1996-ban, a még elég friss adatelemzési piac három “veteránja” – a DaimlerChrysler, az SPSS és az NCR – megelégelte, hogy túl sok bukott projektet látnak maguk körül. Ezért összeszedték azokat a kritériumokat, amelyek szerintük szükségesek ahhoz, hogy egy adatelemzési projekt sikeres legyen. Ezekből a kritériumokból alakult ki a módszertan alapja, amit ezt követően két és fél évig finomítottak és teszteltek a gyakorlatban, hogy 1999-re megszülessen a CRISP-DM 1.0. A módszertan létrehozása során az lebegett az alkotók szemei előtt, hogy szülessen egy olyan keretrendszer, amely
- egy kevésbé hozzáértő számára is érthetővé tesz egy adatelemzési projektet,
- megismételhetővé teszi azt,
- iránymutatást ad arra, hogy a projektnek milyen kimenetei vannak,
- projekttervezési és -menedzsment gyakorlatot ad.
Ezzel pedig növeli az ilyen projektekkel kapcsolatos komfortfaktort: mind az üzleti döntéshozók – akik a projektet finanszírozzák és a végső eredményeket felhasználják -, mind az adatelemzők – akik az elemzési és az egyéb technikai munkát elvégzik -, közös nyelvet beszéljenek és közös keretben gondolkodjanak.
A CRISP-DM előnye emellett, hogy megismerésével egy nagyon jó gondolkodási keretet kap a területre érkező friss szakember arról, hogyan érdemes egy ilyen feladat megoldásába belevágni. Emiatt tanítjuk mi is több mint 10 éve a módszertant mind az egyetemi, mint a vállalati képzéseink elején.
A módszertan hierarchikusan épül fel: a legfelső szinten hat fázisban foglalja össze egy adatelemzési projekt lépéseit, amelyeket ráadásul nem egymást követő lépésekbe szervez, hanem egy iteratív folyamatként értelmez.
A módszertan 6 fő fázisa:
- Üzleti célok meghatározása (Business Understanding)
- Adatok megértése (Data Understanding)
- Adatok előkészítése (Data Preparation)
- Modellezés (Modeling)
- Üzleti kiértékelés (Evaluation)
- Hadrendbe állítás (Deployment)
A módszertan a következő szinten ezeket a fázisokat bontja tovább általános feladatokra, amelyek még elég átfogóan vannak megfogalmazva ahhoz, hogy azokat minden projektre értelmezni lehessen. A harmadik szinten már az adott projektre specializált tennivalókat találjuk: általános feladat, hogy az adatokban rejlő hibáktól megtisztítsuk az adathalmazt, de ez a feladat teljesen mást jelent akkor, ha egy ügyfélszegmentációs projektet szeretnénk megvalósítani, mintha egy lemorzsolódás elemzést szeretnénk elvégezni.
De mit is takarnak ezek a fázisok és általános feladatok? Hogy néz ki ez az egész a gyakorlatban?
A CRISP-DM módszertan fázisai
Haladjunk végig a hat fő fázison és egy konkrét üzleti példán keresztül gyakorlatban is nézzük meg a módszertan alkalmazását.
Üzleti célok megértése
Az első fázis az Üzleti célok meghatározása, ahol olyan kérdésekre kell válaszolni, mint hogy mi a projekt során megoldani kívánt üzleti probléma, mi az elérni kívánt üzleti cél, hogyan tudjuk számszerűen mérni azt, hogy ez az üzleti cél sikerült-e, milyen adatelemzési megoldással lehet elérni ezt a célt?
Ebben a fázisban tehát
- át kell tekinteni az üzleti célokat,
- egyfajta helyzetértékelést kell tartani (erőforrások, korlátok, üzleti feltételek és egyéb tényezők),
- meg kell fogalmazni az üzleti célokat üzleti nyelven, meg kell fogalmazni az adatelemzési célokat technológiai nyelven, valamint az üzleti siker kritériumokat össze kell egyeztetni a hatékonysági értékelési módszerekkel.
Ügyfelünk egy kereskedelmi bank. A bank bankkártyás ügyfeleinek egyik felét meg szeretné keresni azzal az ajánlattal, hogy hitelkártyát is ajánlana nekik. Az ügyfeleket levélben és telefonon egyaránt megkeresné, de csak az ajánlat elfogadását tekintve legígéretesebb 10.000 ügyfelet célozza meg. Az elemzés feladata, hogy adatbányászati módszerekkel határozzuk meg kiket érdemes leginkább megkeresni. Rendelkezésre állnak az ügyfelek bankkártyás tranzakciós adatai, illetve egy fél évvel korábban hasonló témában lefolytatott telefonos kampány eredményei, nevezetesen melyik megkeresett ügyfél élt az új termékajánlattal és lett végül tényleges felhasználó, és melyik nem. A projekt során érdemes az alábbiakat is megérteni: mi az üzleti háttér és mi a termék, mik az érintett üzleti területek, melyiknek mi a célja az új termékkel és milyen feladatai lesznek ezzel kapcsolatban, ha elkészül a modell, akkor azt hogyan szeretnék felhasználni, mik a kampány jellemzői: megkeresés költsége, várható profit egy ügyfélen stb. Ezek alapján a megoldás célja, hogy adott ügyféllistát átadva egy rangsort kapjunk az ügyfelekre annak valószínűsége szerint, hogy mennyire affinak a termékre. Az adatelemzési feladat tehát egy olyan osztályozási modell létrehozása a múltbéli megkeresések alapján, amely jól sorrendezi az ügyfeleket.
Megvannak az üzleti célok, de mivel fogjuk ezeket a célokat elérni?
Adatok megértése
A második fázis az Adatok megértése. Össze kell gyűjtenünk azokat az adatokat, amelyek a rendelkezésünkre állnak és amelyekről azt gondoljuk, hogy az üzleti cél elérése érdekében szükségünk van rájuk. Fontos, hogy az adatforrások feltárása mellett az adatgazdák megtalálására is időt szánjunk: ők azok az emberek, akik tudják, hogy az adott forrásban az adatok üzletileg mit jelentenek, hogyan keletkeznek, milyen összefüggések vannak köztük stb. Az adatgazdákkal és az üzleti szereplőkkel folytatott üzleti interjúk keretén belül meg kell érteni az adatokat, hogy a modellezés során feltárt összefüggéseket elsőkörben az elemző is validálni tudja üzleti felhasználhatóság szempontjából.
Ha az elemzés során felhasználni kívánt adatok több forrásból érkeznek, akkor az adatok integrációjára is tervet kell alkotnunk: hogyan lehet összekapcsolni több forrásból érkező adatokat, mik a közös időtávok, mik a közös kulcsok?
Elérkeztünk a módszertan első olyan pontjához, amikor érdemes egy projekt terméket előállítani: egy részletes leírást az adatokról.
Ügyfelünknél rendelkezésre állnak a következő adathalmazok: az ügyfelek bankkártyás tranzakciós adatai és egy fél évvel korábban hasonló témában lefolytatott telefonos kampány eredményei, nevezetesen melyik megkeresett ügyfél lett végül tényleges kártyahasználó, és melyik nem. Hogyan kapcsolható össze a két adathalmaz? Amennyiben az adathalmazok összekapcsolhatóak, úgy a rendelkezésünkre álló változóknak mi az üzleti jelentése? Milyen változók, milyen értékeket vesznek fel? Vannak-e az adathalmazban adatminőségbeli problémák, vannak-e az ügyfeleknek olyan tulajdonságaik, amelyek hiányzó értékeket tartalmaznak? Vannak-e kiugró értékű változók, például az átlaghoz képest kiugróan magas keresettel rendelkező emberek, vagy a bankkártyájukat az átlaghoz képest tízszer gyakrabban használó ügyfelek?
Minden adatelemzési feladatban, ahol ismertek a felhasználni kívánt változók, a következő lépés az, amelyben elválik, hogy üzletileg mennyire hatékony modellt sikerül alkotnunk. Ez még nem a modellezési fázis.
Miért az adatok előkészítésén múlik az adatelemzési projektek sikere?
Adatelőkészítés
Két iskola létezik: az egyik szerint mindegy milyen adatok vannak, az adatelemzési algoritmusok majd megtanulják az adatokban rejlő összefüggéseket. A másik iskola szerint az adatok megértésével és az adatokban rejlő – az algoritmusok számára nem hozzáférhető – összefüggések felszínre hozásával lehet üzletileg hasznos eredményt elérni.
Mit értünk azon, hogy az algoritmusok számára nem hozzáférhető?
Az egyik hallgatónk diplomamunkája keretében egy olyan projekten dolgozott, amiben olyan modellt kellett alkotni, amellyel ügyfeleket lehet rangsorolni, hogy ki mennyire affinis egy adott termékre. A hallgató átnézte a rendelkezésre álló adathalmazokat és felfedezte, hogy az ügyfelek telefonszáma is az adathalmazban van, ami mivel egyedi azonosító volt, ezért kizárta az elemzésből. Mivel akkor már több olyan projekten voltunk túl, amiben hasonló adatokat kellett elemezni, elmondtuk a hallgatónak, hogy azok a mobiltelefonszámok, amelyek 9-essel kezdődnek olyan emberhez tartoznak, akinek nagyon régóta van mobiltelefonja. Ez egy olyan információ az ügyfélről, ami akár üzleti értéket is hordozhat. A hallgató azt mondta, hogy megpróbálta használni ezt a változót, de egyik modell sem használta. Persze, hiszen ez az információ egyik modell számára sem hozzáférhető. Nekünk kell segíteni adatelőkészítési lépésekkel, hogy az ilyen információkat kinyerjük és új változóként a modell rendelkezésére bocsássuk.
Az adatelőkészítési fázisban az alábbi feladatokat kell elvégeznünk:
- adatok kiválasztása: milyen adatokat fogunk felhasználni és miket hagyunk ki az elemzésből?
- adattisztítás: hogyan kezeljük a hiányzó értékeket? És hogyan kezeljük a kiugró értékeket? Egyáltalán hogyan tudjuk megtalálni az anomáliákat?
- adatgazdagítás: tudunk-e külső adatforrásokat felhasználni az elemzésben? Hogyan tudjuk az üzleti logikát beépíteni új változók képzésével?
- célváltozó: rendelkezésünkre áll vagy nekünk kell generálni?
- adat integrálás: a fázis végső célja, hogy a különböző adatforrásokat összekapcsolva és az elemzés során modellezni kívánt célváltozóval kiegészítve létrejöjjön az elemzési adattábla, ami a modellek bemenete lesz majd a következő fázisban.
Az elemzési adattábla úgy néz ki, hogy minden ügyfélhez egy sor tartozik: az oszlopokban az ügyfelek tulajdonságai, utoljára az az információ, hogy használ-e hitelkártyát. A bankkártya tranzakciós adatok azonban egy ügyfél esetén is sok-sok tranzakciót, így sort tartalmaznak. Hogyan tudjuk ezt az adathalmazt olyan alakra hozni, hogy minden ügyfélhez csak egy sor tartozzon? Például ügyes aggregációkkal: átlagos havi költés, hány napig elég a fizetése, kiadások és a bevételek aránya stb. Mivel a másik adathalmazban az ügyfelek felhívása külön időpontokban történt, ezért a fenti aggregációkat legkésőbb a felhívásig terjedő tranzakciók felhasználásával alakíthatjuk ki, mert a modell használata során sem fog rendelkezésünkre állni a “jövő”.
Végre: jöhetnek a modellek.
Modellezés
Minden adatelemző ezt a részt várja, végre hosszas – izgalmas, de egyben fárasztó és sokszor monoton – munkával létrejöttek az elemezni kívánt adatok, itt az idő, hogy a
szerszámosládánkból a legjobban szeretett eszközt vegyük elő: az adatelemzési algoritmusokat. Bár ezt a részt szeretjük a legjobban, fontos észben tartani, hogy ezzel a fázissal fogunk a legkevesebb időt tölteni: körülbelül az egész projektre szánt erőforrásoknak 80%-át az előző fázisokban már felhasználtuk, a modellezésre tipikusan 5-10% szokott maradni.
Ebben a fázisban ki kell választanunk, hogy az első fázisban azonosított adatelemzési feladat megoldása milyen adatbányászati modellek használatát teszi lehetővé. Melyik modell milyen eddig esetleg nem kezelt adatelőkészítést igényel? Melyik eredményét hogyan fogjuk tudni üzletileg is interpretálni?
A fázis egyik legfontosabb feladata, hogy a test design-t létrehozzuk: a rendelkezésünkre álló múltbéli adatokon hogyan fogjuk tudni visszamérni a modellünket oly módon, hogy a kapott eredmények esetén mindinkább biztosak lehessünk abban, hogy ezeket az eredményeket a modellünk a valós bevetés során is hozni fogja. Ehhez nem árt végiggondolni újra azt, hogyan is fogjuk felhasználni az üzleti folyamatokban a modellünket.
A modellek megalkotása és a potméterek megfelelő állapotba csavarása után ki kell értékelnünk a modellünket: ha a modellünk a múltban rendelkezésünkre állt volna, milyen üzleti hasznot hozott volna? Ha ezt a lécet is sikeresen átvittük nincs más hátra, mint a modellünk által feltárt összefüggések interpretálása: milyen összefüggéseket tanult meg a modell? Mit jelentenek ezek üzletileg? Hogyan tudom mindezt elmagyarázni a felhasználók számára?
A valós projektek során nagyon fontos, hogy a modellünket soha ne a véletlennel hasonlítsuk össze: mennyivel jobb a modellem annál, mintha kockát dobva jelölöm ki azokat az ügyfeleket, akik kártyát kapnak? Ezzel szemben érdemes ún. baseline modellt választani: kérdezzük meg az üzleti oldalt, ő milyen szabályt használna ennek a kérdésnek a megválaszolására. Implementáljuk le ezt a modellt és ha ennél jobb modellt tudunk alkotni, akkor volt értelme a beletett energiának. Építsünk több algoritmussal is modellt és nézzük meg melyik modell mit tanult meg az adatokból: mely ügyfeleknél működnek jól, és hol hibáznak sokat? Lehet-e újabb változókat generálni ezek alapján a tanulságok alapján? Tudom-e kombinálni a különböző modelleket?
Látszólag készen van a projekt, mégis hátra van még a fázisok harmada. Mi is az az üzleti kiértékelés?
Kiértékelés
Ebben a fázisban felmérjük, hogy a modellünk elérte-e az első fázisban megfogalmazott üzleti siker kritériumokat. Ha nem, akkor mire lehet használni? Felhasználható-e a modell üzletileg?
Sok esetben előfordul, hogy az üzleti célok nem úgy teljesülnek, ahogy azt a projekt elején elképzeltük: azonosítsuk a lemorzsolódó ügyfeleket hat hónappal előre, de mit kezdünk egy olyan modellel, ami csak két hónapra előre tudja ezt magabiztosan eldönteni? Üzletileg használható ez a megoldás is?
Nem véletlenül iteratív a CRISP-DM módszertan: ha a modell ebben a formában nem használható, akkor vissza kell ugranunk az előző fázisok valamelyikére. Új adatokat kell bevonni, új adatelőkészítési lépéseket kell megtenni, vagy új modellezési technikákat kell kiválasztani.
Minél több idő telik el a modell által prediktált esemény (az ügyfél lemorzsolódik a következő fél évben valamikor) és annak valós bekövetkezése között, annál érthetőbb az igény, hogy az üzleti oldal szeretné megérteni, hogyan működik a modell. Ha az üzleti folyamatok több hónapig rosszul működnek egy hibás modell miatt, az nagy kudarc. Viszont ha közel valós időben ki tudom értékelni a modellemet a valós használat közben (lásd például nagy webshopok ajánlórendszerei) sokkal könnyebb szívvel adom át az irányítást egy “fekete doboznak”.
Az utolsó lépés sok tekintetben a projektek vízválasztója: hogyan fogjuk az elkészült, immár üzletileg is validált, a mindennapok során eddig alkalmazott folyamatokban felhasználni?
Hadrendbe állítás
Az utolsó fázisban végiggondoljuk azokat a technológia, üzleti és folyamatszintű dolgokat, amik a modell felhasználását lehetővé teszik. Megalkotjuk a bevezetési tervet: milyen folyamatokat érint a modell, azokat hogyan támogatja, hogyan integráljuk ezekbe a folyamatokba a megoldást, az egyes szereplőknek milyen feladatai változnak meg a folyamatokon belül stb.
A fázis egy másik fontos feladata, hogy a modell monitoringját és karbantartását átgondoljuk. Ha valami biztos, akkor az az, hogy egy napon minden modellnek lejár a szavatossága. Jó ha ezt időben észrevesszük és a megoldásunkat kijavítjuk.
Sok projekt esetében itt jön el az a pont, amikor az adatelemzőnek minden kommunikációs trükkjét fel kell használnia. Hogyan lehet eldönteni egy modellről, hogy az valóban mennyire jól működik? Erre való az AB teszt: a felhasználók egy jelentős részének a modell segítségével küldöm ki a hitelkártyát (A csoport), míg egy kisebb részüknek véletlenszerűen (B csoport). A modellem akkor működik jól, ha az A csoportban a hitelkártya használat jóval meghaladja a B csoportét. Ebben az esetben nagy arányban bukunk a B csoporton? Igen, ezt az üzleti oldalnak sok esetben nehéz elfogadni, de csak ebben az esetben lehet elfogulatlan véleményünk a modellünk hatékonyságáról.