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

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
Customer experience
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
From challenge
Key Challenges
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ń).
Through the solution
Through the solution
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.
To the success
Technological outcomes

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.
Project team






Aleksander
Backend Developer
Tech stack
Java
Spring
Camunda
Apache Spark
Amazon S3
RabbitMQ
Elasticsearch
Kibana
Grafana
Your success is our success
See how we can build a technological advantage for your company together.
We have a team that truly knows its stuff — we'll help you find a solution that works.
Conclusions & recommendations

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.
