Datová kvalita
O co jde
Fráze "Garbage in, garbage out" vystihuje podstatu věci. Pokud počítač nakrmíme špatnými údaji, výstup bude též špatný. A špatný výstup znamená v konečném důsledku finanční ztráty, ať už zaslání zboží na nekorektní adresu, rozhodnutí založené na chybných údajích, nebo prakticky neodhadnutelné náklady při integraci systémů s datovými konflikty.
Samozřejmě, datovou kvalitou se zabývá každý systém, implicitně, bez toho aby deklaroval "a teď řeším datovou kvalitu". Každý systém provádí kontroly vstupních dat, má vnitřní mechanismy pro ošetření nekorektních dat, a často i výstupní kontroly ve formě různých konsolidačních reportů, testovacích košů a podobně.
V současnosti to však už nestačí. Čím víc dat, čím větší integrace a automatizace, čím sofistikovanější nástroje na získávání znalostí z dat (data mining), tím menší možnost lidské kontroly. Nároky na kvalitu dat stoupají, a od určitého momentu už není efektívní řešit je "po svém".
Logickým vyústěním je rostoucí zájem o datovou kvalitu. Řešení je dvojice Metodika-Nástroj. Metodika nám stanovuje jak postupovat, nástroj nám pomáha metodiku uplatnit.
Metodika řešení datové kvality a její úskalí
Hlavní motto metodiky je následující: "Data jsou nejhodnotnějším majetkem podniku, musíme znát jejich stav, a musíme se o ně starat". A přímo v mottu se ukrývá jedno z největších úskalí: někdo se musí o data starat, a to ve smyslu starat se o správný obsah. A to je problém, jelikož firmy jsou vnitřně rozdělené podle činností, případně podle regionů, a neexistuje pozice resp. technologie, ze které by bylo možné řešit např. konfliktní údaje o stejném klientovi evidované v různých odděleních a systémech. Snaha o zavedení centralizovaných organizačních struktur a odpovědností orientovaných na data našla svou podobu ve formě Data Governance, a na technické úrovni ve formě Master Data Management. Obě jsou poměrně nové oblasti, které jdou vpřed ruku v ruce s Data Quality.
Co je to vlastně kvalita dat
Tato otázka je ukrytá v mottu: "...poznat stav dat...". Když dokážeme odpovědět na tuto otázku, máme z půlky vyhráno. Nekvalita dat je to, co způsobuje ztráty. Pokud máme v systému adresu, na kterou doručovatel není schopen dodat zboží, je to nekvalitní údaj. Pokud máme v systému chybné rodné číslo zákazníka, ale klienta identifikujeme pod jeho zákaznickým číslem, nemusíme to považovat za nekvalitní údaj. Kvalita dat je daná jejich použitím. Data se nedají posuzovat jen tak, sama o sobě.
Kvalita dat je věc businessu
Zadefinování kvality dat musí vycházet z businessu podniku. Ten je velmi specifický, a zná ho především zákazník. Kvalitu dat musí definovat business člověk zákazníka, ne dodavatel řešení, ani technolog. Samozřejmě, dodavatel umí ze svých zkušeností poradit. Tato skutečnost může být v rozporu s očekáváním klienta, totiž že dodavatel sa podívá na data a vyčistí je sám od sebe.
Definice kvality dat může mít mnoho podob, a nespočívá jen v kontrole vyplněnosti nebo formátu. Jako příklad můžeme uvést:
- detekce duplicitně zadaných klientů
- business konzistence dat, například souhlasící křížové součty
- očekávané statistické počty (počet zákazníků podle geografického členění, podle zaměstnání, atd.)
- splnění business pravidel - například stav objednávky vs. přítomnost platby
Při řešení kvality dat je nutné určit efektivní hranici: co řešit, a co ne. Pokud například nesouhlasí výška faktury se součtem jejích položek, nebo faktura referuje neexistující zákaznické číslo, rozhodně je to nesprávny údaj s negativním dopadem. Na druhé straně je třeba zvážit náklady na detekci takového defektu a pravděpodobnost výskytu. Pokud údaje na faktuře generuje ověřený systém, a reference jsou hlídané databází, nevyplatí se zatěžovat systém zbytečnými kontrolami. Řešit je potřeba jen to, co reálně způsobuje ztráty, jinak to jsou vyhozené peníze.
Z tohoto důvodu se nástroje na datovou kvalitu v současnosti soustřeďují na údaje zadávané do systému člověkem, které v momentu zadávání není možné jednoznačně zkontrolovat, a to jsou typicky údaje o klientech. V konečném důsledku jsou to dvě notoricky známé aplikace datové kvality:
- detekce duplicitně zadaných zákazníků
- čištění adres
Tyto aplikace se v podstatě opírají o sémantickou analýzu dat (parsování adresy na ulici, město, PSČ, jména na oslovení, jméno, příjmení, titul) a o předpřipravené seznamy adres a jmen pro danou zemi, které dohromady tvoří tzv. Quality Knowledge Base - soubor národních dat a pravidel pro kontrolu a čištění dat.
Řešení není jednorázové vyčištění dat
V rozporu s častým očekáváním zákazníka, řešení kvality dat není o jednorázovém spuštění čistícího procesu, po kterém v databázi zůstanou čistá data. Řešení kvality dat sestává z:
- nasazení mechanismů bránících vstupu nekorektních dat do systému, resp. mechanismů, které opravují vstupující data
- zaintegrování těchto mechanismů do existujících aplikací, aby byl například užívatel upozorněný, že zadává potenciálně existujícího klienta
- nasazení průběžného monitorování kvality dat v systému
- a neustálé ladění a přizpůsobování těchto mechanismů měnícím se požadavkům
Řešení kvality dat je tedy permanentní záležitost.
Technologická náročnost
Především detekce duplicitně zadaných zákazníků je poměrně náročná na zdroje. V současnosti je řešená matematickým aparátem generujícím tzv. match codes nebo matching keys, což jsou pomyslné otisky prstu zákaznických dat generované z různých identifikačních údajů. Match codes se následně porovnávají mezi sebou a hledají se podobnosti - technicky je to cross join milionů záznamů.
Sémantická analýza dat, např. při parsování pole ve kterém je zadané jméno i adresa, je sofistikovaný proces, který vyžaduje definování komplexních gramatik a nastavení správných pravděpodobností zohledňujících specifika daného regionu (například spodobnění hlásek, obměny Švarc a Schwarz, variace na název Nové Mesto n. Váhom, a podobně).
Závěr
Řešit datovou kvalitu je nutnost. Datová kvalita se už nyní řeší v každém výpočetním systému, svým způsobem. Vyšší úroveň je však možné dosáhnout jen koncepčním řešením - pomocí metodiky, jejímž tématem jsou data a jejich kvalita, a nástroje na to určeného. Na dosažení této úrovně závisí reálná hodnota, kterou z dat, a tedy z našich systémů, umíme získat.
Data jsou tím nejcennějším prvkem v IT, a péče o jejich kvalitu je permanentní záležitost.
Velmi dobře známe moderní technologie i metodické postupy a máme dlouhodobé zkušenosti s vývojem velkých systémů.