Wszystkie artykuły

KajoData / Praca i rozwój

15 KPI, które warto rozumieć jako analityk danych

CAC spada, sprzedaż rośnie, a pieniędzy jakoś nie przybywa. Pokazuję, jak łączę 15 wskaźników z pytaniami biznesowymi i co sprawdzam, zanim uwierzę zielonej strzałce na dashboardzie.

Kajo RudzińskiOpublikowano Aktualizacja 12 min czytania

Pikselowy sklep, magazyn i stosy monet połączone pod panelem wykresów.

Kiedy uczę się nowego narzędzia, bardzo łatwo pomylić postęp z liczbą poznanych funkcji. Wczoraj tabela przestawna, dzisiaj CTE, jutro model w Pythonie. Fajnie. Tylko potem ktoś pyta, dlaczego firma sprzedaje więcej, a zarabia mniej, i nagle lista funkcji robi się mało rozmowna.

W pracy z danymi potrzebuję języka, którym opiszę biznes. Do tego przydają mi się KPI, czyli kluczowe wskaźniki efektywności. Kluczowe dla konkretnego celu, procesu i osoby podejmującej decyzję. Liczba wyświetleń strony może być użyteczną metryką, ale dopiero kontekst pozwala ustalić, czy zasługuje na miejsce wśród KPI.

Zebrałem piętnaście wskaźników z e-commerce, logistyki i finansów. Ten podział dobrze pokazuje drogę od pozyskania klienta do pieniędzy, które zostają w firmie. Wszystkie kwoty i scenariusze liczbowe są przykładami do nauki. Nie opisują wyników KajoData ani moich pracodawców.

Zanim policzę KPI, ustalam zasady

Od każdej metryki chcę kilku odpowiedzi. Co dokładnie liczę? W jakim okresie? Dla jakiej grupy? Skąd mam dane? Co ktoś zrobi, kiedy wynik się zmieni? Jeżeli ostatnia odpowiedź brzmi „pokoloruję komórkę na czerwono”, mam jeszcze trochę pracy przed sobą.

Zapisuję poziom szczegółowości danych. Jeden wiersz może oznaczać klienta, zamówienie, produkt w zamówieniu albo paczkę. Zamówienie z czterema produktami i dwiema przesyłkami potrafi po nieostrożnym połączeniu tabel rozmnożyć się tak, że biznes wygląda na znacznie większy. Niestety tylko w SQL-u.

Przy ilorazach pilnuję wspólnego zakresu licznika i mianownika. Ustalam walutę, podatki, statusy transakcji, strefę czasową i moment zamknięcia okresu. To kilka nudnych zdań dokumentacji, które później oszczędzają bardzo emocjonujące spotkanie. Jeśli mianownik wynosi zero, pokazuję brak możliwości obliczenia wskaźnika, zamiast wymyślać atrakcyjnie wyglądający wynik.

E-commerce: klient, koszyk i powroty

1. CAC: koszt pozyskania nowego klienta

Customer Acquisition Cost liczę jako koszty pozyskania podzielone przez liczbę nowych klientów. Jeśli wydaję 12 000 zł i pozyskuję 200 osób, CAC wynosi 60 zł. Do mianownika trafiają nowi klienci, a nie wszystkie zamówienia, kliknięcia czy adresy mailowe.

Najpierw uzgadniam zakres kosztów. Sam budżet reklamowy daje węższą miarę niż budżet powiększony o pracę zespołu, agencję i narzędzia. Opis CAC w Shopify pomaga uporządkować te składniki. W raporcie jasno nazywam wariant, którego używam. Dwie liczby z tą samą etykietą mogą opowiadać różne historie.

Potem rozbijam wynik na kanały. Pamiętam o atrybucji: ta sama osoba mogła zobaczyć film, przeczytać newsletter i kliknąć reklamę. Suma klientów przypisanych niezależnie przez platformy nie musi być liczbą unikalnych klientów firmy. Sprawdzam też opóźnienie między wydatkiem a zakupem, szczególnie gdy decyzja trwa kilka tygodni.

2. LTV: wartość relacji z klientem

Customer Lifetime Value opisuje wartość klienta w czasie. Sam skrót nie mówi jednak, czy liczę przychód, marżę ani jaki przyjmuję horyzont. Wolę dopisać „przychodowe LTV po 12 miesiącach” niż pokazywać tajemnicze LTV z dokładnością do grosza.

Klient składa cztery zamówienia po 150 zł. Przychodowa wartość tych zakupów to 600 zł. Przy marży pokrycia 30% zostaje 180 zł przed pokryciem pozostałych kosztów, zgodnie z przyjętym zakresem. Porównanie CAC równego 200 zł z przychodem 600 zł wygląda przyjemnie. Porównanie z 180 zł zmusza do myślenia.

Oddzielam wyniki zaobserwowane od prognoz. Nowa kohorta nie ma jeszcze rocznej historii, więc jej przyszłe zakupy są założeniem. Shopify pokazuje popularne sposoby liczenia CLV; ja dopisuję okres i koszty. Przewidywanie wieloletniej lojalności po dwóch tygodniach sprzedaży zostawiam osobom z bardziej optymistycznym kalendarzem.

3. AOV: średnia wartość zamówienia

Average Order Value to przychód z wybranego zakresu zamówień podzielony przez ich liczbę. Przy 24 000 zł i 200 zamówieniach otrzymuję 120 zł. Ustalam wcześniej, czy przychód zawiera dostawę, rabaty i zwroty. Bez tego porównanie dwóch miesięcy może mieszać różne definicje.

Wzrost AOV nie jest samodzielnym dowodem sukcesu. Promocja „kup więcej, zapłać mniej” może podnieść koszyk i obniżyć marżę. Kilka dużych zakupów podnosi średnią, choć typowy klient nie zmienia zachowania. Patrzę również na medianę, liczbę produktów i rozkład wartości zamówień.

Zestawiam AOV nowych i powracających klientów. Jeśli rośnie udział drugiej grupy, średnia całego sklepu może wzrosnąć bez poprawy wyniku wewnątrz którejkolwiek grupy. Sprawdzam strukturę sprzedaży, zanim ktoś przypisze cały sukces nowemu kolorowi przycisku.

4. Retencja kohortowa: kto wraca po czasie

Kohorta to grupa połączona wspólnym zdarzeniem, na przykład pierwszym zakupem w styczniu. Jeśli ze 100 takich klientów 25 kupiło ponownie w marcu, retencja zakupowa tej kohorty w marcu wynosi 25%. W mianowniku pozostaje początkowa setka.

Definicja aktywności ma znaczenie. W sklepie mogę liczyć zakup, w aplikacji użycie funkcji, a w subskrypcji aktywny abonament. Te miary odpowiadają na różne pytania. Rozróżniam powrót w konkretnym miesiącu od powrotu kiedykolwiek do danego momentu.

Porównuję kohorty w tym samym wieku. Klienci pozyskani miesiąc temu nie pokazali jeszcze zachowania po pół roku. Zwracam uwagę na produkt: lodówka i karma dla psa mają różne naturalne rytmy zakupów. Słaba miesięczna powtarzalność lodówek nie wymaga od razu zebrania sztabu kryzysowego.

5. Payback period: kiedy odzyskuję koszt pozyskania

Okres zwrotu pokazuje, po jakim czasie skumulowana marża przypisana klientowi pokryje koszt jego pozyskania. W uproszczonym modelu CAC 120 zł i miesięczna marża 30 zł dają cztery miesiące. Ten rachunek zakłada regularny wynik i brak dodatkowych zmian.

Przy nieregularnych zakupach patrzę na rzeczywistą krzywą marży kohorty. Zwroty, obsługa i sezonowość mogą przesuwać punkt przecięcia. Sprawdzam, czy koszt pozyskania nie trafił drugi raz do marży użytej w obliczeniu. Podwójne odjęcie kosztu bywa skuteczną metodą pogorszenia wyników.

Długi payback oznacza, że finansowanie wzrostu wymaga czasu i pieniędzy. Do decyzji potrzebuję retencji, niepewności prognozy i dostępnych środków. Rentowny klient w perspektywie roku może nadal wymagać gotówki już dzisiaj. Sama dobra proporcja LTV do CAC tego problemu nie rozwiązuje.

Logistyka: co dzieje się po kliknięciu „kup”

6. Return rate: ile sprzedaży wraca

Wskaźnik zwrotów mogę policzyć dla sztuk, zamówień albo wartości. Przy 30 zwróconych sztukach z 1000 wysłanych mam 3% zwrotów sztukowych. Nie porównuję tego bezpośrednio z odsetkiem zamówień zawierających choć jeden zwrot. Jedno zamówienie może mieścić kilka produktów.

Najważniejsza pułapka dotyczy czasu. Zwroty z tego miesiąca mogą pochodzić ze sprzedaży poprzedniego. Do oceny jakości produktu grupuję je według kohorty zamówień i daję jej czas na dojrzenie. Ostatni tydzień zawsze wygląda podejrzanie dobrze, kiedy klienci jeszcze nie zdążyli otworzyć paczek.

Rozbijam wynik na produkt, wariant, powód i kanał sprzedaży. Sprawdzam koszty oraz możliwość ponownej sprzedaży. Ten sam procent zwrotów może mieć różny wpływ przy nienaruszonym produkcie i przy produkcie, który trzeba odpisać.

7. Lead time: jak długo czeka klient

W tym przykładzie przez lead time rozumiem czas od złożenia zamówienia do dostarczenia go klientowi. W innych procesach termin opisuje również czas dostawy od dostawcy. Dlatego zapisuję oba zdarzenia graniczne, zamiast ufać samej nazwie.

Oprócz średniej pokazuję medianę i wysoki percentyl, na przykład czas, w którym mieści się 90% dostarczonych zamówień. Kilka skrajnie opóźnionych przesyłek może przesunąć średnią. Dla klienta czekającego tydzień zapewnienie, że przeciętnie jest świetnie, ma ograniczoną wartość terapeutyczną.

Analizuję region, przewoźnika, dzień tygodnia i typ usługi. Oddzielnie sprawdzam zamówienia niedostarczone: jeśli wypadną z raportu, najgorsze przypadki znikną. Ustalam, czy liczę godziny kalendarzowe, czy robocze. Weekend nie przestaje istnieć dlatego, że dashboard go nie lubi.

8. Order cycle time: gdzie proces traci czas

Nazwy operacyjnych miar bywają różnie stosowane. Tutaj order cycle time oznacza czas od przyjęcia zamówienia do gotowości przesyłki do odbioru. Oddzielam go od transportu, żeby zobaczyć, która część procesu wymaga poprawy.

Rozkładam całość na oczekiwanie, kompletację i pakowanie. Jeśli mediana wynosi dwie godziny, ale część zamówień czeka dobę na brakujący towar, wynik ogólny ukrywa problem. Przydatne są znaczniki czasu etapów i informacja o wyjątkach, a nie tylko finalna data wysłania.

Porównuję podobne zamówienia. Paczka z jednym produktem i zamówienie wymagające kompletacji z kilku stref mają różną trudność. Skrócenie czasu jednego stanowiska nie gwarantuje skrócenia całości: kolejka może po prostu przenieść się kawałek dalej.

9. Fill rate: co udało się zrealizować

Fill rate wymaga dopisku, co jest jednostką pomiaru. Może chodzić o sztuki, pozycje zamówień albo całe zamówienia zrealizowane z dostępnego zapasu. Jeśli klienci zamówili 1000 sztuk, a od razu wysyłam 950, sztukowy fill rate wynosi 95%.

Wyobraź sobie zamówienie z dziesięcioma pozycjami, z których jednej brakuje. Na poziomie pozycji wynik wygląda całkiem dobrze. Na poziomie kompletnych zamówień to konkretne zamówienie nie zostało zrealizowane w całości. Obie liczby mogą być poprawne jednocześnie.

Sprawdzam produkty najważniejsze dla klientów, dostępność zamienników i wartość utraconej sprzedaży. Dobry wynik magazynu może ukrywać braki towarów, po które ludzie w ogóle przyszli. Dokładam segmenty i liczbę przypadków, zamiast zachwycać się samym procentem.

10. Cost per shipment: koszt wysłania paczki

Koszt przesyłki liczę jako ustalony koszyk kosztów podzielony przez liczbę wysłanych paczek. Przykładowo 15 000 zł kosztów przewoźnika dla 1000 paczek daje 15 zł. Jeśli dodam materiały i pracę pakowania, otrzymam szerszy koszt realizacji. Nazywam go odpowiednio.

Pilnuję różnicy między paczką a zamówieniem. Jeden zakup rozbity na trzy przesyłki może mieć niski koszt pojedynczej paczki, a wysoki koszt obsługi zamówienia. Zestawiam obie perspektywy, szczególnie przy dostawach z kilku magazynów.

Analizuję wagę gabarytową, strefę dostawy, dopłaty i dostawy nieudane. Zmiana średniej może wynikać z miksu krajów, a nie negocjacji z kurierem. Chcę to wiedzieć, zanim wpiszę w prezentację, że proces stał się o 20% bardziej efektywny.

Pikselowa waga zestawiająca paczki i monety z kosztami obsługi.

Finanse: ile z tego zostaje

11. COGS: koszt sprzedanych produktów

Cost of Goods Sold odnosi się do kosztu produktów faktycznie sprzedanych w danym okresie. Zakup towaru do magazynu i jego sprzedaż mogą przypadać na różne miesiące. Nie utożsamiam całej płatności za zatowarowanie z kosztem sprzedaży tego samego miesiąca.

Jeśli sprzedaję 100 sztuk z kosztem jednostkowym 40 zł, prosty przykład daje COGS 4000 zł. W realnym raporcie korzystam z zasad wyceny i klasyfikacji przyjętych przez księgowość. Koszty produkcji, dostawy do magazynu i świadczenia usług wymagają uzgodnienia dla konkretnej firmy.

Przy produktach cyfrowych oddzielam rachunkowy koszt od kalkulacji opłacalności własnej pracy. Mogę wycenić czas tworzenia kursu w modelu decyzyjnym, ale taka wycena nie robi z niego automatycznie księgowego COGS. Ta różnica chroni przed mieszaniem dwóch sensownych, lecz odmiennych perspektyw.

12. Contribution margin: marża pokrycia

Marżę pokrycia liczę jako przychód pomniejszony o koszty zmienne. Jeśli sprzedaż wynosi 100 000 zł, a koszty zmienne 65 000 zł, zostaje 35 000 zł. Procentowa marża pokrycia wynosi wtedy 35%. Z tej kwoty firma pokrywa koszty stałe i buduje wynik.

Sprawdzam, co rzeczywiście zmienia się wraz z wolumenem. Produkt, prowizja płatnicza i opakowanie zachowują się inaczej niż stała pensja zespołu. Część kosztów ma progi, minimum miesięczne albo składnik stały i zmienny. Prosty podział trzeba dopasować do decyzji.

Lubię tę miarę przy promocjach. Produkt za 100 zł z kosztem zmiennym 70 zł zostawia 30 zł. Po obniżeniu ceny do 90 zł zostaje 20 zł. Aby utrzymać łączną marżę pokrycia, potrzebuję sprzedać o połowę więcej sztuk, jeśli pozostałe warunki się nie zmienią.

13. OPEX: koszt działania organizacji

Operating Expenses obejmują koszty operacyjne według przyjętej klasyfikacji rachunku wyników. Mogą tu trafiać koszty administracji, sprzedaży i oprogramowania. Uzgadniam definicję z finansami, bo potoczna nazwa kosztu może być księgowana różnie zależnie od jego funkcji.

Patrzę na kwotę, udział w przychodzie i przyczynę zmiany. Wzrost wydatków może oznaczać rozwój zespołu, jednorazowe wdrożenie albo bałagan w subskrypcjach. Bez rozbicia raport łatwo zamienia wszystkie przypadki w jedną kategorię: „jest drożej”.

Nie sumuję bezrefleksyjnie COGS, OPEX i wszystkich kosztów zmiennych. To różne przekroje tych samych wydatków, więc część pozycji może się nakładać. W modelu wynikowym każda złotówka musi mieć jedno miejsce. Dodatkowe ujęcia analityczne opisuję osobno.

14. Net profit margin: marża netto

Marża netto to zysk netto podzielony przez przychód. Przy 8000 zł zysku netto i 100 000 zł przychodu otrzymuję 8%. Korzystam z uzgodnionego wyniku netto uwzględniającego właściwe koszty, wynik finansowy i podatki, zamiast sklejać kilka niepełnych kategorii.

Rozdzielam zysk od gotówki. Faktura może zwiększać przychód, choć klient jeszcze nie zapłacił. Zakup zapasu angażuje środki wcześniej niż sprzedaż. Przewodnik SEC po sprawozdaniach porządkuje różnicę między rachunkiem wyników a przepływami pieniężnymi.

Spadek marży skłania mnie do pytań o ceny, miks produktów, koszty i zdarzenia jednorazowe. Nie wyciągam automatycznego wniosku, że rozwój trzeba zatrzymać. Pokazuję przyczyny i konsekwencje, a decyzję odnoszę do szerszego planu firmy.

15. Relacja kosztów stałych do zmiennych

Traktuję ją jako miarę zdefiniowaną na potrzeby modelu, a nie uniwersalny standard o jednej obowiązującej nazwie. Jeśli koszty stałe wynoszą 30 000 zł, a zmienne 60 000 zł, iloraz stałych do zmiennych wynosi 0,5. Udział stałych w całości kosztów to natomiast jedna trzecia. To dwie różne liczby.

Najciekawszy jest mechanizm. Przy większym wolumenie koszt stały na jednostkę może spadać, dopóki nie trzeba zatrudnić kolejnej osoby albo wynająć nowego magazynu. Koszty bywają stałe tylko w określonym zakresie skali i czasu.

Sprawdzam scenariusz słabszej sprzedaży i momenty skokowego wzrostu kosztów. Automatyzacja może zwiększyć stały abonament, a zmniejszyć koszt obsługi kolejnego zamówienia. Oceniam oba kierunki razem, zamiast zakładać, że jeden rodzaj kosztu zawsze jest lepszy.

Jak połączyć wskaźniki w jedną analizę

Wyobraź sobie sklep, w którym AOV rośnie ze 100 do 120 zł. Na pierwszym slajdzie sukces. Na drugim okazuje się, że darmowa dostawa i rabaty obniżyły marżę pokrycia z 30% do 20%. Kwotowo na zamówieniu zostaje 24 zł zamiast 30 zł, przy uproszczonym założeniu porównywalnych kosztów i koszyków.

Dokładam liczbę zamówień, CAC, zwroty i powroty klientów. Być może promocja pozyskała wartościową kohortę i efekt rozłoży się w czasie. Być może przyciągnęła jednorazowych łowców okazji. Sam wzrost koszyka tego nie rozstrzyga. Potrzebuję obserwacji i jasno oznaczonych założeń.

Formułuję pytanie, które da się sprawdzić: czy promocja podniosła łączną marżę pokrycia w porównywalnym segmencie i okresie? Uwzględniam sezonowość i strukturę klientów. Jeśli nie mam dobrego punktu odniesienia, mówię o współwystępowaniu zmian, bez udawania dowodu przyczynowego.

Ćwiczenie, które zrobiłbym na początek

Wziąłbym mały, syntetyczny zbiór zamówień i policzył AOV, liczbę klientów oraz marżę pokrycia. Potem dodałbym zamówienie z kilkoma produktami, częściowy zwrot i klienta kupującego drugi raz. Jeśli wynik się rozsypie, świetnie: znalazłem problem, zanim ktoś użył raportu do decyzji.

Następnie przygotowałbym kartę jednej miary: nazwa, cel, wzór, wykluczenia, źródło, częstotliwość aktualizacji i osoba odpowiedzialna. Pod nią umieściłbym dwa zdania interpretacji oraz jedno ograniczenie. Taki materiał pokazuje więcej analitycznego myślenia niż dashboard z piętnastoma liczbami bez komentarza.

Do ćwiczenia segmentacji przyda Ci się mój histogram w SQL. Jeśli planujesz wejście do zawodu, opisałem również strategię przebranżowienia. Ja zacząłbym od jednego problemu i kilku dobrze zdefiniowanych miar. Kolejne funkcje dołożysz wtedy, kiedy rzeczywiście będą potrzebne.

Najważniejsze w pigułce

Od których KPI zacząć naukę?

Zacząłbym od AOV, CAC i marży pokrycia w jednym prostym przykładzie sklepu. Dla każdego wskaźnika ustaliłbym licznik, mianownik, okres, źródło danych i decyzję, którą ma wspierać. Potem dołożyłbym retencję i logistykę.

Czy LTV oznacza zysk z klienta?

To zależy od definicji. Przychodowe LTV opisuje przychód, a LTV oparte na marży uwzględnia określone koszty. Do porównania z CAC potrzebuję jawnie opisanego wariantu i horyzontu, żeby nie traktować całego przychodu jak pieniędzy do wydania.

Dlaczego poprawa jednego KPI może pogorszyć wynik firmy?

Wskaźniki są powiązane. Rabat może zwiększyć koszyk i jednocześnie zmniejszyć marżę, a oszczędność na transporcie może wydłużyć dostawy. Sprawdzam kilka miar razem, segmenty klientów oraz skutki uboczne zmiany.

Przy pracy nad artykułem użyto w zautomatyzowany sposób sztucznej inteligencji. Jeśli też chcesz tak umieć, sprawdź ten projekt.

Kajo Rudziński

Newsletter KajoData

Zostańmy w kontakcie.

Piszę o analizie danych, uczeniu się i zmianie pracy. Dzielę się tym, co pomaga mi ogarniać technologię i zawodowe decyzje. Jeśli lubisz ten sposób myślenia, zapraszam do mojego newslettera.