Az OLX piactérnél az egyik visszatérő üzleti probléma az volt, hogy a felhasználók gyakran bizonytalanok voltak a kiszállítás idejével kapcsolatban. Egy online piactéren – ahol magánszemélyek adnak el egymásnak – ez különösen kritikus kérdés: ha a vevő nem tudja nagyjából, mikor érkezik meg a csomag, sokkal nagyobb eséllyel lép vissza a vásárlástól. Az OLX Pay&Ship szolgáltatásának növekedéséhez ezért elengedhetetlen volt egy megbízható, előre jelezhető szállítási időbecslés.
A szállítási idő becslése
Az OLX-nél nem egyszerűen egy „átlagos szállítási időt” akartak megjeleníteni, hanem egy olyan becslést, amely tükrözi a valóság összetettségét és a bizonytalanságot is. Ennek megoldására a OLX mérnökcsapata gépi tanulási megközelítést választott, amely történelmi adatok alapján képes tanulni a korábbi szállítási mintákból.
A projekt megkezdése előtt
A kiindulópont az volt, hogy részletesen elemezték a korábbi tranzakciókat. Gyorsan kiderült, hogy a „kiszállítási idő” valójában több, egymástól eltérő folyamat eredője. Az egyik komponens az eladó viselkedéséhez kapcsolódik: mennyi idő telik el a vásárlástól addig, amíg az eladó ténylegesen feladja a csomagot. A másik – és jellemzően dominánsabb – komponens a logisztika, vagyis a futárszolgálat tényleges szállítási ideje. Ezekhez jönnek még olyan tényezők, mint a földrajzi távolság, a régiók közötti különbségek, illetve az, hogy a rendelés a hét melyik napján történt.
Mielőtt komolyabb gépi tanulási modellt építettek volna, az OLX-nél egy egyszerű, statisztikai alapmegoldást vezettek be. Futárszolgálatonként megnézték a korábbi szállítások eloszlását, és ezekből tipikus időintervallumokat számoltak. Ez már önmagában is javulást hozott a teljes bizonytalansághoz képest, de hamar látszott, hogy ez a megközelítés túl durva közelítés: nem tudott különbséget tenni például egy városon belüli és egy ország másik végébe történő szállítás között.
Ezen a ponton lépett be a gépi tanulás. Az OLX mérnökei egy olyan modellt kerestek, amely jól kezeli a sok kategóriás változót – például a futárszolgálat típusát vagy a régiókat –, és képes nemlineáris összefüggések megtanulására. Választásuk a CatBoost algoritmusra esett, amely egy gradiens boosting alapú modell, kifejezetten hatékony ilyen jellegű adatok esetén.
A megközelítés egyik kulcsa az volt, hogy nem egyetlen „pontbecslést” adtak a szállítási időre. Az OLX-nél tudatosan elfogadták, hogy a logisztika bizonytalan, ezért a modellt úgy tanították, hogy egy alsó és egy felső becslési határt adjon meg. Ezt úgynevezett kvantilis regresszióval oldották meg: külön modellek tanulták meg, hogy az esetek például 10%-ában mikor érkezik meg legkorábban a csomag, és 90%-ában legkésőbb. A felhasználó így nem egy félrevezetően pontos számot lát, hanem egy reális időintervallumot, amelyben nagy valószínűséggel megtörténik a kézbesítés.
How can I control my budget?
A modell tanítása során számos jellemzőt használtak fel: a futárszolgálat típusát, a feladás és kézbesítés régióját, a két pont közötti távolságot, valamint időbeli mintákat is, például a hét napját. Ezek kombinációjából a modell képes volt felismerni olyan mintázatokat, amelyeket kézzel megfogalmazott szabályokkal szinte lehetetlen lenne lefedni.
Az eredmények egyértelműek voltak. A gépi tanulási modell lényegesen pontosabban fedte le a valós szállítási időket, mint az egyszerű statisztikai baseline. Jelentősen csökkent azoknak az eseteknek az aránya, amikor a csomag a becsült intervallumon kívül érkezett meg, ami közvetlenül javította a felhasználói élményt és a szolgáltatásba vetett bizalmat.
A technikai megvalósításnál az OLX-nél nagy hangsúlyt fektettek arra, hogy a modell ne csak kísérleti környezetben működjön jól. Automatizált adatfeldolgozási és tanítási folyamatokat építettek, verziózták a modelleket, és konténerizált környezetben futtatták az előrejelzéseket, hogy az egész rendszer megbízhatóan és skálázhatóan működjön éles környezetben is.
Összességében az OLX példája jól mutatja, hogyan lehet a gépi tanulást pragmatikusan, üzleti problémára fókuszálva alkalmazni. Nem egy „mindenre jó” AI-t építettek, hanem egy konkrét döntési pontot – a kiszállítási idő kommunikálását – javítottak fel adatalapon. A megoldás ereje éppen abban rejlik, hogy elfogadja a bizonytalanságot, és azt transzparensen, felhasználóbarát módon jeleníti meg.
A részletes technikai leírás az OLX mérnökeinek eredeti blogposztjában olvasható:
https://tech.olx.com/machine-learning-for-delivery-time-estimation-1-591c8df849a0