Higiena baz danych w biznesie — przykłady i pigułka wiedzy każdego managera

Z tego artykułu: dowiesz się na czym polega higiena baz danych biznesowych i jakie etapy się na nią składają, zobaczysz na konkretnych przykładach jak czyścić bazę, a także zrozumiesz, dlaczego warto przeprowadzać ten proces systematycznie.

Transparent Data
Blog Transparent Data
9 min readFeb 24, 2021

--

Higiena baz danych jako proces

Higiena baz danych, określana też często jako Data cleansing, czyli czyszczenie danych, to de facto nie pojedyncza czynność na bazie danych, ale cały proces, polegający na zastosowaniu kilku technik. Ich cel jest jeden: posiadanie czystej — czyli wiarygodnej, spójnej i kompletnej — bazy danych. Czyste dane to nic innego jak dane wysokiej jakości, dane, którym możemy ufać i w oparciu o które możemy podejmować trafne decyzje. W biznesie, gdzie szacuje się, iż 25% wszystkich danych ulega dezaktualizacji w skali każdego roku, a zanieczyszczone dane przekładają się nawet na 20% mniejsze przychody, jest to szczególnie ważne.

Jako data software house, który na co dzień zajmuje się czyszczeniem danych agregowanych z rejestrów handlowych i różnorakich baz biznesowych naszych Klientów, opowiemy dziś, na czym higiena baz danych polega w praktyce: jakie są poszczególne etapy czyszczenia danych B2B i na czym one polegają. Najpierw jednak przytoczymy kilka dobrych argumentów, dlaczego warto o to zadbać.

Czyszczenie danych biznesowych — wymysł czy konieczność?

W obecnych czasach, systemy informatyczne generują i przetwarzają dziennie niezliczone ilości danych. Z technologicznego punktu widzenia, nie stanowi to dużego wyzwania ani dla naszych komputerów, ani serwerów czy rozwiązań chmurowych. Przy takiej gigantycznej ilości informacji wyzwaniem staje się co innego: higiena baz danych, czyli utrzymanie ich w doskonałej jakości.

Jak wielkie to wyzwanie pokazują dane z najnowszego raportu firmy Experian 2021 Global data Management Research:

  • firmy szacują, że około wszystkich danych biznesowych o Klientach i potencjalnych Klientach jest niedokładna,
  • 55% liderów nie ufa danym, w posiadaniu których są ich organizacje,
  • jedynie 50% uważa, że ​​ich dane CRM / ERP są czyste (tzw. clean data) i można je w pełni wykorzystać.

Co więcej, aż 95% firm zauważa negatywne skutki związane z niską jakością danych.

Argumenty na korzyść dbania o higienę baz danych w firmie

Argumentami na korzyść regularnego czyszczenia danych są przede wszystkim problemy, jakie generują w przedsiębiorstwach nieoczyszczone dane (tzw. dirty data). Dane niskiej jakości:

  • marnują zasoby (ludzkie i czasowe) oraz generują dodatkowe koszty,
  • obniżają wiarygodność analityki i trafność podejmowanych decyzji,
  • powodują opóźnienia w realizacji zadań,
  • negatywnie wpływają na doświadczenia Klientów,
  • szkodliwie wpływają na reputację i zaufanie Klientów,
  • utrudniają przestrzeganie zasad wynikających z obowiązków regulacyjnych (więcej o RegTech).

Higiena baz danych — etapy i przykłady

Różne typy danych wymagają innego podejścia, dlatego techniki używane do czyszczenia danych mogą się nieco różnić między sobą w zależności od bazy danych z jaką mamy do czynienia. Tym niemniej, zazwyczaj bazy klientów biznesowych, jakimi operują polskie firmy, są dość do siebie podobne (zawsze zawierają numery rejestrowe, maile, adresy itp.). Stąd, w dalszej części artykułu skupimy się przede wszystkim na czyszczeniu właśnie tego rodzaju rekordów.

Higiena baz danych B2B to proces, który składa się zazwyczaj z minimum pięciu etapów. Są to:

  1. Walidacja poprawności danych
  2. Formatowanie danych do wspólnej wartości (standaryzacja / uspójnianie)
  3. Czyszczenie duplikatów
  4. Uzupełnianie brakujących danych vs. usuwanie danych niepełnych
  5. Wykrywanie konfliktów w bazie danych

Poniżej opisujemy na czym polega czyszczenie baz danych na kolejnych etapach wraz z prostymi przykładami realizacji.

Etap 1 higieny baz danych: Walidacja poprawności danych

Każda firma, która posiada w swojej bazie rekordy biznesowe, czyli dane dotyczące firm, doskonale wie, że wiele z nich to dane, które należy (i można) sprawdzić pod kątem ich poprawności. Oczywiście przyjąć moglibyśmy, że wszystkie numery NIP, kody pocztowe czy adresy email zostały wpisane do bazy poprawnie albo że rejestr KRS czy CEIDG, w którym weryfikowaliśmy kontrahenta, z pewnością nie zawiera błędów, ale w praktyce tak nie jest. Błędne dane zdarzają się nawet w najlepszych rejestrach publicznych i nie inaczej jest w wewnętrznych bazach danych, do których rekordy wprowadzane są ręcznie przez pracowników.

To właśnie dlatego, walidacja danych, czyli weryfikacja danych pod kątem spełniania pewnych odgórnie przyjętych warunków i zasad logicznych, stanowi pierwszy etap higieny baz danych.

Dla przykładu weźmy walidację listy numerów NIP zaimportowanych z jakiegoś systemu X:

Higiena baz danych, przykład walidacji poprawności: tabela nr 1 z numerami NIP kontrahentów

Jeżeli nie masz doświadczenia w pracy z danymi gospodarczymi, być może nie wiesz, że ostatnia cyfra każdego przyznawanego w Polsce numeru NIP nie jest przypadkowa. Jest to tzw. cyfra kontrolna obliczana na podstawie algorytmu, który można zwalidować (czyli sprawdzić czy rzeczywiście NIP “nie został zmyślony”). W wielkim skrócie, walidacja cyfry kontrolnej polega na pomnożeniu każdej z pierwszych dziewięciu cyfr numeru NIP przez wagi (kolejno: 6, 5, 7, 2, 3, 4, 5, 6, 7), zsumowanie wyników tego mnożenia, a następnie podzielenie końcowej sumy kontrolnej przez 11. Reszta z dzielenia, jaką uzyskamy, powinna być identyczna z ostatnią cyfrą w numerze NIP.

Jeśli przeliczymy sumy kontrolne dla podanych wyżej numerów NIP, to okazuje się, że trzy z nich są niepoprawne: 4980117337, 5260300292, 000000000. Należy je więc usunąć z bazy danych.

Ten etap czyszczenia naszej bazy danych (walidację) przeszły zatem następujące numery NIP:

Higiena baz danych, przykład walidacji poprawności: tabela nr 2 ze zwalidowanymi numerami NIP

Etap 2 higieny baz danych: Formatowanie danych do wspólnej postaci

Następnym krokiem w celu poprawienia jakości bazy danych jest normalizowanie danych do jednolitej postaci. Zabieg ten stosuje się przede wszystkim po to, aby ułatwić wyszukiwanie informacji o danej firmie w bazie.

W tabeli, którą wkleiliśmy wyżej, z miejsca widać, że niektóre numery NIP zapisano z myślnikami, spacjami albo prefiksem “PL”. Teraz trzeba zatem sformatować wszystkie NIPy do wspólnej postaci. Jak? Po pierwsze, skoro wiemy, że jest to baza polskich klientów biznesowych, śmiało możemy pominąć przedrostek z kodem kraju. Po drugie, najkorzystniejszą opcją zapisu w tym przypadku będzie zapis bez znaków specjalnych rozdzielających numery.

W ten sposób, otrzymujemy następujący rezultat:

Higiena baz danych, przykład formatowania danych: tabela nr 3 z numerami NIP

Numery nie są jedynymi wartościami, które możemy doprowadzać w ten sposób do jednolitej formy. Adresy email czy adresy stron www również możemy doprowadzić do wspólnej formy poprzez zapisanie wszystkich małymi literami. A z pewnością warto, bo czym byłaby higiena baz danych, gdyby nie uspójniała i nie ułatwiała korzystania z bazy? No właśnie!

Etap 3 higieny baz danych: Czyszczenie duplikatów

Po ujednoliceniu formatu danych, kolejnym krokiem czyszczenia bazy danych staje się sprawdzenie czy w naszą bazę nie wkradły się duplikaty, których nie udało się wykryć wcześniej z uwagi na inny format zapisu.

Po przeprowadzeniu takiej analizy odkrywamy, że w naszych oryginalnych danych można było znaleźć dwa rekordy z tym samym numerem NIP: 7540335340 oraz 754 033 53 40.

Oczyszczona z duplikatów tabela jawi się następująco:

Higiena baz danych, przykład czyszczenia bazy z duplikatów: tabela nr 4 z numerami NIP

Powyższy przykład ogranicza się do wyszukiwania duplikatów po wartościach z jednej kolumny. W praktyce jednak niektóre dane definiują unikalny rekord po większej liczbie danych rozmieszczonych w różnych kolumnach. Na przykład można wyszukiwać duplikaty osób po imieniu i nazwisku i w tym przypadku użyć dwóch osobnych kolumn — jednej z imieniem i drugiej z nazwiskiem.

Etap 4 higieny baz danych: Uzupełnianie brakujących danych vs. usuwanie danych niepełnych

Kolejnym etapem higieny baz danych jest przeciwdziałanie posiadaniu danych niepełnych. Każdy, kto choć trochę pracuje z danymi, doskonale wie, że informacja, oprócz tego, że musi być wiarygodna i aktualna, powinna być także kompletna. Niepełne, czyli niekompletne dane zanieczyszczają bazę, obniżając jej biznesową jakość.

Jako przykład weźmy adresy kontrahentów B2B, które zapisywane są w CRM w formacie: województwo, gmina, kod pocztowy, miasto i ulica.

Higiena baz danych, przykłady: baza adresowa z brakującymi i niepełnymi danymi

Przyjmijmy, że w naszym systemie chcemy posiadać tylko i wyłącznie kompletne adresy firm, tj. pełne zestawy danych (niekompletne dane nic nam nie wnoszą w proces biznesowy). Możemy podejść do tego tematu w dwojaki sposób:

  1. usunąć wszystkie rekordy, które posiadają pustą wartość w dowolnym polu (co nie jest wszak rozwiązaniem idealnym, bo tracimy sporą część informacji),
  2. uzupełnić rekordy niepełne (co jest zdecydowanie lepszym wyborem, zważywszy na to, że przecież województwo czy gminę możemy łatwo uzupełnić na podstawie nazwy miasta lub kodu pocztowego), a jedynie to, czego nie da się odratować uzupełnieniem (w tym przypadku, m.in. zestawy z pustymi informacjami o ulicy) usunąć.

Decydujemy się oczywiście na czyszczenie bazy danych tym drugim sposobem.

Aby ułatwić sobie to zadanie i wykonać je w pełni profesjonalnie, koniecznie musimy określić pewne powtarzalne i wyczerpujące reguły, które kolejno będą miały zastosowanie do tego zbioru danych. Przyjmują one następującą postać:

  1. Jeżeli pole województwo jest puste, uzupełniamy je na podstawie miasta.
  2. Jeżeli pole miasto jest puste, sprawdzamy czy możemy ustalić nazwę miasta na podstawie pola kod_pocztowy (nie zawsze będziemy w stanie to wykonać — istnieje bowiem wiele wspólnych kodów pocztowych dla różnych mniejszych miast i wsi).
  3. Jeżeli pole gmina jest puste, uzupełniamy je na podstawie miasta i kodu pocztowego.
  4. Wprowadzamy kilka reguł czyszczących dane w kolumnie ulica, takich jak czyszczenie ciągów znaków null czy usuwanie wartości, gdzie nie ma innych liter poza ul.
  5. W ostatnim kroku pozbywamy się rekordów, które nadal pozostały z pustymi wartościami w dowolnym z pól pojedynczego zestawu danych.

Po zastosowaniu powyższego zbioru reguł, nasza oczyszczona baza danych wygląda następująco:

Higiena baz danych, przykłady: uzupełniona baza adresowa

Etap 5 higieny baz danych: Wykrywanie konfliktów w bazie danych

Ostatnim krokiem naszego procesu poprawiania jakości danych jest tzw. wykrywanie konfliktów. W terminologii pracy z danymi, poprzez konflikty rozumie się dane ze sobą sprzeczne lub wykluczające się. Jak można się łatwo domyślić, prawidłowo wykonana higiena baz danych ma na celu je wszystkie namierzyć i odpowiednio oznaczyć.

Kontynuując przykład z bazą adresów, możemy sprawdzić np. czy kod pocztowy, miasto i gmina pasują do wpisanego województwa czy też gdzieś występują konflikt. Przeprowadzając taką analizę szybką zauważymy, że jeden z rekordów jest niepoprawny:

Higiena baz danych, przykłady: wykrywanie konfliktów w bazie danych

W tym zestawie danych, województwo nie pasuje do reszty podanego adresu.

Co teraz można zrobić z takim konfliktem? Jeżeli wiemy, kto wprowadzał dane do systemu, należy skontaktować się z tą osobą, aby wyjaśnić błąd i wprowadzić poprawne wartości. Jeżeli jednak jest to z jakiś powodów niemożliwe, należy przede wszystkim odpowiednio oznaczyć ten rekord w bazie danych. Dzięki temu, w przyszłości łatwiej będzie podjąć nam decyzję czy użyć takiego rekordu czy nie w dalszym przetwarzaniu danych. Dzięki temu, w przyszłości, gdybyśmy chcieli na przykład przeprowadzić badanie statystyczne w podziale na województwa, będziemy mogli po prostu pominąć takie skonfliktowane, “niepewne” rekordy, aby nie wprowadzać błędów do obliczeń.

Niekiedy, higiena baz danych rekordów B2B zawierających numery NIP, obejmuje jeszcze jedną czynność, którą podchodzi pod wykrywanie konfliktów, a na celu ma sprawdzenie aktualności informacji: mianowicie, wykrywanie konfliktów w danych z innymi rejestrami, czyli weryfikację czy dane przedsiębiorstwo posiada aktywny status biznesowy w KRS lub CEIDG. Wówczas, firmy, które zostały wykreślone lub zawieszone w rejestrach odpowiednio się oznacza, tak aby móc później zdecydować, czy chcemy je usunąć z bazy.

Kilka słów na koniec, czyli jak często robić higienę bazy danych

Higiena baz danych biznesowych naszych Klientów i potencjalnych Klientów, to nie temat, który możemy pozostawić sam sobie. Żaden dobry manager nie powinien z góry zakładać, że pracownicy różnych działów, nigdy nie popełnili i nie popełnią błędów przy wprowadzaniu nowych danych albo że każdy będzie się trzymał jednolitych standardów zapisu. Błąd to rzecz ludzka, stąd na czyszczenie danych w przedsiębiorstwie po prostu koniecznie musi się znaleźć czas. Albo powinien to wykonywać odpowiednio przeszkolony pracownik (analityk danych / programista ze znajomością specyfiki pracy z danymi), albo zlecić to zadanie powinniśmy specjalizującej się w tej tematyce zewnętrznej firmie, najlepiej takiej, która posiada certyfikat bezpieczeństwa informacji ISO/IEC 27001.

Jak często należy przeprowadzać higienę baz danych w firmie? Cóż, to zależy od wielkości bazy. Średnie i duże przedsiębiorstwa, posiadające rozbudowaną liczbę rekordów, powinny powtarzać czyszczenie bazy danych co 3–6 miesięcy. Mniejszym firmom wystarczy higiena bazy danych mniej więcej raz w roku.

Autorzy artykułu:

Mateusz Antkowiak | Programista PHP w Transparent Data

Zawodowy programista od prawie dekady. Swoje podróże z kodem rozpoczynał od takich egzotycznych kierunków jak Lazarus Pascal czy Delphi, a obecnie, ciągnie go w stabilne wody programowania obiektowego. Posiada ogromne doświadczenie w automatyzacji procesów, co przydaje się w jego obecnych RegTech taskach w Transparent Data |Prześwietl.pl.

Magdalena Nowaczyk | Marketing & PR Manager w Transparent Data

Nasz człowiek od komunikacji marki i produkowania słów na metry. Tłumaczy technologiczne zawiłości na język H2H i nie boi się trudnych tematów. W branży marketingowej pracuje od ponad 9 lat, z czego prawie 5 w naszej firmie.

--

--