Miliony rekordów, Miliony w rekordach

Raporty amerykańskiego Data Warehousing Institute mówią, że problemy z jakością danych w USA kosztują przedsiębiorstwa 600 mld USD rocznie! Nawet jeśli uznamy te dane za przesadzone, to jedno jest pewne: każdy informatyk i każda firma prędzej czy później stykają się z tym problemem.

Raporty amerykańskiego Data Warehousing Institute mówią, że problemy z jakością danych w USA kosztują przedsiębiorstwa 600 mld USD rocznie! Nawet jeśli uznamy te dane za przesadzone, to jedno jest pewne: każdy informatyk i każda firma prędzej czy później stykają się z tym problemem.

Swoistym paradoksem jest to, że kiedy organizacja zaczyna mówić o jakości danych, najczęściej jest już za późno na jej zapewnienie. Problem zauważany jest wtedy, kiedy już wystąpił, a jego skutki przyczyniają się do wymiernych strat. Ktoś podjął błędną decyzję, bo dane roczne pojawiły się w miejscu miesięcznych; ktoś inny pomylił zobowiązania z przychodami; przy przygotowywaniu analizy sprzedażowej okazało się, że dane z poszczególnych regionów nie są porównywalne; akcja marketingowa nie powiodła się, bo nie udało się z posiadanej bazy klientów wydzielić odpowiedniej grupy docelowej; urząd skarbowy zakwestionował raporty z księgi głównej, bo nieprawidłowo przeniosły się z systemów rozliczeniowych... Przykłady można by mnożyć. Im bardziej rozbudowane i różnorodne systemy informatyczne firmy oraz im bardziej jej działalność jest oparta na informatyce, tym większy i kosztowniejszy jest problem jakości danych. I tym więcej zależy od właściwego zarządzania tą jakością.

W skali kraju najlepszym przykładem konsekwencji złej jakości danych jest system CEPiK. Zrealizowano go pod względem systemowym, ale nadal przyczynia się do zwiększenia "szczelności" ewidencji pojazdów, kierowców i praw jazdy w stopniu mniejszym od oczekiwanego.

Pięć fundamentów jakości

Kanadyjski rząd oraz grupa dostawców zarządzania jakością zbudowali tzw. data quality framework. W jego ramach jakość danych posiada pięć zasadniczych wymiarów:

Dokładność (Accuracy) - dane odzwierciedlają w sposób prawidłowy wielkość, którą prezentują; np. kiedy z bazy dowiadujemy się, że w firmie pracuje 24 użytkowników służbowych telefonów komórkowych, to w istocie tylu ich jest i nie dostaniemy od operatora rachunków za 25.

Porównywalność (Comparability) - dane są spójnie zapisywane względem czasu, miejsca i innych parametrów, zarówno co do formatu zapisu, jak i konwencji zbierania danych. Na przykład czas trwania rozmowy z klientem w systemie będzie zapisywany zawsze w sekundach i ich dziesiętnych (nie zaś np. w standardzie hh:mm:ss.ddd) i liczony od momentu uzyskania połączenia (a nie np. od rozpoczęcia wybierania).

Aktualność (Timeliness) - dostępne dane są aktualne, tzn. okres między ich opublikowaniem a czasem, którego dotyczą, jest jasno określony i - w szczególności - mały. Aktualność danych oznacza, że gdy sięgniemy po "miesięczne wyniki sprzedaży", to otrzymamy dane za ostatni miesiąc (domyślnie) lub konkretny miesiąc (jeśli takie będzie życzenie).

Użyteczność (Usability) - dane będą podane w formacie, który pozwoli nam na łatwy dostęp do nich i dalszą obróbkę za pomocą np. relacyjnej bazy danych, arkusza kalkulacyjnego czy narzędzi analizy statystycznej. Cechy tej np. nie posiadają dane podawane na większości stron WWW (tabelki HTML przewijane na strony), ale często jest to efekt zamierzony - dane stanowią majątek firmy je prezentującej i trzeba je po prostu kupić.

Przydatność (Relevance) - dane będą przydatne użytkownikom sięgającym do nich; najkrócej mówiąc, dane np. o hodowli kur nie będą mieszały się z danymi o cenach paliwa w systemie informatycznym firmy transportowej.

Ten framework w sposób kompletny i systematyczny mówi nam jak dbać o jakość danych. Trzeba wiedzieć, że w praktyce przedsiębiorstw pojęć jakości danych i jakości informacji używa się w sensie trochę węższym, w zasadzie ograniczającym się do porównywalności i aktualności.

Typowe problemy, z jakimi przedsiębiorstwo może się zetknąć w swoich systemach, to np.:

  • niejednorodny zapis danych semantycznie identycznych, np. numeru telefonu klienta: raz jest on zapisany w formacie 022-345-1423, innym razem jako 223451423, a jeszcze gdzie indziej w dwóch osobnych polach, jak kierunkowy 022 oraz numer właściwy 3451523. Dla call center systemu, który rozpoznaje klienta po numerze telefonu, jest to kłopotliwe i kosztowne.
  • nieporównywalność wielkości ze względu na ich różne definicje, np. sprzedaż w regionie pomorskim wykazywana jest w kwotach brutto z uwzględnieniem marży i dla towarów, których odbiór nastąpił w danym miesiącu, zaś w regionie śląskim - w kwotach netto, bez marży i dla towarów, których zafakturowanie (a nie odbiór) nastąpiło w danym miesiącu.
  • niemożność łączenia danych z przyczyn technicznych, np. ze względu na różne reprezentacje lub standardy technologiczne - dotyczy w szczególności danych pomiędzy platformami (np. mainframe i współczesne RDBMS).
  • brak słownikowania danych (normalizacji), np. pojawianie się tego samego miasta zapisanego raz jako Bielsko-Biała, innym razem jako Bielsko Biała, a gdzie indziej jako Bielsko-Biala; w tej sytuacji skierowanie kampanii marketingowej do mieszkańców Bielska-Białej jest utrudnione, jeśli nie niemożliwe.
  • punktowe zaburzenia jakości danych, tzw. błędy grube - np. w systemie sprzedaży online będą to dane pochodzące z zerwanych sesji internetowych albo połączeń nawiązanych przez roboty indeksujące, a nie fizycznych użytkowników.

Przykłady można by podawać długo, ale za każdym z nich tak naprawdę kryje się to samo: koszty. Koszty wywołane przez konieczność przejrzenia danych i "wyprostowania" ich za pomocą odpowiednich interfejsów i algorytmów. A nade wszystko koszty związane z niepewnością posługiwania się danymi, których jakości nie jesteśmy pewni oraz koszty błędnych decyzji, które mogą zostać podjęte na podstawie danych niedostatecznej jakości.

Zapewnienie jakości danych

Jak więc zapewnić jakość danych? W dużej, silnie zinformatyzowanej organizacji potrzebny jest program zarządzania jakością danych. Firma DataFlux, jeden z liderów rynku narzędzi data quality, doradza pięciostopniowy proces zapewnienia jakości danych:

1. Profilowanie/analiza - to przede wszystkim podsumowanie stanu danych na dzień dzisiejszy; identyfikacja źródeł danych, krótkie ich opisanie, wyłowienie oczywistych błędów i niespójności (np. pole "płeć" w bazie klientów, które zawiera więcej niż dwie wartości lub wartości puste) oraz zdiagnozowanie stanu danych w organizacji (do czego można użyć/wykorzystać model dojrzałości danych, którego opisanie przekracza jednak ramy niniejszego artykułu).

2. Standaryzacja jakości - to określenie standardów składowania i formatowania danych w bazach źródłowych; w tej fazie np. decydujemy, że pole "płeć" zawsze będzie miało typ znakowy, długość jednego znaku i jedyne dopuszczalne wartości to "M" i "K". Produktem tej fazy jest wzorcowa baza metadanych oraz identyfikacja tych źródeł danych, które ze standardem nie są zgodne. Wtedy też dowiadujemy się, do jakiego stopnia (np. w 20% czy w 90%) dane w naszych systemach są zgodne ze stanem oczekiwanym.

3. Integracja - to najbardziej pracochłonna i kosztochłonna faza; obejmuje ujednolicenie danych w systemach (wraz z ewentualną budową interfejsów technologicznych), normalizację systemów relacyjnych, "przesianie" baz, a czasami nawet ręczną edycję wybranych rekordów.

4. Wzbogacanie - to bodaj najciekawsza faza, w której dodaje się wartości składowanym danym. Najczęściej stosowany przykład dotyczy adresu: początkowo mamy w bazie w dwóch polach informację "Skrzat sp. z o.o." (nazwa firmy) oraz "ul. Kosciuszki 12/4, 52-434 Wrocław". Po wzbogacaniu danych umieszczamy "Skrzat" w polu nazwy firmy, "sp. z o.o." (a dokładniej: klucz obcy do słownika) jako formę działalności, "Tadeusza Kościuszki" jako nazwę ulicy (warto zwrócić uwagę na ujednoliconą i poprawioną wartość pola), osobno numer budynku oraz mieszkania, a także zesłownikowany kod pocztowy i miasto.

5. Monitoring - to wypracowanie pewnego procesu, w ramach którego organizacja będzie zapewniać jakość danych od razu (a priori), a nie w wyniku kosztownych i długotrwałych procedur "czyszczących" (a posteriori). Monitoring może obejmować np. okresowy audyt danych, konieczność zdobycia zatwierdzenia "guru jakości danych" dla każdego nowego systemu, odwzorowywanie nowego źródła informacji w bazie metadanych itd.

Oczywiście tak systematyczne podejście do integralności i jakości danych to domena niektórych przedsiębiorstw. W praktyce mniejszego przedsiębiorstwa (w którym jednakże problem jakości danych wystąpił) trzeba określić tylko kilka podstawowych rzeczy. Przede wszystkim stworzyć pewne standardy danych - najlepiej na podstawie istniejącego systemu. Taki cel najprościej osiągnąć, wskazując pewne systemy jako źródłowe, a inne jako zależne. Innymi słowy, pewne dane uznajemy za pierwotne względem innych. Następnie należy zapewnić uzgadnianie danych pomiędzy systemami, np. replikację offline albo online. Druga rzecz to mechanizm przeglądu projektowanych lub kupowanych systemów pod kątem spełnienia standardów jakości danych. Niekoniecznie trzeba do tego od razu bazy metadanych; wystarczy ktoś doświadczony, kto powie np.: kwotę zawsze zapisujemy na 12 polach i 2 dziesiętnych, okres czasu reprezentowany jest zawsze w sekundach, zaś słownik miast będzie replikowany offline z systemu fakturowego.

Początek drogi

Ale - uczciwie mówiąc - w kwestii jakości danych jesteśmy dopiero na początku drogi. Wymienione powyżej fundamenty teoretyczne, jakkolwiek wyglądają atrakcyjnie i są wspierane przez poważne organizacje (np. SAS Institute), to jednak są próbą technicznego rozwiązania problemu, dla którego brakuje przede wszystkim kompletnej i spójnej teorii. "Intuicyjność" pewnych pojęć i reguł w dziedzinie jakości danych z jednej strony pozwala rozwiązywać praktyczne problemy, z drugiej zaś jest zasadniczym ograniczeniem w opracowywaniu skutecznych metod i narzędzi. Nikogo dziś chyba nie trzeba przekonywać, jakie znaczenie ma teoria zbiorów oraz algebra liniowa dla relacyjnych baz danych, przechowujących dziś miażdżącą większość danych w organizacjach na całym świecie. Przez analogię można przypuszczać, że zbudowanie dobrych fundamentów teoretycznych dla zarządzania jakością danych może mieć równie globalny wpływ na przetwarzanie informacji w przedsiębiorstwach. Liczby zacytowane na początku tego artykuły wyznaczają horyzont myślenia w sensie ekonomicznym.

600 mld USD rocznie to na pewno kwota warta "naukowego grzechu" i dobrej teorii.

Oczywiście w przedsiębiorstwach nie będzie się jej opracowywać. Ale Massachusets Institute of Technology (MIT) uruchomił program Total Data Quality Management (TDQM). W ramach tego projektu naukowcy i przedsiębiorstwa starają się wspólnie odpowiedzieć na kilka ważnych pytań:

  • z co to znaczy "jakość danych" i czym charakteryzują się "dobre dane";
  • z jaki wpływ ma jakość danych na przedsiębiorstwo i jak ten wpływ zmierzyć;
  • z jak dbać o jakość danych i poprawiać już istniejące dane.

Celem MIT jest opracowanie spójnych metod, standardów i kryteriów. A dodatkowo - zintegrowane społeczności osób, dla których zapewnienie jakości danych jest celem działania i profesją.

W Polsce problem jakości danych ma wymiar szczególny, publiczny. W przeciwieństwie do np. USA, nie ma u nas central wielkich, globalnych przedsiębiorstw, gdzie przetwarza się miliardy rekordów i podejmuje tysiące decyzji, z których każda uzależniona jest od zaufania, jakie można mieć do informacji. Natomiast strukturalnie nasze państwo jest od początku do końca chore w ujęciu jakości danych. Kilka klas rejestrów osobowych (urzędy stanu cywilnego, ewidencja ludności, PESEL, NIP, kartoteki osobowe ZUS itd.) to tylko wierzchołek góry lodowej, którą jest jakość danych publicznych w Polsce. Analogicznie wygląda sytuacja z podmiotami gospodarczymi (ewidencje w gminach, KRS, REGON), samochodami i kierowcami, danymi dotyczącymi finansów państwa i jego agend... To przede wszystkim w sferze publicznej są największe wyzwania dla jakości danych.

Ja na razie jednak większość z nas zetknie się z problemem jakości danych w swoim przedsiębiorstwie i będzie musiała problemy rozwiązać metodami i narzędziami dostępnymi dzisiaj. I jakoś będziemy musieli sobie poradzić.

Dbając o jakość danych pamiętajmy o jednej ważnej rzeczy: żeby nie "przedobrzyć". Z jednej strony - zapewnienie jakości danych w mądrze projektowanych systemach nie kosztuje nic albo niewiele. Z drugiej zaś - na zapewnienie jej po fakcie można wydać dowolnie dużo i nigdy nie będziemy uważać, że wszystkie problemy zostały załatwione.

W jakości danych, tak jak w każdej innej działalności, najważniejszy jest zdrowy rozsądek, sceptycyzm w podejściu do obietnic dostawców narzędzi oraz rygorystyczne kontrolowanie efektu ekonomicznego, o który przecież chodzi.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200