Unihokej Stats
Bezpłatny serwis ze statystykami Ekstraligi Unihokeja, których nie ma w oficjalnym serwisie związku. Pięć sezonów rozłożyliśmy na pojedyncze zdarzenia, policzyliśmy od nowa i sprawdziliśmy co do punktu z oficjalną tabelą.
Unihokej Stats
2026

Liga miała protokoły meczowe, nie miała statystyk
Unihokej Stats liczy statystyki Ekstraligi Unihokeja mężczyzn, najwyższej klasy rozgrywkowej prowadzonej przez Polski Związek Unihokeja. Dyscyplina jest niszowa: oficjalny serwis podaje tabelę i podstawowe klasyfikacje, a reszta liczb zostaje w protokołach pojedynczych meczów. Zbudowaliśmy ten serwis u siebie, bez zlecenia, na tej samej mechanice, którą stosujemy w projektach dla firm.
W bazie leży pięć sezonów, od 2021/22 do 2025/26: 320 meczów, 3672 gole, 1433 kary i 460 zawodników. Każdy mecz rozłożyliśmy na pojedyncze zdarzenia z czasem co do sekundy, więc sezony da się zestawiać ze sobą, a nie tylko przeglądać jeden po drugim.
Na stronie są trzy widoki. Drużyny to tabela z 26 wskaźnikami, którą da się obrócić, zestawić po trzy zespoły obok siebie i zawęzić do Top 5. Zawodnicy otwierają się na kartach liderów, pod nimi jest pełna tabela z wyszukiwarką i sortowaniem zapisanym w adresie. Sędziowie dostali sam licznik meczów, kar i minut, bez ocen i bez sugerowania korelacji.
Najwięcej wnoszą statystyki, których w oficjalnym serwisie nie ma: procent czasu spędzonego na prowadzeniu, punkty zdobyte przy remisie albo stracie jednej bramki, końcówki od 50. minuty, skuteczność gry w przewadze i w osłabieniu, duety regularnie współpracujące przy golach, powroty z trzech goli straty. Olimpia Łochów prowadziła w sezonie 2025/26 przez 68,2% czasu gry, przy 42 punktach w rundzie zasadniczej.
Dane były publiczne, ale nie do użytku
Związek publikuje protokoły dla czytelnika, nie dla maszyny. Każdy mecz to osobna podstrona, zawodnicy nie mają identyfikatorów, a nazwisko bywa zapisane raz jako „Imię Nazwisko”, raz odwrotnie. Bramka samobójcza ma pustą etykietę strzelca, a niewykorzystany karny wygląda w kodzie jak gol. Żeby porównać sezony albo policzyć cokolwiek ponad sumę bramek, trzeba było przejść 320 stron po kolei.
Parser chodzi po linkach z kalendarza, pobiera protokoły i zapisuje surowe zdarzenia do Postgresa. Każda statystyka to widok SQL, więc nowy wskaźnik powstaje z edycji jednego pliku, bez ponownego pobierania. Po weekendzie meczowym jedna komenda dokłada nowe mecze i sprawdza je z danymi związku. Jak ten proces działa krok po kroku, opisaliśmy w osobnym case study.
Zobacz automatyzację pobierania danychBaza liczy, strona czyta gotowy plik
Zdarzenia w Postgresie, statystyki jako widoki SQL, a na stronę trafia jeden plik JSON o wadze około 500 KB. Odwiedziny nie ruszają bazy i nic nie kosztują.
Baza trzyma zdarzenia, nie gotowe tabelki: gol z czasem co do sekundy, asysta, kara z kodem i wymiarem, frekwencja. Dopiero z tego liczą się wskaźniki. Stan liczebności na boisku odtwarza własny silnik z osi czasu kar, bo flagi gry w przewadze w protokołach bywają błędne w obie strony.
Frontend to React 19 z TypeScriptem i Tailwindem v4, zbudowany przez Vite i postawiony na Cloudflare. Strona nie łączy się z bazą w czasie działania: jedna komenda wypieka widoki SQL do statycznego pliku JSON, a Vite pakuje go razem z kodem. Sortowanie tabeli zawodników zapisuje się w adresie, więc konkretny widok da się wysłać linkiem. Statystyki odwiedzin zbieramy dopiero po zgodzie w oknie cookies.
Pięć sezonów w archiwum, nowe mecze co tydzień
Serwis działa pod adresem unihokejstats.pl i dla kibiców jest bezpłatny. Sezon 2025/26 mamy w komplecie: wszystkie 62 protokoły sparsowane, tabela policzona ze zdarzeń zgadza się co do punktu z oficjalną tabelą związku, a statystyki 219 zawodników pokrywają się z danymi ze stron klubowych.
Nowy sezon to jeden wpis w konfiguracji, nowa statystyka to jeden widok SQL. Ten sam schemat obsłuży rozgrywki kobiet i I ligę, kiedy przyjdzie na nie czas. Dane odświeżamy po weekendzie meczowym, a publikacja na Cloudflare zajmuje dwie do trzech minut.
5 sezonów
od 2021/22 do 2025/26 w jednym archiwum3672
gole, każdy z czasem co do sekundy26
wskaźników na drużynę, do trzech drużyn obok siebieZobacz pozostałe projekty
Schronisko Bukowina
Góralska Willa
Bawisz
Fizjointegra
Centrala Podhala
Sielska Chata
HENK Transport
Bethel Concept
FizjoIQ
Zaoszczędź na Leasingu
Szarotka Nowy Targ
Kościół Chwały Nowy Targ
Mają Państwo dane rozsypane po cudzej stronie?
Ceny konkurencji, przetargi, rejestry, notowania surowców. Pobieramy je, sprawdzamy z oryginałem i przenosimy do Państwa bazy. Prosimy o kontakt, omówimy źródło danych.