Posiadanie wiarygodnych i użytecznych danych adresowych klientów jest istotnym zagadnieniem w każdej firmie świadczącej usługi dla dużej ich liczby. Zagadnienie to, staje się jeszcze istotniejsze, gdy sprzedaż usług realizowana jest wieloma kanałami a dodatkowo planowane jest wdrożenie Customer Single View (CSV), gdzie adres klienta jest kluczowym elementem jego profilu demograficznego.
Przechodząc do meritum: bez względu na wybrane podejście czy narzędzia do realizacji procesu weryfikacji i czyszczenia danych adresowych, cały proces podzielić można na następujące etapy:
1. Parsowanie i normalizacja
Adres (pocztowy/korespondencyjny) składa się z kilku podstawowych składników (zależnych rzecz jasna od kraju, którego tyczy). W Polsce będą tą co najmniej: ulica, numer budynku oraz ew. numer lokalu, miejscowość, kod pocztowy i nazwa miejscowości z placówką pocztową.
Dodatkowymi składowymi adresu mogą być elementy podziału administracyjnego, takie jak gmina, powiat czy województwo. Atrybuty adresu przechowywane są w różnoraki sposób w systemach informatycznych. W wielu wypadkach łączone są ze sobą i przechowywane jako ciąg znaków w jednym polu, stąd w pierwszej kolejności zachodzi konieczność analizy i rozdzielenia poszczególnych elementów.
2. Standaryzacja
W kolejnym kroku, kiedy poszczególne składowe adresu należy wystandaryzować, czyli w szczególności: ujednolicić nazwy ulic (zapisywane na różne sposoby) czy nazwy miast.
3. Walidacja
Dalszy etap procesu polega na zestawieniu sparsowanego i zwalidowanego adresu z danymi referencyjnymi (baza adresowa Poczty Polskiej, Targeo, etc), w celu sprawdzenia jego prawidłowości.
4. Czyszczenie
W ostatnim etapie, wszystkie adresy, w których na etapie walidacji stwierdzono nieprawidłowości, poddawane są procesowi poprawy.
Niezależnie od metody/narzędzia wybranego do realizacji procesu, praktycznie na każdym jego etapie zlokalizowane będą elementy sterujące, które wymagają zmiany/dostosowania. Elementy te –przyjmują najczęściej charakter „słowników”, materializowanych w postaci tabel w bazach danych. Na etapie parsowania będzie to przykładowo zestaw reguł umożliwiających dostosowanie procesu do konkretnego zestawu danych. W ramach standaryzacji będzie to przykładowo słownik mapujący różnie zapisywane atrybuty ulic (Al./Aleja, Plac/Pl.) na jednolite reprezentacje, dostosowane do zestawu danych referencyjnych, który będzie użyty w kolejnym etapie.
Wszystkie te słowniki: reguł, mapujące, etc. wymagają dostosowania w trakcie weryfikacji skuteczności procesu czyszczenia danych. Dodatkowo proces czyszczenia danych może być procesem stałym, polegającym nie tylko na jednorazowym osiągnięciu pożądanego efektu „wyczyszczenia” danych adresowych, ale wykonywanym za każdym razem, gdy zestaw danych poszerzony zostanie o nowe wpisy. W takim wypadku aktualizacja ww. słowników staje się procesem biznesowym trwającym w czasie i angażującym większe grono osób odpowiedzialnych.
W wielu przypadkach proces czyszczenia danych komplikuje się poprzez występowanie różnych czynników. Często mamy do czynienia z wieloma źródłami danych, zawierających adresy. Wówczas na etapie parsowania i normalizacji konieczne jest ujednolicenie różnie nazwanych atrybutów a dodatkowo zachodzi konieczność zdefiniowania kompletów reguł parsujących dostosowanych do charakteru określonego źródła danych. W konsekwencji kolejny etap standaryzacji wymaga również odpowiedniego dostosowania funkcji standaryzujących do przypadków specyficznych dla danego systemu źródłowego. Prowadzi to wprost do wzrostu liczby różnego rodzaju słowników, wykorzystywanych na każdym etapie procesu. I właśnie w tym miejscu znajduje zastosowanie narzędzie do centralnego zarządzania słownikami: pozwala nie tylko na kontrolowane udostępnienie słowników odpowiednim użytkownikom ale również na weryfikację i audyt wprowadzanych przez nich zmian, rozesłanie powiadomień o konieczności wykonania modyfikacji czy weryfikację ich spójności.
We wstępie do artykułu przywiązałem proces czyszczenia danych adresowych klientów do wdrożenia w firmie CSV. Jednak wachlarz zastosowań takiego procesu jest bardzo szeroki: od projektów migracyjnych, gdzie przykładowo konieczne jest zmigrowanie kilku systemów billingowych do docelowego – wówczas czyszczenie danych adresowych jest niezwykle istotnym elementem procesu deduplikacji klientów zarejestrowanych w poszczególnych systemach, przed ich zmigrowaniem do nowego, poprzez zasilanie hurtowni danych, aż po przygotowanie próbek danych dla uczenia modeli AI.
Na koniec chciałbym się podzielić następującą refleksją: z moich doświadczeń wynika, iż bez względu na zdobyte wcześniej doświadczenia, użyte narzędzia, liczbę przygotowanych procedur, etc., każdy kolejne zadanie związane z czyszczeniem danych ma charakter unikalnego projektu. Nie ma dwóch taki samych klientów, dwóch takich samych konfiguracji określonego systemu a do tego ostatecznie większość danych adresowych przez lata wprowadzana była (i nadal jest) do systemów przez człowieka – a wiadomo: Errare humanum est.