Przejdź do głównej zawartości

Czym są wskaźniki KPI?

KPI (ang. Key Performance Indicator) to wskaźniki kondycji firmy, prezentujące dane za pomocą ikon graficznych. Ich podstawą są dane z bieżącego okresu, w porównaniu do danych z okresu poprzedniego. Funkcja przypomina, operację z systemu Wapro Mag Porównuj ostatnią cenę dla kontrahenta, z tą różnicą, że wskaźniki KPI nie ograniczają się do porównywania cen, a pozwalają na analizę różnych obszarów firmy np. wartości sprzedaży, zysku, obrotów magazynowych czy zrealizowanych zamówień.

  • Kolumna WARTOŚĆ zawsze prezentuje wartość bieżącej miary w wybranym okresie, np. zysk w miesiącu listopad roku 2022.

  • Kolumna CEL prezentuje cel, do którego dążymy w przypadku wskaźników predefiniowanych; jest to wartość z analogicznego okresu poprzedniego, np. listopad 2022 z uwzględnieniem 15% wzrostu.

  • Kolumna STATUS prezentuje, czy wartość bieżąca jest większa, mniejsza czy równa w odniesieniu do zakładanego celu (15% wzrost).

  • Kolumna TREND prezentuje wartość z ilorazu pomiędzy wartością bieżącą a wartością z analogicznego okresu poprzedniego, jeśli wartość ilorazu:

    • jest > 1, to trend jest rosnący,
    • jest z przedziału > 0.98 a <= 1, to trend jest neutralny,
    • jest < 0.98, to trend jest malejący.
Podpowiedź

Do prawidłowego wyliczania wartości podczas używania wskaźników KPI, potrzebne jest umieszczenie na tabeli przestawnej hierarchii "Data" z wymiaru czasu. Dla przykładu, jeśli użytkownik podczas definiowania własnej analizy z wykorzystaniem KPI dodaje czas, powinien umieścić przynajmniej rok i miesiąc w wymiarze czasu. Na tej podstawie system utworzy tzw. hierarchię czasu o nazwie "Data". Użytkownik powinien wybrać z listy właśnie poziom "Data" na oś X lub Y, a nie poszczególne elementy rok lub miesiąc.

Użytkownik programu w wariancie BIZNES otrzymuje predefiniowane wskaźniki za pomocą, których może dokonać analizy, ale nie może zmienić definicji wskaźników - za wyjątkiem ikon graficznych, jakie mają być prezentowane w analizie.

Wariant PRESTIŻ umożliwia utworzenie własnych wskaźników, które będą uwzględniały, np. sezonowość, czyli inny współczynnik wzrostu w różnych miesiącach, czy też różne współczynniki wzrostu dla danych kategorii asortymentowych lub konkretnych handlowców. Dodatkowo wariant ten umożliwia wykonanie powielania wskaźników systemowych, dzięki czemu można na podstawie systemowych wskaźników dokonać modyfikacji formuł pod realia firmy.

Każdy wskaźnik KPI składa się z czterech podstawowych elementów:

  • wartość miary w bieżącym okresie, która będzie analizowana;
  • cel, do którego się odnosimy, np. wartość z poprzedniego z analogicznego miesiąca roku poprzedniego, pomnożona przez współczynnik X;
  • status, czyli prezentacja graficzna porównania wartości i celu;
  • trend, czyli prezentacja graficzna formuły, która wylicza, czy trend jest wzrostowy, neutralny czy malejący.
Warto wiedzieć

Definicja wskaźników tworzona jest na podstawie języka MDX, który pozwala na operowanie miarami i wymiarami stosowanymi w analitycznych kostkach wielowymiarowych.

Poniżej zaprezentowano wygląd okna definiowania wskaźników KPI z definicją systemowych wskaźników.

wapro publikowanie analiz

Jak zdefiniować własne wskaźniki KPI?

W wariancie PRESTIŻ użytkownik może tworzyć własne wskaźniki samodzielnie lub powielać i modyfikować istniejące działanie systemowe. Tworzenie wskaźnika polega na zdefiniowaniu kilku formuł w poszczególnych polach. Pomocne mogą być funkcje dostępne z języka MDX, które pozwalają pobierać w sposób dynamiczny pewne wartości lub się do nich odwoływać. Poniżej, na podstawie systemowego wskaźnika, wyjaśniono znaczenie poszczególnych formuł.

Nazwa

Nazwa wskaźnika odpowiada za prezentowanie go na liście dostępnych miar oraz jest istotna w przypadku używania funkcji KPIGOAL oraz KPIVALUE.

Należy zwrócić uwagę, aby, odwołując się w funkcjach do bieżącego wskaźnika, podawać jego dokładną nazwę - w innym przypadku wartości nie zostaną obliczone.

Przynależność do grupy

Przynależność do grupy pozwala zdefiniować w jakiego rodzaju analizach dany wskaźnik ma być dostępny. Należy pamiętać aby przypinając dany wskaźnik do danej grupy, posługiwać się nazwami miar i wymiarów, które faktycznie w danej grupie istnieją. Dla przykładu wskaźnik, który będzie odwoływał się do miary [Measures].[Zysk netto] nie będzie działał z analizą zamówień, ponieważ taka miara tam nie występuje.

Wartość - formuła

Wartość określa daną, którą będziemy porównywać we wskaźniku KPI. Można w tym miejscu wpisać wartość stałą, np. 10000, ale nie ma to praktycznego zastosowania. Zazwyczaj w tym miejscu, podaje się którąś z miar poprzez zastosowanie kolekcji [Measures] (stała nazwa wymagana przy podaniu miary) oraz nazwy miary podanej w nawiasach kwadratowych, np. [Measures].[Zysk Netto].

Cel - formuła

Cel to wartość, pożądana do osiągnięcia. Wprowadić ją można analogicznie jak do pola Wartość - jakość stała, ale w praktyce cel buduje się dynamicznie, np. wartość z roku poprzedniego zwiększona o X% lub wartość wyliczana np. per miesiąc, per handlowiec, per kategoria towarowa czy też per produkt.

W naszym przypadku formuła pobiera wartość z analogicznego okresu roku poprzedniego i zwiększa ją o 15%. Dla przykładu dla roku 2022 będzie odniesienie do roku 2021, na niższym poziomie dla grudnia 2022 będzie odniesienie do grudnia 2021, analogicznie dla pozostałych miesięcy.

Przykładowa formuła systemowego wskaźnika "Sprzedaż zysk - KPI" to:

Round((ParallelPeriod ([Data].[Data].[Rok], 1, [Data].[Data].CurrentMember),[Measures].[Zysk Netto] )*1.15,2)

  • Round(X,Y) - funkcja pozwala zaokrąglić wynik do wskazanej liczby miejsc po przecinku, gdzie "X" to wartość do zaokrąglenia, a "Y" to liczba miejsc po przecinku.

  • ParallelPeriod(Hierarchia, OkresPrzesunięcia, BieżącyElement) - pozwala na dynamiczne pobranie wartości z analogicznego okresu w odniesieniu do hierarchii czasu. W tym przypadku użyto hierarchii "Data" ze wskazaniem jej najwyższego poziomu czyli "Hierarchia Data", "Poziom Hierarchii", "Data" i jej otomek "Rok". Wartość "1" oznacza przesunięcie na osi czasu w lewo o jeden okres, dla roku będzie to poprzedni rok, dla miesiąca, analogiczny miesiąc roku poprzedniego.

  • Odwołanie poprzez funkcję CurrentMember - pozwala wskazać, że wyliczenie (przesunięcie) można wykonywać, dla każdego rekordu, który aktualnie jest obliczany.

  • Miara [Measures].[Zysk Netto] - to wskazanie miary, która ma być obliczana, w tym przypadku to "Zysk netto", element [Measures] jest stały i należy zawsze poprzedzić nazwę miary tym elementem oraz kropką. Jest to kolekcja miar do dyspozycji (pochodzi ona z listy miar dostępnej w danej analizie).

  • Wyrażenie *1,15 - stałe wyrażenie, które zakłada, że wartość odczytaną z poprzedniego okresu, należy pomnożyć przez 115%, aby uzyskać wartość wynikową.

W skrócie algorytm możemy przetłumaczyć do zapisu "Pobierz dla każdego rekordu wartość z analogicznego okresu roku poprzedniego i pomnóż przez 115% - to jest cel, jaki masz porównywać z wartością".

Status - formuła

Status to formuła, która powinna w wyniku zwrócić jedną z trzech wartości -1/0/1. Należy napisać funkcję tak, aby wartość pochodziła z tego zbioru, gdzie -1 oznacza ŹLE, 0 NEUTRALNIE, a 1 DOBRZE.

CASE
WHEN IsEmpty(KPIVALUE("Sprzedaż zysk - KPI")) THEN NULL
WHEN KPIVALUE("Sprzedaż zysk - KPI") > KPIGOAL("Sprzedaż zysk - KPI") THEN 1
WHEN KPIVALUE("Sprzedaż zysk - KPI") = KPIGOAL("Sprzedaż zysk - KPI") THEN 0
ELSE -1
END

Przedstawiona formuła korzysta z kilku funkcji przydatnych w obliczaniu dynamicznym wartości.

  • Funkcja CASE ... WHEN ... THEN ... ELSE... END - pozwala zbadać wartości poprzez porównanie w stylu: jeśli warunek jest spełniony, to "COŚ_1", a jeśli nie, to "COŚ_2".
Warto wiedzieć

Ilość poziomów WHEN nie jest ograniczona, dzięki czemu można przygotować na podstawie tej funkcji np. inne dynamiczne warunki dla każdego miesiąca, handlowca czy działu firmy.

  • Funkcja IsEmpty sprawdza, czy wartość z poprzedniego okresu (w tym przypadku, wynika to z funkcji KPIVALUE) jest pusta. Może to oznaczać, nie ma np. zysku z poprzedniego roku, ponieważ nie było sprzedaży. Jeśli ten warunek jest spełniony, to funkcja zwraca "NULL", dzięki czemu kontrolki graficzne nie prezentują danych dla pustych rekordów i analiza jest czytelniejsza.

  • Funkcja KPIVALUE("nazwa_wskaźnika") - pozwala odnieść się do wartości w podanym wskaźniku, jest to nazwa wskaźnika, z którego chcemy pobrać wartość. W większości przypadków chodzi o wskaźnik bieżący, należy więc wskazać wartość z pola Nazwa.

  • Funkcja KPIGOAL("nazwa_wskaźnika") - pozwala odnieść się do pola Cel - formuła dla wybranego wskaźnika. Analogicznie do funkcji KPIVALUE chodzi o wskaźnik bieżący, więc należy podać jako parametr funkcji, wartość pola Nazwa.

Podpowiedź

Formuła dzielenia jest dowolną formułą, jaką przyjmie użytkownik.

Trend - formuła

Tren analogicznie jak status korzysta z funkcji CASE ... WHEN ... THEN ... ELSE ... END oraz KPIVALUE i KPIGOAL, dodatkowo ponownie użyto funkcji ParallelPeriod, aby odnieść się do poprzednich okresów i dynamicznie pobrać ich wartość.

Przykład

CASE
WHEN IsEmpty(KPIVALUE("Sprzedaż zysk - KPI")) THEN NULL
WHEN KPIVALUE("Sprzedaż zysk - KPI") / (KPIVALUE("Sprzedaż zysk - KPI"), ParallelPeriod ( [Data].[Data].[Rok] , 1 , [Data].[Data].CurrentMember)) > 1 THEN 1
WHEN KPIVALUE("Sprzedaż zysk - KPI") /(KPIVALUE("Sprzedaż zysk - KPI"), ParallelPeriod ( [Data].[Data].[Rok] , 1 , [Data].[Data].CurrentMember)) <= 1
AND KPIVALUE("Sprzedaż zysk - KPI") / (KPIVALUE("Sprzedaż zysk - KPI"), ParallelPeriod ( [Data].[Data].[Rok] , 1 , [Data].[Data].CurrentMember)) > .98 THEN 0
ELSE -1

Listy wyboru Status - typ wskaźnika oraz Trend - typ wskaźnika to nic innego jak ikony graficzne, gdzie każdy może dobrać je do swoich potrzeb w zależności od preferencji i czytelności tworzonego wskaźnika.

Warto wiedzieć

Należy pamiętać, że aby wskaźnik działał prawidłowo należy umieścić na liście miar wszystkie miary, do których odwołujemy się podczas tworzenia wskaźnika w formułach, w przykładzie jest to miara Zysk netto. W innym przypadku analiza nie zostanie utworzona prawidłowo.

Funkcja ParallelPeriod odnosi się do hierarchii czasu, wymagane jest, aby jako hierarchię czasu używać poziom "Rok" i "Miesiąc", jeśli użytkownik chce wykorzystywać przykładowe czy systemowe wskaźniki. Jeśli ma być używany inny poziom należy zmodyfikować formułę. Hierarchia czasu zawsze ma pierwsze dwa człony stałe [Data].[Data].<pod_poziom> oraz podpoziomy odpowiadające nazwą poszczególnych poziomów tj. Rok, Kwartał, Miesiąc, Tydzień, Dzień.