KajoData / Praca i rozwój
Dashboard analityka: jak prezentować dane, żeby pomagały w decyzji
Ładny panel może prowadzić do złego wniosku. Na przykładzie dostaw pokazuję, jak połączyć pytanie odbiorcy, poprawne miary i czytelny układ z testem użyteczności.

Kiedy otwieram dashboard, chcę zrozumieć sytuację i wiedzieć, co mogę z nią zrobić. Nie potrzebuję na pierwszym ekranie całej historii firmy, piętnastu mierników i mapy świata, jeśli obsługujemy dwa magazyny. Łatwo stworzyć panel, który wygląda jak dużo pracy. Trudniej stworzyć taki, z którego ktoś będzie korzystał przy konkretnej decyzji.
Zaczynam więc od rozmowy o zadaniu odbiorcy. Potem ustalam znaczenie liczb, szkicuję układ i sprawdzam działanie na kilku przypadkach. Wykresy pojawiają się w tym procesie dość późno. Dzięki temu nie muszę bronić efektownej wizualizacji, która odpowiada na pytanie, którego nikt nie zadał. To całkiem przyjemna oszczędność czasu i ambicji.
Przejdę przez syntetyczny przykład panelu dostaw. Wszystkie liczby są wymyślone do ćwiczenia, bez związku z rzeczywistym klientem. Chcę pokazać tok pracy, który można przenieść do Excela, Tableau albo raportu Power BI. Nazwy obiektów i możliwości interakcji zależą od narzędzia; w tekście używam słowa dashboard ogólnie jako widoku służącego monitorowaniu sytuacji.
Jedna powtarzalna decyzja porządkuje zakres
Wyobraź sobie osobę koordynującą dostawy. Każdego ranka chce ustalić, które zaległe przesyłki wymagają sprawdzenia i czy pogorszyła się terminowość zakończonych dostaw. Te dwa pytania są powiązane, ale dotyczą innych zbiorów. Pierwsze opisuje otwarte sprawy w danym momencie. Drugie podsumowuje zdarzenia z wybranego okresu. Już tutaj zapisuję tę różnicę.
Pytam także, co odbiorca może zrobić po zobaczeniu wyniku. Może sprawdzić konkretną przesyłkę, skontaktować się z zespołem operacyjnym albo porównać obciążenie przewoźników. Dashboard powinien pomagać dotrzeć do właściwej grupy rekordów. Jeżeli odbiorca nie ma żadnego następnego kroku, być może potrzebuje jednorazowej analizy lub krótkiej informacji, zamiast nowego panelu do codziennego oglądania.
Nie przypisuję automatycznie jednego stylu każdemu stanowisku. Osoba z zarządu czasem potrzebuje szczegółów, a zespół operacyjny czasem potrzebuje tylko prostego alertu. Pytam o częstotliwość użycia, urządzenie, znajomość procesu i dostępny czas. Zalecenia Tableau również zaczynają projektowanie od celu oraz odbiorcy. Dla mnie odpowiedzi na te pytania są częścią briefu, który można później sprawdzić.
Definicja miary jest częścią projektu
W przykładzie terminowość oznacza udział dostaw zakończonych w wybranym tygodniu, które dotarły najpóźniej w uzgodnionym terminie. Do mianownika włączam tylko zakończone dostawy ze znanym terminem i momentem doręczenia. Dostawa dokładnie w terminie jest terminowa. W rzeczywistym procesie trzeba jeszcze ustalić strefę czasową oraz znaczenie godziny granicznej, żeby dwa systemy nie klasyfikowały tego samego zdarzenia inaczej.
To definicja według daty doręczenia. Raport według planowanego terminu dostawy odpowiadałby na inne pytanie i mógłby uwzględniać niedoręczone jeszcze przesyłki. Żaden z tych wariantów nie jest automatycznie właściwy dla wszystkich zastosowań. Zapisuję wybór przy mierze, ponieważ samo słowo „terminowość” nie mówi odbiorcy, jakie rekordy znalazły się w obliczeniu.
Osobno pokazuję liczbę zakończonych dostaw bez danych potrzebnych do oceny. Ich brak nie powinien poprawiać wskaźnika po cichu. W panelu operacyjnym dodaję też liczbę otwartych przesyłek po terminie, policzoną na konkretny moment. Nie dodaję jej do liczby opóźnionych doręczeń z tygodnia: to stan bieżący i historyczny przepływ, które nie mają wspólnego zakresu.
Mały przykład ujawnia błędy w obliczeniach
Załóżmy, że w tygodniu zakończono 104 dostawy. Dla stu znam oba potrzebne momenty, a dla czterech brakuje uzgodnionego terminu. Wśród stu ocenionych dostaw przewoźnik A obsłużył osiemdziesiąt, z czego siedemdziesiąt dwie terminowo. Przewoźnik B obsłużył dwadzieścia, z czego czternaście terminowo. Cztery nieocenione pozostają poza tabelą wskaźnika i dostają osobny licznik jakości.
| Przewoźnik | Ocenione dostawy | Terminowe | Opóźnione | Terminowość |
|---|---|---|---|---|
| A | 80 | 72 | 8 | 90% |
| B | 20 | 14 | 6 | 70% |
| Razem | 100 | 86 | 14 | 86% |
Wskaźnik całości to 86 podzielone przez 100. Prosta średnia 90 i 70 procent dałaby 80 procent, ponieważ nadaje obu przewoźnikom równą wagę. Tymczasem A obsłużył cztery razy więcej ocenionych dostaw. Gdy chcę mierzyć udział terminowych dostaw ogółem, sumuję liczniki oraz mianowniki. Tę samą kontrolę robię dla tygodni, regionów i innych podziałów.
Pokrycie danych wynosi sto ze 104 zakończonych dostaw, czyli około 96,15 procent. Nie nazywam więc 86 procent wynikiem obejmującym wszystkie zakończone dostawy bez zastrzeżenia. Mogę podpisać kartę „terminowość ocenionych dostaw” i obok pokazać „cztery dostawy bez oceny”. To dłuższy opis, ale odbiorca wie, jaka część procesu pozostaje niewidoczna.
Zmiana całości nie zawsze oznacza zmianę grup
W drugim syntetycznym tygodniu zamieńmy proporcje: A ma dwadzieścia ocenionych dostaw i osiemnaście terminowych, B osiemdziesiąt ocenionych i pięćdziesiąt sześć terminowych. Terminowość przewoźników nadal wynosi odpowiednio 90 oraz 70 procent. Wynik całości spada jednak do 74 procent, bo większa część dostaw przypadła grupie z niższym wskaźnikiem.
Sama karta „spadek z 86 do 74 procent” nie wyjaśni tego mechanizmu. Potrzebuję obok liczebności albo udziału przewoźników. Nie stwierdzam na tej podstawie, że konkretny przewoźnik zaczął pracować gorzej. Najpierw sprawdzam strukturę danych, a później szukam przyczyn zmiany. Dashboard ma umożliwiać takie pytanie, zamiast podsuwać jedną pewną opowieść na podstawie zbiorczego procentu.
Jeśli pokazuję cel, oznaczam, skąd pochodzi i do czego się odnosi. Cel 95 procent może być umownym założeniem ćwiczenia, ale nie powinien udawać branżowego standardu. Nie dopisuję też rekomendacji zerwania współpracy na podstawie małej tabeli. Potrzebowałbym wiedzieć więcej o trasach, typach przesyłek, terminach i warunkach obsługi poszczególnych grup.
Układ zaczynam od szkicu
Na górze umieszczam nazwę pytania, zakres dat oraz moment ostatniego poprawnego odświeżenia. Następnie pokazuję najważniejszy wynik, liczbę ocenionych dostaw i informację o brakach. Niżej daję porównanie przewoźników oraz trend. Osobny widok prowadzi do otwartych przesyłek po terminie. Nie próbuję zmieścić każdej tabeli źródłowej na pierwszym ekranie tylko dlatego, że dane są dostępne.
Szkic może powstać na kartce. Sprawdzam na nim, czy kolejność informacji odpowiada kolejności pytań odbiorcy: jaki jest wynik, gdzie występuje problem, które rekordy sprawdzić? Jeśli do wyjaśnienia układu potrzebuję długiego oprowadzania, upraszczam go przed budową. Przesunięcie prostokąta na szkicu jest tańsze niż przebudowa gotowego zestawu interakcji i obliczeń.
Microsoft opisuje dashboard jako przegląd sytuacji, z możliwością przejścia do szczegółów w raportach. Przyjmuję tę zasadę jako pomoc w ograniczaniu zawartości. Nie zamieniam jej jednak w sztywny nakaz, żeby zawsze pokazywać dokładnie trzy wykresy. Liczba widoków ma wynikać z zadania, czytelności i rzeczywistego rozmiaru ekranu.
Wykres wybieram do porównania
Przewoźników mogę porównać poziomymi słupkami z etykietą procentu i liczbą ocenionych dostaw. Dla zmian w kolejnych tygodniach użyję linii. Jeśli odbiorca potrzebuje dokładnych identyfikatorów zaległych przesyłek, pokażę tabelę. Nie muszę zamieniać każdej informacji w wykres. Dobrze opisana tabela bywa najkrótszą drogą do wykonania pracy, szczególnie przy szukaniu konkretnego rekordu.
Pilnuję skali i jednostki. Słupki porównujące wielkości powinny mieć uczciwą wspólną podstawę, a procent nie może wyglądać jak liczba dostaw. Przy trendzie wyraźnie opisuję oś i zakres. Zmiana skali między widokami może powiększyć wizualnie niewielką różnicę. Dlatego podczas przeglądu patrzę również na to, jaki wniosek sugeruje obraz bez czytania wszystkich etykiet.
Mapę dodaję, gdy lokalizacja jest częścią pytania i umożliwia użyteczne działanie. Jeśli liczy się ranking dwóch magazynów, słupki mogą być czytelniejsze. Podobnie rezygnuję z przestrzennych ozdób, cieni udających trzeci wymiar i ikon, które konkurują z danymi. Ich obecność wymaga uzasadnienia tak samo jak dodatkowa kolumna w raporcie.
Filtr zmienia znaczenie tego, co widzę
Po wyborze przewoźnika B karta powinna pokazywać czternaście terminowych na dwadzieścia ocenionych, czyli 70 procent. Sprawdzam, czy filtr zmienia wszystkie właściwe elementy: kartę, trend, tabelę szczegółów i liczbę braków. Jeżeli jakiś widok pozostaje porównaniem całej populacji, opisuję to jawnie. Inaczej użytkownik może zestawić liczby odnoszące się do różnych zakresów i uznać różnicę za błąd.
Aktywne filtry muszą być widoczne. Dodaję możliwość łatwego powrotu do stanu początkowego i określam rozsądny zakres domyślny. Nie zostawiam nowego odbiorcy z pustym ekranem, który wymaga odgadnięcia pięciu ustawień. Sprawdzam też zachowanie po kliknięciu słupka, zmianie zakładki i powrocie do raportu. Interakcja jest częścią definicji wyniku, nawet jeśli powstała jednym kliknięciem w narzędziu.
Odróżniam filtrowanie od podświetlenia. Podświetlenie może zachować kontekst pozostałych grup, podczas gdy filtr usuwa je z widocznego zbioru. Odbiorca powinien zauważyć tę różnicę bez studiowania instrukcji producenta. W krótkim teście proszę o wyjaśnienie mianownika po kliknięciu. Jeśli odpowiedź jest inna niż rzeczywista logika miary, poprawiam podpis albo interakcję.

Kolor wspiera znaczenie, ale go nie zastępuje
Ograniczam paletę i zachowuję konsekwencję. Jeśli żółty wyróżnia wybranego przewoźnika, nie używam go jednocześnie jako przypadkowej dekoracji wszystkich kart. Stan opóźnienia opisuję tekstem albo dodatkowym oznaczeniem. Sama różnica między czerwonym i zielonym nie wystarczy osobie, która inaczej rozróżnia kolory, ogląda wydruk albo korzysta z ekranu o słabej jakości.
W3C wyjaśnia zasadę użycia koloru: informacja nie powinna zależeć wyłącznie od barwy. W praktyce dodaję etykiety, czytelną legendę i inne wskazówki. Sprawdzam także kontrast tekstu, obsługę klawiaturą i dostępność opisu danych w konkretnym narzędziu. Sama spokojna paleta nie jest dowodem, że cały dashboard jest dostępny.
Oglądam panel na urządzeniu odbiorcy. Na telefonie układ może potrzebować innej kolejności i mniejszej liczby elementów jednocześnie. Nie zakładam, że zmniejszenie całego pulpitu zachowa czytelność. Długi tytuł, małe przyciski filtrów i szczegóły widoczne tylko po najechaniu kursorem szybko ujawniają różnicę między makietą na dużym monitorze a rzeczywistym użyciem.
Pusty ekran i stare dane też wymagają projektu
Rozróżniam trzy sytuacje: zero opóźnionych dostaw, brak rekordów pasujących do filtra oraz brak aktualnych danych. Pierwsza może być dobrą wiadomością, druga prośbą o zmianę zakresu, trzecia problemem odświeżenia. Nie wyświetlam w każdym przypadku identycznego zera. Krótki komunikat powinien wyjaśniać, co wiadomo i jaki następny krok ma sens.
Moment odświeżenia opisuję precyzyjnie. Czas wykonania zapytania nie zawsze oznacza, że źródło zawiera zdarzenia aż do tej chwili. Jeśli plik dostarczono rano, może obejmować wyłącznie poprzedni dzień. Gdy aktualizacja się nie powiedzie, użytkownik powinien widzieć wiek ostatnich poprawnych danych. Cicha prezentacja starego wyniku jako bieżącego podważa zaufanie skuteczniej niż jawny komunikat o problemie.
Uzgadniam częstotliwość z decyzją. Cotygodniowy przegląd nie zawsze wymaga odświeżania co minutę, a dyspozytor nie skorzysta z danych sprzed kilku dni. Wymaganie zapisuję wraz z właścicielem procesu i sposobem zgłoszenia awarii. Dashboard będzie komuś służył po zakończeniu projektu, więc odpowiedzialność za aktualność jest równie konkretna jak odpowiedzialność za obliczenie wskaźnika.
Testuję zadanie, a nie tylko wygląd
Daję odbiorcy polecenie: znajdź przewoźnika z niższą terminowością, podaj liczbę ocenionych dostaw i sprawdź jedną zaległą przesyłkę. Obserwuję, gdzie szuka informacji i jakie znaczenie przypisuje liczbom. Nie podpowiadam od razu. Taki test szybciej ujawnia mylący podpis niż pytanie „czy dashboard Ci się podoba?”, na które łatwo odpowiedzieć grzecznym potwierdzeniem.
Kontrolę liczbową robię niezależnie. Sprawdzam całość, każdego przewoźnika, pusty okres, pojedynczy rekord i brakujące daty. Porównuję wynik z małą tabelą obliczoną osobno. Przy zmianie filtra ponownie liczę mianownik. Otwieram też eksport, jeśli odbiorca będzie go używał, ponieważ obraz poza aplikacją może utracić informację o filtrach oraz czasie odświeżenia.
Do przekazania dołączam krótką definicję miar, źródło danych, znane ograniczenia i kontakt do właściciela. Nie potrzebuję instrukcji opisującej każdy przycisk. Potrzebuję informacji, które pozwolą zrozumieć wynik i odróżnić błąd od oczekiwanego zachowania. Jeśli panel wymaga długiego szkolenia dla prostego zadania, traktuję to jako sygnał do ponownego sprawdzenia projektu.
Zapisuję zmianę definicji i kontekst eksportu
Załóżmy, że po miesiącu zespół zmienia regułę i ocenia terminowość według planowanej daty dostawy. Nie podmieniam obliczenia bez informacji dla odbiorców. Zapisuję datę zmiany, nową definicję oraz to, czy przeliczono historię. Inaczej użytkownik może porównać stary eksport z nowym widokiem i uznać różnicę metodologiczną za zmianę jakości pracy przewoźnika.
W eksporcie zachowuję tytuł, zakres czasu, aktywne filtry i moment aktualności danych. Sam obraz wykresu wyrwany z aplikacji łatwo traci te informacje. Jeśli ktoś wkleja go do prezentacji, powinien nadal móc ustalić, czego dotyczy liczba. Szczególnie pilnuję rozróżnienia między zakończonym tygodniem a trwającym okresem, który będzie się jeszcze zmieniał.
Nie każdy odbiorca potrzebuje listy identyfikatorów przesyłek. Widok szczegółowy ograniczam do informacji potrzebnych przy zadaniu i korzystam z zasad dostępu obowiązujących w organizacji. Nie dodaję danych kontaktowych klientów wyłącznie dla wygody projektanta. Przed udostępnieniem sprawdzam dashboard również z perspektywy typowego odbiorcy, ponieważ konto autora może widzieć więcej niż osoba, dla której powstał raport.
Ćwiczenie i następna iteracja
Narysuj panel dla naszego przykładu na jednej kartce. Umieść 86 procent, sto ocenionych dostaw, cztery dostawy bez oceny i porównanie A z B. Osobno pokaż dwanaście otwartych przesyłek po terminie na ustalony moment. Podpisz, że ten licznik nie opisuje tego samego zbioru co tygodniowa terminowość. Dopiero potem wybierz narzędzie do wykonania szkicu.
Przełącz zakres na drugą syntetyczną strukturę dostaw, w której wynik wynosi 74 procent. Zapisz jedno zdanie wyjaśniające zmianę bez oskarżania przewoźników o pogorszenie własnych wskaźników. Następnie zasymuluj pusty filtr i nieudane odświeżenie. Jeżeli Twój projekt potrafi uczciwie pokazać wszystkie te stany, masz znacznie lepszy materiał do rozmowy niż sam efektowny pierwszy ekran.
Po wdrożeniu pytam, które decyzje panel rzeczywiście wspiera i jakie pytania wciąż wymagają ręcznego szukania danych. Usuwam elementy, które niczemu nie służą, oraz poprawiam te, które są źle rozumiane. W razie problemów wracam do definicji KPI i jakości danych. Użyteczny dashboard rozwijam na podstawie sposobu korzystania z niego, a nie liczby dostępnych typów wykresów.
Film o prezentowaniu danych
Poniżej znajdziesz polski materiał przypisany do oryginalnego artykułu. Tekst rozwija temat na osobnym syntetycznym przykładzie dostaw i zawiera własne obliczenia kontrolne.
Najważniejsze w pigułce
Od czego zacząć projektowanie dashboardu?
Od odbiorcy, powtarzalnej decyzji i pytania, na które ma odpowiedzieć. Następnie ustal definicje miar, dostępność danych i dopiero wybierz wykresy.
Czy można uśredniać procenty z kilku grup?
Dla udziału wszystkich dostaw trzeba zsumować liczniki i mianowniki. Prosta średnia procentów nadaje każdej grupie taką samą wagę i przy różnych liczebnościach odpowiada na inne pytanie.
Jak pokazać brak danych na dashboardzie?
Rozróżnij zero zdarzeń, brak dopasowania do filtra i niedostępne lub niekompletne źródło. Pokaż opis stanu, zakres danych oraz moment ostatniego poprawnego odświeżenia.
