1 Wstęp Eksploracja danych (ang. Data Mining) wiąże się ściśle z pojęciem Pozyskiwanie Wiedzy z baz danych(ang. KDD - Knowledge Discowery in Databases). Jak sama nazwa wskazuje, zainteresowanie badaczy koncentruje się na odkrywaniu technik i metod pozwalających na odkrycie interesujących wzorców, zjawisk, faktów w gąszczu danych, gromadzonych w olbrzymich nieraz, bazach danych. Jedną z dziedzin, która szczególnie zainteresowana jest efektami tych badań jest biznes. W procesie swego działania gromadzi on wielkie ilości danych, które stanowią podstawę podejmowanych decyzji biznesowych. Każde narzędzie, które pozwala na polepszenie jakości tych decyzji (czyli zwiększenie zysku), jest jak najbardziej pożądane, a narzędzia tworzone w ramach eksploracji danych dają takie rezultaty. Niniejszy artykuł skupia się na jednej z technik stosowanych w eksploracji danych, mianowicie na grupowaniu (ang. clustering). Autor formułuje potrzebę segmentacji bazy klientów oraz bazy katalogu towarów. Problem ten przedstawiono w postaci takiej, aby do jego rozwiązania możliwe było zastosowanie wymienionej techniki eksploracji danych: grupowania. 2 Eksploracja danych w biznesie Eksploracja danych jako dziedzina zajmuje się poszukiwaniem interesujących wzorców w zgromadzonych danych. W tej definicji szczególnie trudne staje się precyzyjne określenie znaczenia terminu interesujące. W tym celu tworzone są kryteria takie jak nośnik czy wiarygodność [AIS93], mówi się o zawartości informacyjnej [SG91], nie trywialności, nieoczekiwanych i niespodziewanych rezultatach [LH96]. W zakresie wykorzystania eksploracji danych w biznesie, w szeroko pojętym zarządzaniu termin „interesujący” nabiera jeszcze jednego znaczenia. Wzorzec pozyskany z danych jest interesujący jeżeli można go wykorzystać w trakcie podejmowania decyzji biznesowych: Samo znalezienie wzorca nie wystarcza, należy być zdolnym do wykrywania sytuacji pasujących do tego wzorca, wykorzystania go, podjęcia na tej podstawie decyzji zwiększającej wartość przedsiębiorstwa [BL97]. Założenia do zastosowania eksploracji danych w biznesie zostały przedstawione w [KPR98]. Według tych założeń sprzedawca podejmuje decyzje biznesowe w celu maksymalizacji zysku. Można powiedzieć, że zysk jest funkcją, którą należy maksymalizować: Z(D, f ) = max f (x), (1) x∈D gdzie D jest zbiorem wszystkich możliwych do podjęcia decyzji (strategii marketingowych, celów strategicznych, planów rozwoju), a f (x) jest użytecznością decyzji x odzwierciedlającą trwałość (istnienie) przedsiębiorstwa oraz wielkość możliwego do osiądnięcia zysku. Tak sformułowany problem optymalizacji leży u podstaw zarządzania każdym przedsiębiorstwem. Przy czym w rzeczywistym 1 świecie zagadnienia te są tak skomplikowane i złożone, że nikt nie jest w stanie stworzyć dokładnego modelu umożliwiającego weryfikacje hipotez. Podejmujący decyzje opierają się o przybliżone zasady rządzące zachowaniem się obiektów biorących udział w analizie, znają jedynie naturę zjawisk czy pewne heurytyczne zależności. Natomiast wiele z informacji nie jest znanych, część danych może być niewiarygodna, od przyjętych zasad mogą występować wyjątki i odstępstwa. Podejmowanie decyzji w takim środowisku wymaga stosowania odpowiednich narzędzi i technik zdolnych do przetwarzania i analizy tak skomplikowanych zagadnień oraz odpornych na niebezpieczeństwa i zakłócenia możliwe do wystąpienia w jego trakcie. W równaniu 1 występują dwa obszary. Pierwszy D, obszar podejmowanych decyzji, obejmuje wn przedsiębiorstwa, decyzje dotyczą tylko tych elementów na które przedsiębiorstwo ma bezpośredni wpływ : wielkość produkcji, jakość, cena, nakłady badawczo-rozwojowe, na marketing i reklamę. Drugi obszar, oznaczony jako f (x) jest funkcją interakcji przedsiębiorstwa z otoczeniem, do którego należą klienci, dostawcy, pracownicy, rynek jako taki. Poszczególne obiekty z otoczenia, zwane również agentami, mają swój odrębny wpływ na uzyskiwana wartość. Czyli można napisać: X f (x) = fy0 (x), (2) y∈Y gdzie Y jest zbiorem agentów wchodzących w interakcję z przedsiębiorstwem. Ponieważ każdy klient ma swój niezależny wkład w zysk, globalny zysk przedsiębiorstwa jest sumą wkładów uzyskanych od każdego klienta w wyniku podejmowanych decyzji biznesowych. Podejmując jednakową decyzję dla wszystkich klientów (każdego obsługując według takich samych reguł) nie otrzyma się optymalnych rezultatów, zysk nie będzie maksymalny. Dobre rezultaty otrzymuje się indywidualnie podejmując decyzje dla każdego klienta osobno. Wadą takiego podejścia jest koszt samego procesu podejmowania decyzji, który obciąża każdego klienta indywidualnie oraz koszt zastosowania decyzji, który maleje wraz ze wzrostem liczby klientów do niego stosowanych (maleje koszt jednostkowy stosowania). Lepszym rozwiązaniem jest zastosowanie segmentacji portfela klientów. Polega to na podziale klientów na k grup, w której dla każdego klienta podejmuje się tą samą decyzję, dla różnych grup są różne decyzje. Inaczej mówiąc podejmuje się k decyzji biznesowych i każdego klienta obsługuje się zgodnie z tą decyzją, która daje najlepszy wynik. 3 Segmentacja klientów Przedstawiając powyższy problem w postaci formalnej przedstawiamy: zbiór klientów jako zbiór agentów Y oraz zbiór strategii marketingowych jako zbiór decyzji D. Wartość funkcji zależy teraz również od podjętej decyzji więc otrzymujemy: 2 Z(D, f ) max x∈D X fy0 (xy ). (3) y∈Y Możliwe jest że do części z klientów będzie przypisana ta sama strategia marketingowa. Ponieważ ilość klientów jest zazwyczaj znacznie większa od ilości możliwych strategii |Y| >> |D| to podstawowym problemem jest podzielenie bazy klientów na zbiory przypisane do różnych strategii, w literaturze zwany jako zagadnienie segmentacji bazy klientów. Samo zagadnienie segmentacji ma wiele aspektów, jednak jako problem optymalizacyjny jest ściśle związane z zagadnieniem grupowania, będącym zagadnieniem algorytmicznym z zakresu eksploracji danych [JD88]. Grupowanie kontrahentów opiera się na następujących przesłankach: 1. Nie jest tak, że wszyscy kontrahenci są jednakowi, tzn. że postępują według takich samych reguł - kupują te same towary w takich samych odstępach czasu, są jednakowo wrażliwi na przedstawiane im warunki takie jak cena, jakość, transport, obsługa itd. W rzeczywistości każdy kontrahent jest reprezentowany przez osobę lub grupę ludzi, a jak wiadomo nie ma dwóch identycznych ludzi na świecie, więc i kontrahenci będą się różnie zachowywać. 2. Mimo różnorodności, z punktu widzenia dostawcy kontrahentów, można i należy (zgodnie z obecnymi trendami zarządzania i marketingu) pogrupować zgodnie ze stopniem podobieństwa (tak jak ludzie są do siebie mniej lub bardziej podobni, tak samo można mówić o podobieństwie przedsiębiorstw). 4 Grupowanie Jak już powiedziano grupowanie (ang. clustering) wywodzi się z szerszego pojęcia jakim jest klasyfikacja bezwzorcowa. Grupowanie powszechnie traktuje się jako uczenie bez nadzoru, w którym uczeń otrzymuje zbiór trenujący, zawierający przykłady bez określania ich kategorii (przykłady nieetykietowane). Właściwe kategorie uczeń musi zaproponować samodzielnie na podstawie pewnej zasady grupowania, wbudowanej w algorytm lub częściowo definiowanej przez użytkownika Poprzez grupowanie można również rozwiązać problemy z gatunku odkrywania struktury w danych oraz dokonywanie uogólniania. Grupowanie często jest pierwszym krokiem w procesie poznawania danego zjawiska na podstawie zbioru obserwacji. Jest to forma maszynowego uczenia bez nadzoru a celem jest uzyskanie hierarchii pojęć opisujących dane zjawisko. Grupowanie wywodzi się z taksonomii numerycznej oraz analizy skupień i w swym podstawowym ujęciu zajmuje się otrzymywaniem zapisu podziału obiektów na grupy przy pomocy metod algorytmicznych. Jakkolwiek jest to główne zadanie grupowania, to jednak z powodu braku lub słabego wykorzystywania 3 różnych aspektów wiedzy dotyczących zbioru obiektów, ich atrybutów i środowiska, uzyskiwane rezultaty mogą odbiegać od oczekiwań. Kolejnym problemem jest uzyskiwanie wyników w postaci trudno przekształcalnej na pojęcia służące charakteryzacji danego zjawiska. Ideę grupowania pojęciowego (ang. conceptual clustering) przedstawiono w W tym celu stosuje się odpowiednie algorytmy grupowania, których wyniki łatwo dają się przedstawić w formie pojęć czy koncepcji, oraz które umożliwiają uwzględnienie dostępnej wiedzy np. poprzez stosowanie miary bliskości odzwierciedlającej zależności pomiędzy atrybutami. 5 Koncepcje grupowania kontrahentów Grupowania kontrahentów (czy też segmentacji bazy klientów zgodnie z terminologią marketingową) dokonuje się w oparciu o zgromadzone dane, które można powiązać z poszczególnymi kontrahentami. Proces grupowania silnie zależy od pochodzenia i rodzaju danych oraz reprezentowanych informacji. W niniejszym opracowaniu rozpatrywane są dane związane z przeprowadzonymi transakcjami sprzedaży. Grupowania można dokonać z uwagi na następujące rodzaje informacji: — zrealizowany przychód, — zróżnicowanie asortymentowe. Poszczególne podejścia różnią się od siebie szczegółowością traktowania danych wejściowych. Najczęściej dokonuje się wstępnej agregacji (selekcji cech) w celu zmniejszenia ilości wymiarów w analizowanych danych. Zaproponowano wykorzystanie algorytmu grupowania rozmytego do grupowania kontrahentów w oparciu o dwie metody obliczania podobieństwa pomiędzy kontrahentami: • wykorzystanie wektora przychodów zrealizowanych w poszczególnych grupach asortymentowych • wykorzystanie macierzy podobieństw pomiędzy towarami i w oparciu o funkcję harmoniczne zaproponowano metodę grupowania kontrahentów • wykorzystanie danych lingwistycznych, zapisanych w nazwach towarów do opisania kontrahenta i na tej podstawie dokonanie grupowania 6 Potrzeba grupowania w katalogu towarów O ile segmentacja bazy klientów jest powszechnie znanym zagadnieniem zarówno marketingowym jak i w ramach eksploracji danych, to baza towarów/produktów stosunkowo rzadko jest przedmiotem badań. Ponieważ to właśnie towary są atrybutami, według których dokonuje się porównywania, oceny i grupowania kontrahentów to autor przedstawił własne wyniki badań w tym obszarze oraz przykłady ich wykorzystania do głównego zagadnienia jakim jest segmentacja bazy klientów. Grupowanie w katalogu towarów jest istotnym ogniwem w trakcie eksploracji bazy danych przedsiębiorstwa. W rzeczywistych środowiskach można spotkać 4 katalogi liczące kilkaset lub wiele tysięcy pozycji. Szczegółowa analiza pojedynczych pozycji, aczkolwiek możliwa, jest nieskuteczna z punktu widzenia eksploracji danych. Minimalne różnice pomiędzy towarami, skutkujące odrębnym sposobem rejestracji transakcji (różne identyfikatory) są nieistotne w toku poszukiwania wiedzy. Wiele technik takich jak uogólnianie, streszczanie, agregacja, OLAP opartych jest na klasyfikacji katalogu towarów. Dzięki klasyfikacji można dokonywać przetwarzania na wielu poziomach abstrakcji Wiele katalogów towarów posiada informacje o klasyfikacji poszczególnych pozycji. Dane te są wprowadzane ręcznie zgodnie z przyjętą w przedsiębiorstwie systematyką katalogu towarów. Niestety taka klasyfikacja posiada szereg wad: 1. Nie każdy katalog towarów jest wyposażony w dane klasyfikacyjne. 2. Nie zawsze wpisy o klasyfikacji towaru są uzupełniane. 3. Klasyfikacja odzwierciedla tylko podstawowe cechy towaru. 4. Klasyfikacja tworzona jest ręcznie, przez co trudno dokonywać na niej znaczących modyfikacji. 5. Wprowadzanie nowych rodzajów towarów winno skutkować modyfikacją istniejącej systematyki, co czasami jest bardzo długotrwałe. 6. Klasyfikację tworzy się indywidualnie dla danego przedsiębiorstwa, w oparciu o bieżące potrzeby, co może skutkować uniemożliwieniem realizacji przyszłych wymagań. Alternatywą może być stworzenie automatycznego systemu klasyfikowania towarów. Poniżej zaproponowano sposób tworzenia takiego systemu. Opiera się on na grupowaniu przy wykorzystaniu funkcji podobieństwa opartej na informacji zawartej w nazwach towarów. Wykorzystuje również teorię granular computing. Takie podejście omija część ograniczeń ręcznej klasyfikacji: 1. System zapewnia sklasyfikowanie każdej pozycji towarowej. 2. System opiera się na wiedzy ekspertów z danej dziedziny, istnieje możliwość wprowadzania nowych informacji. 3. Istnieje możliwość modyfikacji parametrów klasyfikacji, co przekłada się na otrzymywane rezultaty. 4. Brak ograniczeń w ilości analizowanych pozycji. Jak już wskazano w 6 grupowanie w katalogu towarów jest istotnym ogniwem w trakcie eksploracji bazy danych przedsiębiorstwa. Baza zawierająca katalog istnieje niemal we wszystkich systemach informacyjnych przedsiębiorstw. Wśród wielu danych opisujących daną pozycję towarową na potrzeby niniejszych rozważań istotny jest słowny zapis nazwy danej pozycji towarowej. Dzięki analizie tej nazwy można dokonać porównania nazw poszczególnych towarów i dalej dokonać grupowania. Grupowanie może zautomatyzować bądź wspomóc tworzenie nowych i polepszanie starych klasyfikacji towarów. Grupowanie winno się odbywać przy następujących założeniach: 5 — towary są łączone na podstawie posiadanych wspólnych wartości atrybutów, — nie dokonuje się wstępnej kwantyzacji atrybutów symbolicznych, — podobieństwo zależy od atrybutów porównywanych obiektów ale również korelacji z innymi obiektami, — poszczególne atrybuty mają różną wagę, którą należy oszacować na podstawie dostępnych danych, — zakłada się istnienie dodatkowych, możliwych do wykorzystania informacji. 7 Podsumowanie Sformułowanie problemu, tak aby możliwe było zastosowanie grupowania do jego rozwiązania to dopiero początek prac. W dalszej kolejności należy dokonać właściwego przygotowania bazy danych oraz zaadaptować algorytmy grupowania do tak sformułowanego problemu. Są to główne kierunki dalszy prac autora. [Hug01] [AMS+ 96, HKK97, HF95] [KPR98, AIS93, GP02]. [AIS93, AMS+ 96, BMUT97, DMR98] [BL97]. wykorzystanie [Maz02a] [Maz02b] Literatura [AIS93] R. Agrawal, T. Imielinski, A. N. Swami. Mining association rules between sets of items in large databases. P. Buneman, S. Jajodia, redaktorzy, Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, strony 207–216, Washington, 26–28 1993. [AMS+ 96] R. Agrawal, H. Mannila, R. Srikant, H. Toivonen, A.I. Verkamo. Fast discovery of association rules. Advances in Knowledge Discovery and Data Mining, strony 307–328, 1996. [BL97] M. J. Berry, G. Linoff. Data Mining Techniques. John-Wiley, New York, 1997. [BMUT97] S. Brin, R. Motwani, J. D. Ullman, S. Tsur. Dynamic itemset counting and implication rules for market basket data. ACM SIGMOD International Conference on Management of Data, strony 255–264, 1997. [DMR98] G. Das, H. Mannila, P. Ronkainen. Similarity of attributes by external probes. Knowledge Discovery and Data Mining, strony 23–29, 1998. [GP02] P. Guidici, G. Passerone. Data mining of association structures to model consumer behaviour. Computational statistic and data analysis, 2002. 6 [HF95] J. Han, Y. Fu. Discovery of multiple-level association rules from large databases. Proc. of Int’l Conf. on Very Large Data Bases (VLDB’95), Zürich, Switzerland, strony 420–431, 1995. [HKK97] E. Han, G. Karypis, V. Kumar. Scalable parallel data mining for association rules. Proceedings of ACM SIGMOD, 1997. [Hug01] A. M. Huges. Making your database pay off using recency frequency and monetary analysis. Database Marketing Institute, 13(8):841– 847, 2001. [JD88] A. K. Jain, R.C. Dubes. Algorithms for Clustering Data. Prentice Hall, New Jersey, 1988. [KPR98] J. Kleinberg, C. Papadimitriou, P. Raghavan. Segmentation problems. Proceedings of the ACM Symposium on Theory of Computing, strony 473–482, 1998. [LH96] B. Liu, W. Hsu. Post-analysis of learned rules. AAAI/IAAI, Vol. 1, strony 828–834, 1996. [Maz02a] D. Mazur. Computing similarity measure based on names of goods for fuzzy clustering. Methods of Artificial Intelligence, Gliwice, 2002. [Maz02b] D. Mazur. Wykorzystywanie danych określonych lingwistycznie w systemach pozyskiwania wiedzy. SWO, Ustroń, 2002. [SG91] P. Smyth, R. M. Goodman. Rule induction using information theory. Piatetsky-Shapiro, G. and Frawley, W.J. (Eds.),Knowledge Discovery in Databases, strony 159–176, 1991. 7