Łukasz Micherda, analityk danych Kod na GitHubie

Z 41 115 wierszy zostało 39 544 zamówień. Każdą różnicę da się wyjaśnić.

Hurtownia danych fikcyjnego polskiego sklepu internetowego, od surowego eksportu po raport w Power BI i asystenta, który odpowiada na pytania po polsku. Zbudowana razem z AI, a każda liczba jest sprawdzona testami.

  1. raw, eksport ze sklepu

    41 115

    wierszy zamówień załadowanych 1:1, z błędami źródła

  2. staging, czyszczenie

    40 951

    −164 wiersze zdublowane przez proces ETL

  3. marts, model gwiazdy

    40 915

    −36 zamówień z kont testowych zespołu QA

  4. raport, Power BI

    39 544

    −1 371 anulowanych lub bez poprawnych pozycji

Z czego składa się projekt

Wszystko działa na jednym serwerze VPS za kilka euro miesięcznie i odtwarza się jednym poleceniem.

Hurtownia danychPostgreSQL 16, dbt

Warstwy raw → staging → marts, model gwiazdy z 4 tabelami faktów i 4 wymiarami, kohorty retencji, segmentacja RFM i raport jakości danych. 20 modeli, 58 testów.

Raport Power BIDAX, Power Query

Strony przeglądu sprzedaży i jakości danych. 40 miar DAX: analiza czasowa, dynamika r/r liczona tylko na porównywalnych okresach, wykrywanie anomalii z-score.

Asystent AIClaude API

Pytanie po polsku zamienia się w zapytanie SQL, które wykonuje się na koncie tylko do odczytu. Wynik wraca z wykresem, krótkim komentarzem i samym zapytaniem do sprawdzenia.

Automatyczne testyGitHub Actions

Każda zmiana w kodzie stawia czystą bazę, generuje dane, buduje całą hurtownię i sprawdza zabezpieczenia asystenta.

Technologie: Python, PostgreSQL, dbt, Power BI, Metabase, Docker, Caddy, GitHub Actions, Claude API.

Co widać w danych

Dane są syntetyczne, ale zachowują się jak prawdziwe: mają sezonowość, kampanie, awarie i luki w eksportach.

Błąd, który wyglądał jak poprawny wynik

Pierwsza wersja raportu pokazywała tę samą marżę, 44,8%, dla każdej kategorii produktów. Liczby wyglądały wiarygodnie, ale filtr kategorii w ogóle do nich nie docierał. Miary liczyły z nagłówków zamówień, a nagłówek nie ma kategorii, bo jedno zamówienie może zawierać produkty z kilku.

Po przeniesieniu miar na poziom pozycji zamówienia marża waha się od 34% w elektronice do 58% w modzie. W tym samym przeglądzie okazało się, że dynamika r/r +62% porównywała 24 miesiące z 12. Na porównywalnych okresach wynosi +35%.

Raport Power BI

Dwie strony: przegląd sprzedaży oraz jakość danych i anomalie. Raport jest interaktywny, więc fragmentatory, filtry i podpowiedzi działają. Wnioski pod wykresami powstały razem z Claude, a każda liczba jest sprawdzona zapytaniem w hurtowni.

Asystent AI w działaniu

Pytanie po polsku zamienia się w zapytanie SQL do hurtowni. Wynik wraca w kilka sekund, razem z wykresem, komentarzem i samym zapytaniem do sprawdzenia.

Asystent odpowiada na pytanie o średnią wartość zamówienia w aplikacji, na stronie i w marketplace: założenia, komentarz, wykres słupkowy i tabela
Pytanie o średnią wartość zamówienia w trzech kanałach sprzedaży.
  1. Model dostaje opis hurtowni: tabele, kolumny, przykładowe wartości i reguły biznesowe, np. że kategorie produktów są tylko w pozycjach zamówień.
  2. Zwraca jedno zapytanie SELECT, typ wykresu i przyjęte założenia. Serwer odrzuca wszystko poza odczytem warstwy raportowej.
  3. Zapytanie wykonuje się na koncie tylko do odczytu, z limitem czasu i liczby wierszy.
  4. Drugi, mniejszy model pisze komentarz wyłącznie na podstawie zwróconych liczb.

Zadaj własne pytanie

Jak wykorzystałem AI

Projekt powstał we współpracy z Claude i nie ukrywam tego. AI pisało dużo kodu, a moja praca polegała na decyzjach, budowie raportu i sprawdzaniu, czy liczby się zgadzają.

EtapCo zrobiło AICo zrobiłem ja
Wybór narzędzi Przegląd ofert pracy i popularności platform BI Wybór branży, stosu i zakresu projektu pod rynek w Polsce
Infrastruktura Skrypt konfiguracji serwera, Docker Compose, CI Postawienie i zabezpieczenie VPS, uruchomienie całego stosu
Hurtownia Generator danych, modele i testy dbt Weryfikacja wyników w bazie i na kolejnych przebiegach testów
Power BI Miary DAX, motyw, projekt stron Model relacji, budowa stron, wnioski z danych, kontrola wartości w raporcie
Asystent Kod aplikacji, zabezpieczenia, testy Wdrożenie, testy na prawdziwych pytaniach, ocena odpowiedzi