Viisi vuotta sitten saman päivän toimitus tuntui ylelliseltä. Nykyään se on lähtökohtainen odotus. Big Tech - ja sen aiheuttama koneoppimisen pommi - hiljaa uudisti kuluttajien tottumukset: odottaminen huomiseen ei ole enää vaihtoehto. Kuvittele myyntikauden kiireisin päivä. Express-toimitus (”30–45 minuutissa”) perustuu jo hyvin testattuihin algoritmeihin: lisämaksut nousevat ja laskevat kysynnän, liikenteen ja sääolosuhteiden huipulla. Mutta hetki, jolloin ostaja napsauttaa ”toimitus klo 6 mennessä tänään”, useimmat alustat tarjoavat alennuksen, joka perustuu suolen tunteeseen – ilman, että itse asiassa otetaan huomioon, kuinka monta kuriirituntia valinta säästää. Paradoxically, neither Amazon nor Uber has published an end-to-end approach to pricing these deferred delivery windows — even though they hold the richest margin upside. Toimitusmarkkinoilla dynaaminen hinnoittelu on perusmarkkinoiden vaatimus - mutta useimmat julkiset artikkelit keskittyvät reaaliaikaiseen tarjonnan ja kysynnän tasapainottamiseen (kuten nousu- tai "kiireisiin" maksuihin). toimitusikkunoiden hinnat vaihtelevat kysynnän mukaan, kun taas Uber syö kiireinen alue maksu, kun tilaukset ylittävät kuriiri toimitus. myöntää asiakirjoja myöntää asiakirjoja Samana päivänä lykättyjen ikkunoiden osalta vähittäiskauppiaat antavat signaalin, että joustavuus on halvempaa - mutta mikään niistä ei paljasta, miten matematiikka todella toimii. Tesco juoksee hinnoittelu, joka vaihtelee postikoodin, päivän ja kellonajan mukaan, Ocado linkittää toimitusmaksut , and Amazon offers (Vapaa ohjelmoitu konsolidointi) kun taas historiallisesti Prime Now on ilmainen 2 tuntia vs. maksettu 1 tunti. Saver slots Joustava säästäminen slot availability Amazon Day running Saver slots Joustava säästäminen slot availability Amazon Day running Se osoittaa selvästi, että pidemmät ikkunat hyödyttävät vähittäiskauppiaita.Mutta markkinoilla puuttuu edelleen loppuratkaisu, joka muuntaa erän tehokkuuden ja kuriiritunnin säästöt alennuksiksi, joita asiakkaat todella näkevät. Se on se aukko, jota tämä kappale käsittelee: yhdistää saman päivän ikkunan leveys ennustettuun Tarjonta-tunnin säästöön ja muuttaa se selkeäksi, oikeudenmukaiseksi hintasignaaliksi. 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 Tehokkuus on avain tehokkuuteen Korkealla tasolla markkinapaikalla on kaksi ydinkomponenttia: — delivery requests created by users in real time. Demand — the couriers who fulfil those requests. Supply In the simplest case, each courier carries just one order at a time. But in peak periods, demand often far exceeds supply. Many orders arrive within a short span, so assignments have to be made more efficiently (see picture 1). But what does “efficient” really mean? It depends on how we define it. Here, efficiency is the number of delivery hours completed divided by the number of courier hours available: How can we increase that efficiency? There are multiple strategies — but one of the most important is . Batching means a courier delivers multiple orders in a single run. This system property significantly boosts efficiency. batching Understanding Batching Delivery Logic Batching Delivery -logiikan ymmärtäminen Let’s walk through a simple example. Suppose we have two delivery requests. Each request can be represented as a pair of points: point A (pickup) and point B (drop-off). For each request, demand hours can be estimated — the time required to travel from A to B, factoring in traffic, weather, and other conditions. These are the demand-side components. Mitä vaihtoehtoja meillä on? Yksi lähestymistapa on määrittää jokaiselle pyynnölle erillinen kuriiri. Tässä tapauksessa tarvitaan sekä varsinaisen toimituksen (A-B) että toimituksen toimitusaika. — the time it takes a courier to reach point A. This works, but it’s not very efficient. approach time Nyt harkitse jotain älykkäämpiä: määritä yksi kuriiri palvelemaan Esimerkiksi kuriiri matkustaa ensin toisen pyynnön pisteeseen A, noutaa sen, sitten menee ensimmäisen pyynnön pudotuspisteeseen, toimittaa sen ja lopulta toimittaa toisen. both orders In this scenario, the courier follows the green route shown on the right. Using both and Komponentit - ja tehokkuus kaava edellisestä osasta - voimme laskea erän tehokkuus. demand supply Intuition pitäisi olla nyt selvä: batching is a powerful lever for improving efficiency. SH Economy as the Principal Metric Taloustiede tärkeimpänä mittarina 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-ajan säästöt - tai SH-talous (tarjonta-tunnin talous) - palvelevat tätä tarkoitusta, keräämällä tarjonta-aikojen vähenemisen, joka johtuu eräistä. Erä on samanaikaisesti toimitettujen tilausten joukko. SH-taloudellisuus määritellään erona lähettäjän tarvitseman ajan välillä, jos tilaukset käsitellään itsenäisesti, ja ajan, joka kuluu, kun lähettäjä toimittaa koko erän, ilmaistuna suhteellisessa muodossa: Normalisointi riippumattomien toimitusten kokonaismäärällä tuottaa ulottuvuudenmukaisen suhteen, jota voidaan helposti verrata minkä tahansa koon tai maantieteen sarjoihin. Palataan aikaisempaan kaksisuuntaiseen esimerkkiin: 33 minuutin kestävyys Independent deliveries: 26 minutes Batched route: Yksi indicates a Tämä tapahtuu pelkästään leikkauksen kautta, mikä tarkoittaa ei vaikuta ulkoisiin vaihteluihin laajemmassa toimitusverkossa. SH economy of 0.21 21% reduction in supply hours a clean, batch-specific indicator, Increasing Batching Efficiency with Flexible-Window Delivery Increasing Batching Efficiency with Flexible-Window Delivery Batching efficiency improves when express service is complemented by flexible-window delivery. Express requests trigger , joka minimoi asiakkaan odotusajan - mutta ei anna alustalle aikaa löytää erämahdollisuuksia. immediate courier assignment Sitä vastoin - 30 minuuttia, kaksi tuntia tai mikä tahansa muu samana päivänä - laajentaa toimitusaikaa ja mahdollistaa pyynnön pysymisen jonoon lyhyeksi ajaksi. a flexible window Mitä suurempi on uima-allas Mitä suurempi on onnistuneen erän todennäköisyys.Tämä johtaa vähemmän toimitusaikoja, parempi kuljettamisen aika, ja lopulta - alhaisempi hinta asiakkaalle. pairable requests, Käytännössä laajemmat toimitusikkunat laajentavat yhdistettävien pyyntöjen joukkoa, mikä lisää erän todennäköisyyttä ja puolestaan SH-taloutta. Pricing Flexible-Window Delivery Hinta Joustava ikkuna toimitus Joustavan ikkunan toimituksen oikeudenmukaisen hinnan asettaminen on keskeinen tuotehaaste. Useimmat markkinat toimivat jo for express delivery. In such systems, Sitä voidaan jakaa kahteen multiplikaattoriin: 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 - alennuskerroin, joka on sidottu toimitusikkunan leveyteen.Koska väliaika laajenee, tämä komponentti alentaa lopullista hintaa, jotta se heijastaisi toimitusajan säästöjä, jotka on saavutettu erän kautta. CPO_economy(window_width) The core task is to learn the CPO_economy(window_width) function — while keeping the existing CPO_base(·) untouched, since the express delivery pricing is already working as intended. Quick Example Quick Example Käydään läpi yksinkertainen laskelma. Oletetaan, että minuutti kuriiriaikaa maksaa 0,20 dollaria. Kahden tilauksen toimittaminen itsenäisesti kestää 33 minuuttia, joten kustannukset tilauksesta ovat: **==33 × $0.20 = $6.60==** Nyt, jos laajempi toimitusikkuna mahdollistaa kahden tilauksen erän, kuriiriaika laskee 26 minuuttiin, jolloin kustannukset laskevat: **==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. Näin ollen Talouden arvon määrittäminen. pricing flexible-window options reduces to an analytical problem: Koska hinnat on näytettävä asiakkaalle useita samanaikaisia toimitusikkunoita varten, Heidän täytyy olla up front, the courier-time savings can’t be calculated after the fact predicted in advance. From Baseline to ML-Based SH Economy Forecasts Alusta ML-pohjaisiin SH-talouden ennusteisiin A natural starting point is a constant forecast: use the historical as the predicted savings for every request. This baseline is weak. The actual distribution has on both sides and a spike at — coming from orders in low-density areas that can never be batched. average the SH economy heavy tails zero Yksittäiseen keskiarvoon luottaminen jättää nämä mallit huomiotta ja jättää rahaa pöydälle. Why ML is Needed Miksi ML on tarpeen Improving prediction quality requires an ML-based forecast. But introducing machine learning into pricing isn't trivial: any predicted discount becomes shown to the customer at checkout. This means the model must balance kanssa across all customer segments. a real commitment predictive power high reliability typically arise when building such a system. Three key challenges Defining the target Ensimmäinen ja ilmeisin kysymys on: what exactly should the model learn to predict? Harkitse SH-talouden kaavaa. Se vertailee kahta määrää: Riippumaton toimitus: kuinka monta kuriiripistettä kuluisi, jos jokainen erän tilaukset käsiteltäisiin erillisellä kuriirilla? **Pakettien toimitus:**kuinka monta minuuttia käytettiin, kun nämä tilaukset toimitettiin yhdessä erässä? The second value comes from real logs (with some cleanup). Ensimmäinen on ristiriitainen - so it has to be it never happened, forecast. Jopa yksinkertaisessa esimerkissä yksin toimitus sisältää: Lähestymisaika Pickup Pointille, A → B matkan kesto, and in production: wait time at pickup, hand-off time, queueing, etc. Jokainen näistä elementeistä on erillinen ennuste – ja jokainen ennuste voi olla puolueeton. so that the vastaa havaittua keskiarvoa historiallisissa tiedoissa. bias-corrected predicted solo time Where: Sheconomy(batch) — occurs in reality SH(order i) — forecasts SH (batch) – nykyinen Another complication is that pricing is done Talous on määritelty So we need to Naivisti jaettu kysyntä tuntia ei ole ihanteellinen - koska not distance. In practice, we allocate SH economy - samat määrät kuin malli juuri ennusti. 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 Toinen este on kohderyhmän luonnollinen epävakaus.Kun keskimääräinen SH-talous on suunniteltu pitkäksi ajaksi, käyrä ei ole mitään muuta kuin pysyvää: äkillinen lasku ilmestyy joulukuussa (loma), ja laajemmat kausiluonteiset aallot merkitsevät varhaisen kesän huiput ja vuoden lopun huiput. Ennusteiden vakauttamiseksi ominaisuus on jaettu kahteen osaan. Sisällön ominaisuudet riippuvat vain itse tarjouksesta: valittu toimitusikkuna, päivän aika, viikonpäivä ja maantiede. Viikonlopun pyyntömalli poikkeaa voimakkaasti viikonpäivistä, ja tilausten tiheys suuressa kaupungissa on erilainen kuin pienemmässä miljoonavuotisessa kaupungissa, joten nämä kategoriset signaalit imevät toistuvan kausiluonteisuuden. Niitä täydentävät tilastolliset ominaisuudet, jotka kuvaavat markkinoiden nykytilaa: kysynnän ja tarjonnan liikkuvat tiheydet sekä huolellisesti suunnitellut kohde-tyyppiset ominaisuudet – viimeaikaisen SH-talouden lyhyen aikavälin keskiarvot. jälkimmäiset ovat erityisen informatiivisia, mutta niitä on käsiteltävä huolellisesti; muuten malli voi vuotaa tulevaisuuden tietoja. “Content” features – depend only on the offer itself chosen delivery window time of day/day of week geography “Statistical” features – describe the current marketplace state rolling demand density Tarjonnan tiheys carefully lagged target-like features (recent averages of the SH economy) Feedback loops left uncontrolled Mallin omat ennusteet muokkaavat ennustettua tavoitetta uudelleen. Nosta odotettua SH-taloutta ja näkyvä hinta joustavan ikkunan toimituksesta laskee. Alempi hinta vakuuttaa useammat asiakkaat valitsemaan hitaamman vaihtoehdon, mikä puolestaan lisää eräostoa ja lisää todellista SH-taloutta. Monimutkainen, käsin tehty korjausmalli voisi yrittää vähentää tätä itsevaikutusta, mutta mikä tahansa kiinteä kaava muuttuisi pian epätarkaksi. Models are refreshed on the latest data at short, regular intervals, letting them absorb the shifting mix of slow-window orders. Continuous retraining: Jos ennustuksen jakelu ei ole muuttunut paljon, käyttöönotto päätetään vain offline-metriikasta; jos muutos on suuri, täysi online-A/B-testi suoritetaan ennen käyttöönottoa. Tämä sykli pitää hinnoittelujärjestelmän vakaana, vaikka asiakaskäyttäytyminen – ja siksi SH-talouden tavoite – kehittyy jatkuvasti. Conclusion Conclusion Same-day last-mile delivery can’t be optimized just by nudging couriers or tweaking surge multipliers. The real unlock is batching. Kun toimitusikkunat on yhdistetty odotettuun - suhteellinen toimitusajan säästö, jonka erä avaa - ennustaa SH-taloutta jokaisesta tarjouksesta ja kääntää säästöt oikeudenmukaiseksi alennukseksi. 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