Business Intelligence a Data Science
W obszarze biznesowej analizy danych rozróżnić trzeba dwie gałęzie. Określić je można w przybliżeniu poprzez dwa popularne terminy: Business Intelligence oraz Data Science. Pierwszy z nich pozwala na obserwację bieżącego stanu danych biznesowych (np. wielkości sprzedaży, produkcji czy wydajności), tak by umożliwić zrozumienie historycznej oraz obecnej sytuacji firmy. Z kolei drugi wykorzystuje wiedzę z różnych obszarów (m.in. statystyki, machine learningu, matematyki), aby na podstawie danych historycznych wyodrębnić wzorce czy trendy, które pozwolą na dokonanie predykcji na przyszłość.
Z pierwszym z nich użytkownik spotyka się zazwyczaj w formie rozmaitych raportów, wizualizacji czy dashboardów. Z drugim natomiast w postaci modeli, które dla odmiany, przede wszystkim ułatwiają podjęcie kolejnych decyzji w oparciu o prognozy na przyszłość lub nawet podejmują te decyzje same.
PS IMAGO PRO a PS CLEMENTINE PRO
Wśród narzędzi dostępnych w ofercie Predictive Solutions, za Business Intelligence odpowiada PS IMAGO PRO, a Data Science – PS CLEMENTINE PRO. Drugie ze wspomnianych narzędzi umożliwia także kompleksowe zarządzanie wszelkimi procesami analitycznymi. Nic nie stoi na przeszkodzie, aby to z jego poziomu zarządzać obydwoma obszarami. Same narzędzia są dla siebie wzajemnie komplementarne na różnych etapach procesu analizy danych i rekomendowania działań.Dlaczego by więc z tego nie skorzystać i nie zintegrować obu środowisk?
Ale czy w ogóle warto? Co możemy dzięki temu zyskać?
Potencjalnych korzyści jest wiele – najważniejszy jednak wydaje się fakt, że na takim połączeniu mogą zyskać zarówno obszar Business Intelligence, jak i Data Science. Czy decyzje biznesowe podejmowane na podstawie systemu BI nie będą prostsze i skuteczniejsze, jeśli włączymy w nie prognozy na przyszłość albo oszacowanie ryzyka? Znacznie łatwiej przyjdzie nam podjąć decyzję o wielkości produkcji w kolejnym miesiącu, jeśli poza historycznymi danymi będziemy mieć także dostęp do prognozowanej wielkości sprzedaży w tym okresie wraz z możliwymi odchyleniami.
A czy utrzymanie modeli machine learningowych nie będzie mniej uciążliwe, jeśli bieżące oceny ich jakości będą dla nas dostępne w formie aktualnych wizualizacji czy raportów? Stworzenie przejrzystego dashboardu monitorującego kluczowe wskaźniki ewaluacyjne modeli nie tylko przyspieszy ten proces, ale też uatrakcyjni jego obsługę. A to tylko dwa z wielu potencjalnych zastosowań integracji systemów Business Intelligence i Data Science.
Jak widać istnieje wiele powodów, z uwagi na które, korzystna może być integracja wspomnianych wyżej narzędzi. Jak więc przygotować procedurę, która wykorzystuje te możliwości? Omówimy to na odpowiednim przykładzie.
Jak połączyć siły?
W ostatnich wpisach na temat możliwości PS CLEMENTINE PRO dotykaliśmy bardzo aktualnej tematyki, a mianowicie danych epidemiologicznych nt. pandemii COVID-19. Pozostaniemy więc przy tej problematyce. Dane takie dla wielu firm mogą pełnić istotną rolę w podejmowaniu bieżących decyzji biznesowych. Wcielmy się więc w rolę pracownika firmy produkującej środki ochrony osobistej, odpowiedzialnego za system analityczny w zakresie sprzedaży. Naszym celem jest stworzenie procedury, która codziennie będzie generować raport nt. sprzedaży jednego z naszych produktów, zawierający również generowane przez nas niezależnie prognozy. Do jej zrealizowania potrzebne będzie zintegrowanie funkcjonalności PS IMAGO PRO oraz PS CLEMENTINE PRO.
Jak będą wyglądały poszczególne etapy tego procesu i które narzędzia będą za nie odpowiadać?
- Zebranie i integracja potrzebnych danych - m.in. sprzedażowych, epidemiologicznych itd. (PS CLEMENTINE PRO)
- Przygotowanie danych, modelowanie i prognozowanie wielkości sprzedaży (PS CLEMENTINE PRO)
- Przygotowanie danych do raportowania (PS CLEMENTINE PRO)
- Generowanie odpowiednich wizualizacji/wykresów i aktualizacja raportu (PS IMAGO PRO)
Za zarządzanie poszczególnymi etapami (m.in. wyzwalanie odpowiednich procesów w odpowiednim czasie) odpowiedzialny będzie Manager PS CLEMENTINE PRO. O tym, jak automatyzować takie procesy pisaliśmy ostatnio. Dla naszego dzisiejszego wpisu najbardziej kluczowe są etapy 3-4 i ich integracja przy pomocy PS CLEMENTINE PRO. Zakładamy, że etapy 1 i 2 zostały już niezależnie wykonane.
Przygotowanie danych do raportowania
Proces przygotowania danych zdecydowałem się przeprowadzić w PS CLEMENTINE PRO, ale poza kwestią wolumenu danych, nie ma przeciwwskazań aby poprowadzić ten proces przy pomocy procedur PS IMAGO PRO. Oba narzędzia dobrze współpracują zarówno z bazami danych, jak i z plikami w popularnych formatach.
Możliwe podejście to np. stworzenie na bazie danych tabeli gromadzącej wszystkie dane potrzebne do wygenerowania konkretnego raportu. Dane w tabeli byłyby codziennie aktualizowane przy pomocy zadania PS CLEMENTINE PRO. Dalsze działania leżą już po stronie PS IMAGO PRO. Dane należałoby odpowiednio przefiltrować i wyselekcjonowane przy pomocy kodu SQL i pobrać do tego środowiska. Warto pamiętać, że aby połączyć się z bazą należy zainstalować Data Access Pack oraz odpowiednio skonfigurować połączenie ODBC.
Po pobraniu danych w razie potrzeby oczywiście możliwe są dalsze transformacje w tym środowisku – wszystko zależy od wymagań procesu.
Rys 1. Przykładowy syntax PS IMAGO PRO umożliwiający pobranie danych z bazy danych
Generowanie odpowiednich wizualizacji/wykresów i aktualizacja raportu
Kwestie generowania wykresów i wizualizacji, a także tworzenia na ich podstawie raportów w PS IMAGO PRO szeroko omawiamy na naszym blogu – odpowiednie wskazówki znaleźć można po przefiltrowaniu wpisów dla takich kategorii jak wykresy, wizualizacja danych, dashboardy czy PS IMAGO PRO. Do gromadzenia i przeglądania raportów w ramach naszego środowiska służy natomiast moduł PS IMAGO Portal - docelowo chcemy więc, żeby to tam pojawił się raport. O tym narzędziu również można przeczytać na blogu i dowiedzieć się, jak publikować na nim raporty w formie dashboardów
Rys 2. Przykładowa strona raportu prognoz sprzedaży w PS IMAGO Portal
Najistotniejszym pytaniem z naszego punktu widzenia jest to, jak zautomatyzować cały proces aktualizacji raportu i jak go uruchomić przy pomocy PS CLEMENTINE PRO. I to na nim skupimy się w pozostałej części tego wpisu.
Integracja procesów PS IMAGO PRO i PS CLEMENTINE PRO
Do zintegrowania procesów w obu narzędziach niezbędne będzie stworzenie zadania w module Automatyzacja, które połączy wcześniej przygotowane etapy w jedną całość.
Rys 3. Okno menu PS IMAGO PRO w PS Desktop
Po skonfigurowaniu poszczególnych etapów zadania i przejściu dalej, należy ustalić harmonogram wyzwalania na Ad Hoc, określić odpowiednią nazwę (warto ją zapamiętać :) i zapisać).
Rys 4. Okno konfiguracji zadania w PS IMAGO Process
Kolejnym krokiem, który należy wykonać, to zlokalizowanie tak utworzonego zadania w Harmonogramie zadań systemu Windows. Tutaj przyda nam się zapamiętana przez nas nazwa zadania :)
Rys 5. Harmonogram zadań systemu Windows
Po wybraniu zadania i przejścia na zakładkę Akcje, należy najechać na pole Szczegóły, gdzie znajduje się podgląd dwóch ścieżek. Obie będą nam potrzebne do przygotowania procesu uruchomienia zadania z poziomu PS CLEMENTINE PRO. Zamiast je przepisywać, proponuję zlokalizować odpowiednie foldery w Eksploratorze plików, skąd będzie można łatwo skopiować ścieżkę ;)
Rys 6. Zakładka Akcje przykładowego zadania w Harmonogramie zadań systemu Windows
Obie ścieżki posłużą nam do utworzenia prostego pliku wsadowego (batch file), którego rolą będzie uruchomienie zadania. Jego przykładową składnię można zobaczyć na Rys 7. Pierwsza podana ścieżka prowadzi do folderu instalacyjnego modułu PS IMAGO Process. Kolejna ścieżka to lokalizacja pliku odpowiedzialnego za stworzone przez nas zadanie.
Rys 7. Zawartość pliku wsadowego uruchomiającego zadanie PS IMAGO PRO
Tak utworzony plik wsadowy, możemy następnie uruchomić z poziomu skryptu strumienia IBM SPSS Modeler, przy pomocy wbudowanego modułu subprocess.
Rys 8. Skrypt strumienia IBM SPSS Modeler wyzwalający plik wsadowy
Strumień zawierający skrypt uruchomienia zadania PS IMAGO PRO może funkcjonować jako osobne zadanie PS CLEMENTINE PRO odpowiedzialne tylko i wyłącznie za ten proces. Jego uruchomienie można ustalić sztywno na podstawie harmonogramu, jak i jako efekt wcześniejszych zadań (np. zebrania aktualnych danych sprzedażowych oraz prognoz sprzedaży). W przypadku potrzeby generowania osobnych raportów dla większej ilości produktów, możliwe jest utworzenie analogicznego zadania dla każdego produktu. Innym wariantem jest zaprojektowanie zbiorczego raportu wewnątrz PS IMAGO PRO, z osobnymi sekcjami dotyczącymi poszczególnych produktów – w takiej sytuacji do aktualizacji raportu wystarczy uruchomienie pojedynczego zadania PS CLEMENTINE PRO, które odpowiada za uruchomienie również pojedynczego zadania po stronie PS IMAGO PRO. Istnieje także możliwość skonstruowania jednego zbiorczego zadania, które uruchomi generowanie wszystkich potrzebnych raportów na raz, natomiast wymaga ono kontrolowania w skrypcie aktualnie uruchomionych procesów PS IMAGO PRO.
Rys 9. Przykładowa zawartość folderu zawierającego zadania uruchamiające procesy PS IMAGO PRO
Dzięki harmonogramowi zadań PS CLEMENTINE PRO z powodzeniem można automatyzować generowanie raportów cyklicznych o mniejszej częstotliwości – tygodniowych, miesięcznych czy rocznych, a także aktualizowanych na bieżąco dashboardów zarządczych, umożliwiających całościowe spojrzenie na wyniki firmy. Przykładowy dashboard sprzedażowy może wyglądać podobnie jak ten na Rys 10. Oczywiście nic nie stoi także na przeszkodzie, aby generować raporty ad hoc, na żądanie.
Rys 10. Sprzedażowy dashboard zarządczy
PS Portal z kolei zapewnia wygodne ustrukturyzowanie pracy z raportami, z łatwym dostępem do często używanych raportów czy możliwością dodawania do nich dodatkowych, zewnętrznych plików. Podobnie jak PC CLEMENTINE PRO, jest on ukierunkowany na pracę grupową, więc administrator ma pełną kontrolę nad dostępem do odpowiednich raportów dla określonych grup użytkowników.
Rys 11. PS PORTAL
Jak widać pakiety PS CLEMENTINE PRO i PS IMAGO PRO dają szerokie możliwości kombinacji swoich funkcjonalności. Pełna automatyzacja procesów po stronie tego pierwszego pozwala na efektywne zarządzanie procesami Business Intelligence i dostarczanie na czas informacji niezbędnych do podejmowania decyzji biznesowych. Szerokie możliwości PS IMAGO PRO w zakresie wizualizacji umożliwiają natomiast skuteczne przedstawienie kluczowych informacji w formie łatwej do interpretacji przez osoby decyzyjne