Prieš penkerius metus tos pačios dienos pristatymas atrodė kaip prabanga.Šiandien tai yra bazinis lūkesčiai. „Big Tech“ ir mašininio mokymosi bumas, kurį ji sukėlė, tyliai pakeitė vartotojų įpročius: laukimas iki rytojaus nebėra galimybė. Ekspresinis pristatymas („per 30–45 minutes“) jau remiasi gerai išbandytais algoritmais: papildomi mokesčiai kyla ir mažėja, kai paklausa, eismas ir oras kyla.Bet tą akimirką, kai pirkėjas paspaudžia „pateikti iki 6 val. šiandien“, dauguma platformų siūlo nuolaidą, pagrįstą jausmu – iš tikrųjų neatsižvelgiant į tai, kiek kurjerių valandų taupo pasirinkimas. Paradoksalu, kad nei „Amazon“, nei „Uber“ nepaskelbė galutinio požiūrio į šių atidėtų pristatymo langų kainodarą, nors jie turi turtingiausią maržą. Visoje pristatymo rinkoje dinamiškas kainų nustatymas yra pagrindinis rinkos reikalavimas, tačiau dauguma viešųjų straipsnių orientuojasi į realaus laiko pasiūlos ir paklausos balansavimą (pvz., Augimo ar „užimtų“ mokesčių). Tai kainuoja pristatymo langus skirtingai, kad pasikeistų paklausa, o „Uber Eats“ Užimtas plotas Mokestis, kai užsakymai viršija kurjerių tiekimą. admits documents admits documents Dėl atidėtų tos pačios dienos langų mažmenininkai signalizuoja, kad lankstumas yra pigesnis, tačiau nė vienas iš jų neatskleidžia, kaip matematika iš tikrųjų veikia. , Tesco runs pricing that varies by postcode, day, and time window, Ocado links delivery charges to „Amazon“ pasiūlymai (Laisva konsolidacija planuojama) tuo tarpu istoriniu Prime Now kaip nemokama 2 valandos vs. mokama 1 valanda. Saver slots lankstumo taupymas Užrakto prieinamumas Amazonės diena running Išsaugoti lizdus lankstumo taupymas Užrakto prieinamumas Amazonės diena running Tai aiškiai rodo, kad ilgesni langai yra naudingi mažmenininkams.Tačiau rinkoje vis dar trūksta galutinio sprendimo, kuris konvertuoja partijų efektyvumą ir kurjerių valandų taupymą į nuolaidas, kurias klientai iš tikrųjų mato. Tai atotrūkis, kurį ši dalis sprendžia: susieti tos pačios dienos lango plotį su prognozuojamu tiekimo valandos taupymu ir paversti jį aiškiu, sąžiningu kainų signalu. This article distils the key ideas behind a solution I built to address the problem. The goal is to outline the framework, not describe any one company’s system. The approach links delivery-window width to the expected Supply Hour Economy (SH economy) and turns it into a price signal that’s fair for shoppers, couriers, and the platform. I’m sharing my approach to give ML engineers and last-mile delivery practitioners a concrete reference point — something practical to help move the field forward faster. Batching as a Key to Efficiency Batching as a Key to Efficiency Aukšto lygio rinkoje yra du pagrindiniai komponentai: — delivery requests created by users in real time. Demand Tiekėjai – kurjeriai, kurie patenkina šiuos prašymus. Paprasčiausiu atveju kiekvienas kurjeris vienu metu atlieka tik vieną užsakymą.Bet didžiausiais laikotarpiais paklausa dažnai gerokai viršija pasiūlą.Daug užsakymų atvyksta per trumpą laiką, todėl užduotys turi būti atliekamos efektyviau (žr. 1 paveikslėlį). Tačiau ką iš tikrųjų reiškia „efektyvus“?Tai priklauso nuo to, kaip mes jį apibrėžiame.Čia efektyvumas yra užbaigtų pristatymo valandų skaičius padalintas iš turimų kurjerių valandų skaičiaus: Kaip mes galime padidinti tą efektyvumą? Yra keletas strategijų, tačiau viena iš svarbiausių yra . Batching means a courier delivers multiple orders in a single run. This system property significantly boosts efficiency. batching Understanding Batching Delivery Logic Suprasti pristatymo logiką Paimkime paprastą pavyzdį. Tarkime, kad turime du pristatymo prašymus. Kiekvieną prašymą galima pateikti kaip taškų porą: tašką A (pickup) ir tašką B (drop-off). Už kiekvieną prašymą galima apskaičiuoti paklausos valandas – laiką, reikalingą keliauti iš A į B, atsižvelgiant į eismą, orą ir kitas sąlygas. What are our options? Vienas iš būdų yra priskirti atskirą kurjerį kiekvienam prašymui. Šiuo atveju reikia kurjerio laiko tiek faktiniam pristatymui (A iki B), tiek - laikas, per kurį kurjeris pasiekia tašką A. Tai veikia, bet tai nėra labai efektyvu. approach time Dabar apsvarstykite kažką protingesnio: paskirkite vieną kurjerį tarnauti Pavyzdžiui, kurjeris pirmiausia keliauja į antrojo prašymo A tašką, paima jį, tada eina į pirmojo prašymo išleidimo tašką, pristato jį ir pagaliau pristato antrąjį. both orders Šiame scenarijuje kurjeris seka žaliuoju maršrutu, parodytu dešinėje. ir komponentai - ir efektyvumo formulė iš ankstesnio skirsnio - mes galime apskaičiuoti partijų efektyvumą. demand supply Iki šiol intuicija turėtų būti aiški: batching is a powerful lever for improving efficiency. SH Economy as the Principal Metric Ekonomika kaip pagrindinė metrika However, it's better not to evaluate batching quality using the overall efficiency metric. Efficiency is influenced by numerous external factors, so a measure that depends solely on batch properties is preferable. Courier-time savings — or SH economy (Supply Hour economy) — serve this purpose, capturing the reduction in supply hours attributable to batching. SH ekonomika apibrėžiama kaip skirtumas tarp kurjerių laiko, reikalingo, jei užsakymai buvo tvarkomi atskirai, ir laiko, faktiškai praleisto kurjerių pristatant visą partiją, išreikšto santykine forma: Normalizuojant pagal nepriklausomą pristatymo sumą, gaunamas bedimensinis santykis, kurį galima lengvai palyginti tarp bet kokio dydžio ar geografijos partijų. Returning to the earlier two-order example: 33 minutės kurjerių laiko Independent deliveries: 26 minutės Batched route: ir indicates a Pavyzdžiui, tai padaryta naudojant purkštuką.Tai suteikia nepažeidžiami išorinių svyravimų platesniame pristatymo tinkle. SH economy of 0.21 21% reduction in supply hours a clean, batch-specific indicator, Increasing Batching Efficiency with Flexible-Window Delivery Didesnis gabenimo efektyvumas su lanksčiu langų pristatymu Pakrovimo efektyvumas pagerėja, kai greitojo aptarnavimo paslauga papildo lankstus langų pristatymas. , which minimizes customer wait time — but gives the platform no time to find batching opportunities. immediate courier assignment In contrast, — whether 30 minutes, two hours, or any other same-day interval — widens the delivery time range and allows the request to remain in the queue for a short period. During this pause, there’s a higher chance that a nearby order will arrive, allowing the two to be combined into a single batch and assigned to one courier. a flexible window Kuo didesnis baseinas Kuo didesnė sėkmingo gabenimo tikimybė.Tai lemia mažiau pristatymo valandų, geresnį kurjerių laiko panaudojimą ir galiausiai - mažesnę kainą klientui. pairable requests, Praktiškai platesni pristatymo langai plečia poruojamų užklausų baseiną, padidindami partijų tikimybę ir, savo ruožtu, SH ekonomiką. Pricing Flexible-Window Delivery Lanksčios kainos langų pristatymui Teisingos kainos nustatymas lanksčiam langų pristatymui yra pagrindinis produktų iššūkis. Most marketplaces already operate išankstinio pristatymo. tokiose sistemose, Jis gali būti pateiktas kaip du dauginamieji komponentai: a dynamic pricing engine the cost per order (CPO) — the dynamic base price, which already accounts for real-time signals such as demand spikes, courier availability, traffic, weather, and other operational factors. CPO_base Kai intervalas plečiasi, šis komponentas sumažina galutinę kainą, kad atspindėtų kurjerių laiko taupymą, pasiektą perdavus partijas. CPO_economy(window_width) Pagrindinė užduotis yra išmokti CPO_economy(window_width) funkciją, išlaikant esamą CPO_base(·) nepaliestą, nes greito pristatymo kainodara jau veikia kaip numatyta. Quick Example Quick Example Let’s walk through a simple calculation. Darant prielaidą, kad minutė kurjerių laiko kainuoja 0,20 USD. Dviejų užsakymų pristatymas nepriklausomai trunka 33 minutes, taigi kaina už užsakymą yra: **==33 × $0.20 = $6.60==** Dabar, jei platesnis pristatymo langas leidžia gabenti du užsakymus, kurjerių laikas sumažėja iki 26 minučių, todėl kaina sumažėja iki: **==26 × $0.20 = $5.20==** The SH economy in this case is: **==(33 − 26) / 33 ≈ 0.21==** This results in a 21% reduction in supply hours — and the customer pays roughly 21% less. Thus, Apskaičiuokite ekonomikos vertę. pricing flexible-window options reduces to an analytical problem: Since prices must be shown to the customer kelių tos pačios dienos pristatymo langų atveju, Jie turi būti up front, the courier-time savings can’t be calculated after the fact predicted in advance. From Baseline to ML-Based SH Economy Forecasts From Baseline to ML-Based SH Economy Forecasts Natūralus pradinis taškas yra pastovus prognozavimas: naudokite istorinį kaip prognozuojamas sutaupymas kiekvienam prašymui. Ši bazinė linija yra silpna. on both sides and a spike at - iš užsakymų mažo tankio vietovėse, kurios niekada negali būti gabenamos. average the SH economy heavy tails zero Pasitikėjimas vienu vidurkiu ignoruoja šiuos modelius ir palieka pinigus ant stalo. Why ML is Needed Kodėl reikia ML Prognozavimo kokybės gerinimas reikalauja ML pagrįstos prognozės, tačiau mašininio mokymosi įvedimas į kainodarą nėra trivialus: bet kokia prognozuojama nuolaida tampa shown to the customer at checkout. This means the model must balance with Visose klientų grupėse. a real commitment predictive power high reliability typically arise when building such a system. Three key challenges Defining the target Pirmasis ir akivaizdžiausias klausimas yra: what exactly should the model learn to predict? Consider the SH economy formula. It compares two quantities: Nepriklausomas pristatymas: kiek kurjerių minučių būtų išleista, jei kiekvieną užsakymą partijoje tvarkytų atskiras kurjeris? **Batched pristatymas:**kiek minučių iš tikrųjų buvo išleista, kai tie užsakymai buvo pristatyti kartu partijoje? Antroji vertė yra iš realių žurnalų (su šiek tiek valymo). The first is counterfactual — so it has to be it never happened, forecast. Even in a simple example, solo delivery includes: Artimiausias laikas į Pickup Point, A → B kelionės laikas, ir gamyboje: laukimo laikas paėmimo metu, išsiuntimo laikas, eilės ir kt. Kiekvienas iš šių elementų yra atskira prognozė – ir kiekviena prognozė gali būti šališka. so that the Atitinka pastebėtą vidurkį istoriniuose duomenyse. bias-corrected predicted solo time Where: Sheconomy(batch) — occurs in reality SH (i) tvarka – prognozės SH(batch) – dabartinis Another complication is that pricing is done Ekonomika yra apibrėžta Todėl mums reikia Naivus pasiskirstymas pagal paklausos valandas nėra idealus, nes not distance. In practice, we allocate SH economy - patys kiekiai, kuriuos tik numatė modelis. per order, per batch. allocate the economy across orders. customers pay for courier time, proportionally to predicted supply hours per order This transformation creates the final per-order training target, which aggregates back to the true batch-level SH economy after delivery. Volatility & drift Antroji kliūtis yra natūralus tikslo nepastovumas.Kai vidutinė SH ekonomika yra suplanuota per ilgesnį laikotarpį, kreivė yra bet kas, išskyrus stacionarią: staigus kritimas atsiranda gruodį (švenčių dienomis), o platesnės sezoninės bangos žymi ankstyvą vasarą ir metų pabaigos viršūnes.Toks nutekėjimas daro paprastą „vidutinį“ modelį nenaudingą. Norėdami stabilizuoti prognozes, funkcijų rinkinys yra suskirstytas į dvi dalis. Turinio funkcijos priklauso tik nuo paties pasiūlymo: pasirinkto pristatymo lango, dienos laiko, savaitės dienos ir geografijos. Savaitgalio užklausų modeliai labai skiriasi nuo savaitės dienų, o dideliame mieste užsakymų tankis skiriasi nuo mažesnio milijono miestų, todėl šie kategoriški signalai sugeria pasikartojančią sezoniškumą. Jie papildo statistines savybes, kurios apibūdina dabartinę rinkos būseną: paklausos ir pasiūlos tankis, taip pat kruopščiai parengtos tikslinės savybės – trumpalaikiai pastarojo laikotarpio SH ekonomikos vidurkiai. Pastarieji yra ypač informatyvūs, tačiau juos reikia tvarkyti atsargiai; kitaip modelis rizikuoja išleisti būsimą informaciją. „Turinio“ funkcijos – priklauso tik nuo paties pasiūlymo chosen delivery window time of day/day of week geography „Statistinės“ savybės – apibūdinkite dabartinę rinkos būklę rolling demand density rolling supply density atsargiai atsilieka nuo tikslinių bruožų (naujausi SH ekonomikos vidurkiai) Feedback loops left uncontrolled Modelio pačios prognozės iš naujo formuoja tikslą, kurį prašoma prognozuoti. Padidinkite tikėtiną SH ekonomiką, o rodomos kainos už lankstų langų pristatymą sumažėja. Mažesnė kaina įtikina daugiau klientų pasirinkti lėtesnį variantą, o tai savo ruožtu padidina partijų skaičių ir padidina faktinę SH ekonomiką. Sudėtingas, rankomis pagamintas korekcijos modelis galėtų pabandyti pašalinti šį savarankišką poveikį, tačiau bet kokia fiksuota formulė netrukus taptų netiksli. Nuolatinis persikraustymas: modeliai atnaujinami su naujausiais duomenimis trumpai, reguliariai, leidžiant jiems sugerti lėto lango užsakymų maišą. Jei prognozavimo pasiskirstymas nepasikeitė daug, diegimas sprendžiamas tik dėl neprisijungusios metrikos; jei perėjimas yra didelis, prieš pradedant diegimą atliekamas pilnas internetinis A / B testas. Šis ciklas išlaiko kainodaros sistemą stabilią net ir tuo metu, kai nuolat vystosi klientų elgesys – taigi ir SH ekonomikos tikslas. Conclusion Conclusion Same-day last-mile delivery can’t be optimized just by nudging couriers or tweaking surge multipliers. The real unlock is batching. Kai pristatymo langai buvo susieti su laukiamu — santykinis kurjerių laiko taupymas, kurį atveria partija — prognozuoti SH ekonomiką kiekvienam pasiūlymui ir išversti tą taupymą į sąžiningą nuolaidą. Supply-Hour Economy (SH economy) dynamic pricing became a machine learning problem: Three technical hurdles shaped the solution: Predict the solo courier minutes for each request, then allocate the future batch’s savings back to its orders in proportion to those minutes. Turn a batch metric into an order target. Absorb seasonality and daily shocks with a two-tier feature set: stable content-based signals (window length, time, geography) and rolling marketplace statistics (demand, supply, lagged SH economy). Stabilise a volatile target. Continuous retraining keeps the model aligned with the behaviors it creates, while distribution guardrails trigger A/B testing when predictions drift. Control the feedback loop. Two more layers — and — work behind the scenes to keep the system stable and trustworthy in production. robust experimentation the dynamic strategies of large shippers Public, end-to-end cases of flexible-window pricing remain rare. Sharing real-world lessons helps the industry move faster toward tomorrow’s customers will take for granted. the friction-free, on-demand marketplaces