Bukmacher kontra gracz – czyli o tym, jak zbudowaliśmy generator kuponów oparty na statystykach sportowych
Statystyki są dziś powszechnie dostępne, lecz ich znaczne rozproszenie – w połączeniu z odseparowanymi kursami – utrudnia rzetelną analizę. Chęć głębszego zrozumienia danych kończy się zazwyczaj pracą na kilkunastu zakładkach i ręcznym wyliczaniem skuteczności drużyn. Przy tak ogromnej ofercie bukmacherskiej łatwo też przeoczyć najciekawsze okazje.
Historię powstania tego wyjątkowego narzędzia przybliży Piotr Thomas, Head of Web Development, który od 7 lat współtworzy portal Legalnibukmacherzy.pl.
Ten projekt nie zaczął się od briefu z dopiskiem “innowacja”. Zrodził się z prostej obserwacji: gracze nie zastanawiają się już, gdzie obstawiać, ale nad tym, co konkretnie wybrać.
Właśnie dlatego w naszej firmie zadaliśmy sobie kluczowe pytanie: skoro i tak archiwizujemy kursy oraz dysponujemy kompletnymi danymi historycznymi, dlaczego nie połączyć tego w jedno, spójne narzędzie wspierające podejmowanie decyzji?
Tak zaczęła się historia narzędzia, o którym chciałbym opowiedzieć.
Spis treści
Produkt strony Legalni Bukmacherzy
Nasze narzędzie to jeden z kilku produktów dla graczy dostępnych w serwisie Legalnibukmacherzy.pl. Nie projektowaliśmy go jako magicznego sposobu na ogranie bukmachera czy łatwe pieniądze. Cel był bardziej przyziemny: chcieliśmy w jednym miejscu pokazać skuteczność drużyn na konkretnych rynkach i umożliwić stworzenie kuponu idealnie dopasowanego do preferencji użytkownika. Tak właśnie powstał generator kuponów zespołu portalu Legalnibukmacherzy.pl
Dla tych, którzy nie znają branży bukmacherskiej – “rynek” to kategoria zakładu, to konkretne statystyki. Rynkami mogą być takie statystyki jak “Drużyna wygra mecz”, “Drużyna przegra mecz”, ale też “Powyżej 3.5 kartki w meczu”, “Mniej niż 20.5 fauli w meczu” czy “Obie drużyny strzelą gola”.
Założenie było proste: użytkownik określa parametry, a system buduje kupon. Przykładowo, przy kursie łącznym 5.25 i maksymalnie czterech zdarzeniach, algorytm wybiera selekcje o najwyższej skuteczności na danych rynkach i automatycznie generuje gotową propozycję.
Od koncepcji do produktu
Pomysł dojrzewał długo. Najpierw chcieliśmy po prostu archiwizować kursy i sprawdzać, czy były trafione. Potem naturalnie pojawił się pomysł prezentowania skuteczności danych rynków. A skoro mieliśmy już dane historyczne i kursy na przyszłe mecze, kolejnym logicznym krokiem był generator kuponów. Co ciekawe, nie robiliśmy tu serii nieudanych prototypów. Od początku wiedzieliśmy, że jeśli projekt powstanie, to od razu w wersji produkcyjnej. Podzieliliśmy projekt na dwa etapy: najpierw solidna warstwa statystyk, potem generator.
Technicznie rzecz biorąc, strona Legalnibukmacherzy.pl oparta jest na systemie CMS WordPress. Na pytanie, dlaczego tak duży brand jest obsługiwany przez WordPressa, odpowiedź jest niezwykle prosta – na co dzień stroną zarządzają redaktorzy, osoby nietechniczne. Muszą one mieć możliwość zmiany większości elementów na stronie, czasami w momencie, kiedy dział IT nie jest dostępny. Produkt natomiast, jakim jest opisywany generator, działa tylko jako warstwa aplikacyjna. Frontend to w większości czysty JavaScript. Backend opiera się na autorskich funkcjach, które łączą się z osobną bazą danych – nie korzystamy z domyślnej bazy WordPressa do przechowywania statystyk. To była świadoma decyzja. Wiedzieliśmy, że będziemy przetwarzać duże wolumeny danych: około 200 rynków piłkarskich, tysiące spotkań i setki drużyn. Mieszanie tego z klasyczną strukturą WP po prostu nie byłoby zasadne.
Dane pobieramy z zewnętrznych API. Pierwsze odpowiada za statystyki sportowe, drugie za kursy bukmacherskie. W tle pracują skrypty pobierające i analizujące dane. Sam generator opiera się wyłącznie na kursach przedmeczowych. Kursy live są zbyt dynamiczne, a my chcieliśmy stworzyć narzędzie stabilne, przewidywalne i możliwe do sensownego cache’owania w przyszłości. Aktualizacja kursów raz na minutę w zupełności wystarcza. Statystyki natomiast aktualizujemy rzadziej, bo użytkownicy i tak typują mecze na najbliższy dzień czy dwa, a odstęp między jednym a drugim meczem drużyny w danej lidze to z reguły tydzień. Margines błędu dostawcy danych mamy zatem spory.
Szczerze? Fenomenalna rzecz! Kiedy nie mam pomysłu, co grać, czasem puszczam sobie “tasiemkę” z generatora dla zabawy. Wielu moich znajomych też mówi: „Seba, ten generator to sztos!” – postawili i coś tam udało się wygrać. Jako fan sportu często korzystam z tego narzędzia i naprawdę daje fajne pomysły na kupony, na które większość by nie wpadła.
Sebastian Domdalski, Content Specialist Legalnibukmacherzy.pl
Wyzwania
Największym wyzwaniem nie było samo połączenie API, lecz wydajność, czyli performance. W pierwszej wersji narzędzie po prostu ładowało się zbyt długo. Liczenie skuteczności dla setek kombinacji rynków i drużyn w czasie rzeczywistym okazało się cięższe, niż zakładaliśmy. To był moment, w którym projekt mógł pójść w stronę „okej, działa, ale wolno”, albo w stronę porządnej optymalizacji. Zdecydowaliśmy się na drugie podejście. Kluczowa była reorganizacja zapytań i wykorzystanie możliwości, jakie daje MySQL w nowszych wersjach. Do tego dochodzi dedykowany, wydajny serwer. Bez tego całość zwyczajnie nie miałaby sensu. Efekt końcowy jest taki, że dziś statystyki liczą się błyskawicznie, a użytkownik nie ma poczucia obcowania z czymś ociężałym.
Ciekawym wątkiem była też sama logika generatora kuponów. To nie był temat czysto techniczny, raczej produktowy. Najwięcej dyskusji wywoływało pytanie: co jest ważniejsze – wielkość próby czy procent skuteczności? Czy liczyć skuteczność z całego sezonu, czy z ostatnich dziesięciu spotkań? W pewnym momencie zrozumieliśmy, że generator nie może być wyłącznie matematyczny. Drużyna może mieć świetny start sezonu, ale fatalną końcówkę. Jeśli algorytm tego nie uwzględnia, tworzy zniekształcony obraz. Ostateczna logika jest kompromisem wielu warunków: próby, świeżości danych, atrakcyjności rynku i możliwości dopasowania kursu łącznego do wymagań użytkownika.
Bardzo zależało nam na tym, aby generator jak najbardziej dopasowywał się do preferencji użytkownika. Dlatego dajemy mu czystą kartę w kontekście wyboru rozgrywek, kursu, czy liczby zdarzeń. Sami typujemy i wiemy, że każdy ma inne taktyki i preferencje. Nasz generator dopasowuje się do użytkownika, a nie narzuca gotowej koncepcji i to uznajemy za duży sukces.
Mikołaj Wiśniowski, Senior Content Specialist Legalnibukmacherzy.pl
Zgrany zespół to podstawa
W realizację zaangażowane było pięć osób. Ja odpowiadałem za architekturę bazy danych, mechanizm zbierania statystyk oraz pierwszą wersję frontendu. Michał przejął dalsze prace nad warstwą wizualną i dopracował kluczowy element – generator kuponów. Olga dbała o jakość poprzez regularne testy, zgłaszanie poprawek oraz wsparcie automatyzacji danych. Zespół uzupełniali: Mikołaj, autor koncepcji merytorycznej generatora, oraz Ania, która jako Project Manager czuwała nad sprawną koordynacją prac. Działaliśmy w dwutygodniowych sprintach z kwartalnym planowaniem, co pozwoliło nam zamknąć cały proces – od startu po pełne wdrożenie – w zaledwie dwa kwartały.
Nie obyło się bez lekcji pokory, która pokazała dystans dzielący teorię od praktyki. Projekt graficzny kuponu w pierwszej wersji wyglądał świetnie – ale tylko na dużym ekranie. Na smartfonie konfigurator i dane przestały się mieścić, co zmusiło nas do przebudowania widoku niemal od podstaw. To trzeźwiące przypomnienie: produkt nie żyje w Figmie, tylko w dłoniach użytkownika.
Moim zadaniem było rozwinąć solidną bazę statystyk przygotowaną przez Piotra w działające narzędzie, z którego gracz faktycznie chce korzystać. Na podstawie gotowego projektu graficznego zbudowałem całą warstwę frontendową i logikę generatora – od filtrowania selekcji po mechanizm składania kuponu.
Dużo satysfakcji dała mi praca nad detalami, które wpływają na wiarygodność narzędzia: obsługa różnic podatkowych między bukmacherami, kalkulacja bonusów AKO, dobór selekcji z uwzględnieniem minimalnej historii meczów i świeżości danych. To elementy, które użytkownik odbiera intuicyjnie – widzi kwotę potencjalnej wygranej i ufa, że jest prawdziwa – ale pod spodem każdy z nich wymagał przemyślenia wielu scenariuszy.
Fajnie było pracować z zespołem, który dostarczył mocne fundamenty. Dzięki temu mogłem skupić się na tym, co lubię najbardziej – dopracowywaniu doświadczenia użytkownika i pilnowaniu, żeby każdy szczegół działał tak, jak gracz tego oczekuje.
Michał Łysejko, WordPress Developer Legalnibukmacherzy.pl
Efekt końcowy
Największym zaskoczeniem po wdrożeniu była konwersja. Zakładaliśmy, że produkt poprawi czas spędzony na stronie, pośrednio wesprze SEO i ogólną kondycję serwisu. Tymczasem okazało się, że użytkownicy bardzo chętnie przechodzą do bukmachera, mimo że przycisk „Zagraj” nie jest eksponowany na górze strony. Najpierw oglądają statystyki, potem generują kupon, a konwertują dopiero na końcu. To dla nas sygnał, że generator buduje zaufanie. Użytkownik widzi dane, rozumie, skąd wynikają selekcje, i dopiero wtedy podejmuje decyzję.
Co dalej?
Obecnie skupiamy się na dopracowaniu szczegółów i analizowaniu, czy wybrane przez nas rynki odpowiadają potrzebom użytkowników. W kolejnych iteracjach planujemy rozbudować logikę generatora oraz wprowadzić analitykę dotyczącą samych kuponów. Chcemy wiedzieć, ilu graczy skorzystało z naszych propozycji i z jakim skutkiem.
Z tego projektu mój zespół wyciągnął cenną lekcję: w narzędziach opartych na danych najtrudniejsze procesy dzieją się “pod spodem”. UI to zaledwie wierzchołek góry lodowej. Prawdziwym wyzwaniem jest zrozumienie źródeł danych, ich ograniczeń i zależności oraz wypracowanie niezbędnych kompromisów. Druga lekcja jest jeszcze prostsza: wydajność (performance) to nie zadanie na później – to integralny element produktu.
Stworzyliśmy to narzędzie, by zintegrować statystyki z kursami. Dziś mamy pewność, że to była dobra decyzja. O jego sukcesie nie świadczy bowiem hasło “innowacja”, lecz fakt, że gracze faktycznie z niego korzystają.
Podobne artykuły
FinOps AI – jak okiełznać gigantyczne rachunki za tokeny i GPU?
Przebranżowienie w 2026: Z Humanisty na AI Auditora w 6 miesięcy
Green Coding – czy Twoja aplikacja przejdzie test emisyjny?
Dyrektywa o jawności płac: Jak polskie software house'y poradziły sobie z "nagą prawdą"?
AI Agent Orchestrator – najbardziej pożądany zawód 2026 roku
Technologia, która otwiera sklepy. Jak HelpDesk Silky Coders wspiera ekspansję Sinsay?
Oto najlepiej płatne technologie 2025 roku. Sprawdzamy, gdzie najwięcej się zarabia w IT