System rekomendacji przewoźników dla Trans.eu: inteligentny matching oparty na danych i modelowaniu procesów
O projekcie

Trans.eu to jedna z największych giełd ładunków w Europie, łącząca firmy spedycyjne z przewoźnikami. Platforma obsługuje dziesiątki tysięcy zleceń dziennie i od lat rozbudowuje ekosystem usług cyfrowych wokół rynku transportowego. fireup.pro współpracowało z Trans.eu od 2017 roku jako jeden z kilku zespołów zaangażowanych w rozbudowę platformy w tym m.in. jako Team Blue, odpowiedzialny za wybrane systemy backendowe.

Biznesowe

Technologiczne
Doświadczenie klienta
W dynamicznie zmieniających się warunkach rynkowych, które są podstawą specyfiki rozwiązania SmartMatch, ważny jest zaangażowany zespół. Muszą oni również umieć przełożyć pomysły na działające rozwiązanie, rozumiejąc przy tym specyfikę biznesu. Zespół fireup.pro spełnia wszystkie te kryteria.
Aleksander Olbert
Product Owner, Trans.eu
Od wyzwania
Kluczowe wyzwania
Dane z wielu źródeł, różnej jakości
Dane z wielu źródeł, różnej jakości
Pierwotna lista kandydatów powstawała w zewnętrznym systemie, początkowo opartym o machine learning analizujący czat między zleceniodawcami i przewoźnikami (gdzie jeżdżą, czym handlują). Ten model okazał się nieprecyzyjny w praktyce. Dopiero kiedy Trans.eu wprowadził faktyczne zlecenia jako byty systemowe (z przypisanymi przewoźnikami i trasami), jakość wejściowych danych wzrosła na tyle, by filtrowanie miało sens. System SmartMatch musiał działać na danych, które ewoluowały razem z platformą.
Modelowanie złożonego procesu decyzyjnego
Modelowanie złożonego procesu decyzyjnego
Wybór przewoźnika to nie jedno kryterium, lecz 21 czynników: certyfikaty, znaki towarowe, dopasowanie trasy, wiek floty, wcześniejsze doświadczenia z klientem i inne. Każdy filtr mógł podnosić lub obniżać wiarygodność przewoźnika. Wyzwaniem było nie tylko zaimplementowanie tej logiki, ale przedstawienie jej w formie zrozumiałej dla biznesu tak, żeby product owner widział co i dlaczego się dzieje na każdym etapie oceny.
Implementacja od zera, integracja z rosnącą platformą
Implementacja od zera, integracja z rosnącą platformą
SmartMatch powstawał w momencie, gdy Trans.eu przechodził z architektury monolitycznej na mikroserwisy. System musiał integrować się z istniejącymi i nowo powstającymi serwisami, konsumować dane z różnych źródeł i dostarczać wyniki do nowej platformy bez możliwości zatrzymania działającego środowiska produkcyjnego.
Kluczowe wymagania funkcjonalne
Filtrowanie wieloczynnikowe
- wybór najlepszych kandydatów z pierwotnej listy na podstawie 21 warunków biznesowych (certyfikaty przewoźnika, zgodność trasy, wiek floty, historia współpracy, znaki towarowe i inne), z możliwością konfiguracji wag poszczególnych kryteriów.
Integracja z zewnętrznym serwisem rekomendacyjnym
- pobieranie i normalizacja danych z systemu generującego pierwotną listę przewoźników.
Wizualizacja procesu
- graficzne odwzorowanie algorytmu rekomendacji w narzędziu Camunda, dostępne dla zespołu biznesowego klienta.
Dostarczanie wyników do platformy
- eksport posortowanej listy rekomendacji do platformy mikroserwisowej Trans.eu.
Dostęp do danych z wielu serwisów
- agregacja informacji o przewoźnikach z różnych źródeł (certyfikaty, statystyki aktywności, historia zleceń).
Przez rozwiązanie
Przez rozwiązanie
Architektura i podejście
- Team Blue zaimplementował SmartMatch od zera jako serwis backendowy w Javie i Springu. Serwis pobierał surowe rekomendacje z zewnętrznego systemu, a następnie przepuszczał każdego kandydata przez wieloetapowy proces filtrowania — modelowany i wykonywany za pomocą narzędzia Camunda.
- Camunda posłużyła tu do dwóch celów jednocześnie: po pierwsze, jako mechanizm wykonujący logikę procesu (kolejne etapy oceny przewoźnika), po drugie, jako narzędzie do graficznej wizualizacji tego procesu. W rozmowach z biznesem zespół mógł pokazać dokładnie, co dzieje się na każdym etapie — który filtr odpada, dlaczego dany przewoźnik dostał wyższą lub niższą punktację. To był konkretny most między logiką backendową a decyzjami produktowymi.
- Dane o przewoźnikach (certyfikaty, historia, statystyki aktywności) pobierane były z dostępnych serwisów platformy Trans.eu. Do analizy i agregacji danych wykorzystano Apache Spark. Komunikacja między komponentami opierała się na RabbitMQ. Logi i monitoring — Elasticsearch, Kibana i Grafana.
Sposób pracy
fireup.pro działało jako dedykowany team backendowy - kilkuosobowy zespół developerów Javy oraz testerem QA. Praca odbywała się w cyklach 2-tygodniowych, z pełną odpowiedzialnością za projekt od architektury po wdrożenie.
Po sukces
Efekty technologiczne

System zrealizowany od zera i wdrożony produkcyjnie
SmartMatch działał jako jeden z serwisów nowej platformy mikroserwisowej Trans.eu, dostarczając rekomendacje przewoźników do zleceń zgłaszanych przez użytkowników giełdy.

Transparentny proces decyzyjny
Dzięki Camundzie każdy etap algorytmu rekomendacji był zwizualizowany graficznie i czytelny dla biznesu, nie tylko dla zespołu technicznego. Rozmowy o logice dopasowania odbywały się na diagramach procesu, nie na fragmentach kodu.

Wieloźródłowa agregacja danych
System integrował dane o przewoźnikach z wielu serwisów Trans.eu, łącząc informacje o certyfikatach, historii, aktywności i preferencjach zleceniodawców w jeden spójny model oceny.
Zespół projektowy






Aleksander
Backend Developer
Tech stack
Java
Spring
Camunda
Apache Spark
Amazon S3
RabbitMQ
Elasticsearch
Kibana
Grafana
Twoja sukces to nasz sukces!
Zobacz, jak możemy wspólnie zbudować technologiczną przewagę dla Twojej firmy
Mamy zespół, który naprawdę zna się na rzeczy — pomożemy Ci znaleźć rozwiązanie, które działa.
Wnioski i rekomendacje

Jakość danych wejściowych decyduje o jakości systemu
Pierwsze iteracje systemu rekomendacyjnego po stronie Trans.eu (oparte o analizę czatu) nie dawały wystarczająco precyzyjnych wyników. Dopiero gdy platforma zaczęła operować na faktycznych zleceniach jako bytach systemowych, filtrowanie SmartMatch miało solidną podstawę. Warto inwestować w jakość danych źródłowych zanim zainwestuje się w zaawansowane algorytmy.

Camunda: świetna do transparentności procesu, gorsza przy dużym obciążeniu
Graficzna wizualizacja procesu była realną wartością w komunikacji z biznesem, zamiast opisywać algorytm słowami, można było pokazać diagram. Jednocześnie Camunda nie jest rozwiązaniem o najwyższej przepustowości. Na ówczesną skalę Trans.eu działała poprawnie, ale przy znaczącym wzroście liczby zapytań wymagałaby zwiększenia zasobów systemowych lub przemyślenia architektury.
Modelowanie procesów biznesowych jako narzędzie pracy produktowej
Podejście „narysuj proces przed implementacją" okazało się użyteczne nie tylko technicznie. Diagram Camundy stawał się dokumentacją żywą - wskazywał co jest zaimplementowane, co jest warunkiem biznesowym, gdzie zaczynają się edge case'y.
