Symulowana firma · dane syntetyczne · 3 dashboardy
Symulowana firma. Prawdziwe decyzje biznesowe.
OldCamp Inc. to fikcyjny producent lodów z kompletem danych: dwa zakłady, cztery linie, dwadzieścia produktów i pięć sieci handlowych jako klienci. Każde studium przypadku bierze jedno pytanie, od którego zależą pieniądze, i kończy się rekomendacją z policzonym efektem.
Każdy dashboard działa w przeglądarce, po polsku i angielsku, z filtrami, drill-downem, symulatorem i dostępem do danych źródłowych.
waste.konradkasperek.pl
01Produkcja
Waste Analytics
Gdzie OldCamp traci lody i ile z tego da się odzyskać planowaniem?
Każdy kilogram straty z dwóch sezonów jest przypisany do etapu, linii, produktu i przyczyny, a potem wyceniony. Optymalizator sprawdza wszystkie kolejności smaków na każdej linii w każdym tygodniu, a odtworzenie zapasu tydzień po tygodniu pokazuje, kiedy zakończyć produkcję SKU sezonowych.
7,03 mln złkosztu strat w dwa sezony
62%kosztu wynika z planu produkcji
1,21 mln złrocznie do odzyskania, 34% strat
Model, który nie widział tygodni pilotażu, przewidział 84,4 kg straty na przezbrojenie. Pilotaż w Kaliszu zmierzył 84,1 kg.
Ile zamówionych kartonów faktycznie dojeżdża do sieci i dlaczego reszta nie?
Zamówienia, prognoza, produkcja i zapasy w jednym modelu. Każdy niedostarczony karton dostaje przyczynę wyznaczoną z danych, bo kody z ERP niczego nie mówią, a każdy alert trafia do zespołu, który może go naprawić. Symulator alokacji wycenia regułę, według której sieci dostają towar, gdy go brakuje.
97,3%case fill rate przy celu 97,7%
87%braków to błąd prognozy i moce produkcyjne
−31%kar umownych przy innej regule alokacji
Prawdziwa przyczyna każdego braku jest wyznaczona kontrfaktycznie: symulacja jest powtarzana bez danego problemu. Reguły modelu trafiają w 67% kartonów, a dashboard pokazuje, gdzie się mylą.
Rozliczenie każdej z 496 promocji w pięciu sieciach: sprzedaż ponad bazę, koszt wsparcia sieci, zysk przyrostowy i ROI, w podziale na kanał i mechanikę. Symulator wycenia nową promocję, zanim zostanie podpisana z siecią.
57%promocji ma ROI poniżej zera
522 tys. złzysku straconego na nierentownych akcjach
3,63 mln złtrade spend w dwa sezony
Elastyczności cenowe oszacowane w SQL trafiają blisko prawdy zaszytej w danych, np. multipaki −2,30 wobec prawdziwych −2,19.
Projekty dzielą produkty, pogodę i zakłady, więc jedna przyczyna zostawia ślad w kilku miejscach naraz. Dopiero razem widać pełny koszt.
Upał
PromocjeW tygodniach o ponad 2°C cieplejszych niż norma mediana wzrostu sprzedaży to +93% wobec +80%. Promocja wygląda lepiej, niż jest.
DostawyW upalne tygodnie lata kompletne dostawy spóźniają się w 11,5% przypadków, poza nimi w 1,5%.
StratyKoszty łańcucha chłodniczego i zwrotów rosną dwukrotnie, ale to tylko 5% strat. Nie tu jest priorytet.
Prognoza
DostawyPrognoza roślinnej marki Wild Oat jest o 23% za niska, bo nie nadąża za wzrostem marki. Jej fill rate to tylko 84,9%.
StratyPod koniec września prognozy trzech SKU sezonowych są ok. 14 razy wyższe niż zamówienia. W styczniu trafia to do odpisu: 789 tys. zł.
Linia patyczków w Ełku
DostawyLatem 2025 linia nie nadążała. Trzecia zmiana od kwietnia 2026 podniosła fill rate jej produktów w sezonie z 91,5% do 100%.
StratyPrzezbrojenie na tej linii kosztuje dziś 162 kg lodów. W najlepszej kolejności smaków: 44 kg.
Warstwa produktowa
Od wniosku do decyzji z właścicielem i ceną
Analityka OldCamp jest prowadzona jak produkt. Każdy wniosek przechodzi ten sam proces, trafia do backlogu albo do dziennika decyzji i kończy się pomiarem efektu.
Wszystkie trzy projekty przechodzą tę samą drogę. Każdy krok jest zautomatyzowany i da się go odtworzyć jednym poleceniem.
Dane
Generator w Pythonie tworzy dwa lata tygodniowych danych z sezonem, pogodą i bałaganem jak w prawdziwym ERP. Stałe ziarno losowania daje powtarzalny wynik.
generator/generate.py
Model
DuckDB i SQL: reguły jakości danych, model gwiazdy i warstwa KPI. Każda metryka ma jedną definicję.
sql/01..08 · kpi_definitions.md
Analiza
Przyczyny braków, optymalizator kolejności smaków, symulatory promocji i alokacji, wszystko na parametrach oszacowanych z danych.
optimise.py · sql/07
Dashboard
Statyczny HTML, CSS i JavaScript z wykresami w SVG, bez frameworka i kroku build. Po polsku i angielsku.
dashboard/ · Vercel
Sprawdzone względem prawdy zaszytej w danych
Dane są syntetyczne, więc prawdziwe odpowiedzi są znane. Model ich nie czyta, a jego wyniki są z nimi porównane.
−2,30 / −2,19elastyczność multipaków: oszacowana wobec prawdziwej
67%kartonów z trafnie wskazaną przyczyną braku, mierzone kontrfaktycznie
84,4 / 84,1 kgstrata na przezbrojenie: prognoza modelu wobec pomiaru w pilotażu