System and method for predicting product preparation time

The system estimates FPT using historical data to address inaccuracies in product preparation time estimation, enhancing driver allocation and customer ETA precision, thus improving delivery service efficiency and customer satisfaction.

WO2026035190A1PCT designated stage Publication Date: 2026-02-12GRABTAXI HOLDINGS PTE LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/SG2024/050506
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-08
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

Inaccurate estimation of product preparation time by merchants leads to incorrect driver allocation and customer ETA, causing inefficiencies and dissatisfaction in product delivery services.

Method used

A system and method for estimating product preparation time (FPT) using historical order data, including merchant order ready time, product collection time, service provider wait time, and product wait time, to predict FPT for new orders, and adjust driver allocation and customer ETA accordingly.

Benefits of technology

Accurately predicts FPT, optimizing driver allocation and customer ETA, reducing waiting times and improving service efficiency and customer experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure SG2024050506_12022026_PF_FP_ABST
    Figure SG2024050506_12022026_PF_FP_ABST
Patent Text Reader

Abstract

A method for estimating, by a system, a product preparation time (FPT) parameter for preparing a product by a merchant for a plurality of historical orders is provided. The system may comprise a communication interface and a processor coupled to the communication interface. The method may comprise: estimating, by the processor, the product preparation time (FPT) parameter for preparing the product by the merchant for each of the plurality of historical orders for the product from the merchant based on a merchant order ready time (MOR) parameter, a product collection time (FCT) parameter, a service provider wait time (DWT) parameter and a product wait time (FWC) parameter of the historical order, wherein the MOR parameter is determined as a difference between a first time parameter and a second time parameter, wherein the FCT parameter is determined as a difference between the first time parameter and a fourth time parameter, wherein the DWT parameter is determined as a difference between a third time parameter and the fourth time parameter, wherein the FWC parameter is determined as a difference between the second time parameter and the fourth time parameter.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR PREDICTING PRODUCT PREPARATION TIMETECHNICAL FIELD

[0001] This disclosure relates to a system and method for predicting a product preparation time (FPT) data for preparing a product (e.g., a consumable product such as food and / or drinks, or a non-consumable product) by a merchant. The disclosure relates to a system and a method for estimating product preparation time parameter for preparing a product by a merchant for a plurality of orders.BACKGROUND

[0002] The following discussion of the background is intended to facilitate an understanding of the present disclosure. However, it should be appreciated that the discussion is not an acknowledgment or admission that any of the material referred to was published, known or part of the common general knowledge in any jurisdiction as at the priority date of the application.

[0003] When a merchant (e.g., a restaurant) receives an order for a product, such as a food product, the merchant proceeds to prepare the product. The merchant is supposed to indicate that the order is ready for collection after the product is prepared. This may be done via activating a button in a mobile application. A duration from a time when the merchant receives an order for product to a time when the merchant indicates the order ready is taken as the product preparation time (FPT).

[0004] However, the merchant may not provide timely indication that the order is ready at the right time. For example, the merchant may indicate the order ready too early or in advance when the product is actually not ready for collection. The merchant may even indicate the product ready immediately after the merchant receives an order for product. For example, the merchant may not indicate the order ready right after, or within a reasonable time after the product is ready. The merchant may indicate the product is ready after a long time since the product is ready for collection, or the merchant may even forget to indicate the product is ready, e.g., during busy hours. Therefore, the product preparation time may not be accurately captured, and thus resulting in inaccurate FPT prediction / estimation.

[0005] Inaccurate product preparation time estimation / prediction may lead to inaccurate driver allocation delay time for an order for product from a merchant which is calculated based on the product preparation time estimation / prediction. When a customer places an order forproduct from a merchant via a product delivery platform, a service provider (e.g., driver) to collect and deliver the product may not be allocated immediately after the customer placed the order. A driver may only be allocated after a driver allocation delay time after the customer placed the order. Accurate calculation of driver allocation delay time would help to avoid a situation wherein the allocated driver reaches the merchant too early before the product is ready for collection and therefore the allocated driver may incur unnecessary waiting time at the merchant. Inaccurate calculation of driver allocation delay time may cause the allocated driver to reach the merchant too early such that the driver would waste time. On the other hand, inaccurate calculation of driver allocation delay time may cause the allocated driver reach the merchant too late such that the product waited too long to be collected (e.g., the taste of food product may be adversely affected).

[0006] Inaccurate product preparation time estimation / prediction may also lead to inaccurate estimated time of arrival (ETA) for an order for product, which is calculated based on the product preparation time. The ETA may be sent to a device (e.g., a mobile phone, a smart watch) of the customer who placed the order for product. The customer may arrange his time according to the ETA. Therefore, inaccurate ETA (e.g., the product is delivered much earlier or much later than the estimated time of arrival) would disrupt customer’s arrangements and set incorrect expectations. This can negatively impact customer’s experience with the product delivery platform.

[0007] Therefore, there is a need to provide a solution to estimate and / or predict the product preparation time more accurately.SUMMARY

[0008] According to a first aspect of the present disclosure, a method for estimating, by a system, a product preparation time (FPT) parameter for preparing a product by a merchant for a plurality of historical orders is provided. The system may comprise a communication interface and a processor coupled to the communication interface. The method may comprise: estimating, by the processor, the product preparation time (FPT) parameter for preparing the product by the merchant for each of the plurality of historical orders for the product from the merchant based on a merchant order ready time (MOR) parameter, a product collection time (FCT) parameter, a service provider wait time (DWT) parameter and a product wait time (FWC) parameter of the historical order, wherein the MOR parameter is determined as a difference between a first time parameter and a second time parameter, wherein the FCTparameter is determined as a difference between the first time parameter and a fourth time parameter, wherein the DWT parameter is determined as a difference between a third time parameter and the fourth time parameter, wherein the FWC parameter is determined as a difference between the second time parameter and the fourth time parameter.

[0009] The method may further comprise: receiving from a customer device of a customer, by the communication interface, the first time parameter when the customer piaced an order for the product from the merchant for each historical order; receiving from a merchant device of the merchant, by the communication interface, the second time parameter when the merchant indicated the order ready for collection for each historical order; receiving from a driver device of an allocated driver, by the communication interface, the third time parameter when the allocated driver arrived at the merchant for collecting the order and the fourth time parameter when the order was collected by the allocated driver for delivery to the customer for each historical order.

[0010] For each historical order, the estimated FPT parameter may equal to the MOR parameter when the third time parameter is after the second time parameter, the DWT parameter is less than a first threshold and the MOR parameter is greater than or equal to a low er bound of the MOR parameter values of the plurality of historical orders.

[0011] For each historical order, the estimated FPT parameter may be greater than the MOR parameter by a first fraction of the FWC parameter, when the third time parameter is after the second time parameter, the DWT parameter is less than a first threshold and the MOR parameter is less than a lower bound of the MOR parameter values of the plurality of historical orders.

[0012] For each historical order, the estimated FPT parameter may be greater than the MOR parameter by a first fraction of the FWC parameter, when the third time parameter is after the second time parameter and the DWT parameter is greater than or equal to a first threshold and is less than a second threshold.

[0013] For each historical order, the estimated FPT parameter may be less than the FCT parameter by a second fraction of the DWT parameter, when the third time parameter is after the second time parameter and the DWT parameter is greater than or equal to a second threshold.

[0014] For each historical order, the estimated FPT parameter may equal to the MOR parameter when the second time parameter is after the third time parameter, the FWC parameter is less than a first threshold and the MOR parameter is greater than or equal to a lower bound of the MOR parameter values of the plurality of historical orders.

[0015] For each historical order, the estimated FPT parameter may be greater than the MOR parameter by a first fraction of the FWC parameter, when the second time parameter is after the third time parameter, the FWC parameter is less than a first threshold and the MOR parameter is less than a lower bound of the MOR parameter values of the plurality of historical orders.

[0016] For each historical order, the estimated FPT parameter may be greater than the MOR parameter by a first fraction of the FWC parameter, when the second time parameter is after the third time parameter and the FWC parameter is greater than or equal to a first threshold and is less than a second threshold.

[0017] For each historical order, the estimated FPT parameter may be less than the FCT parameter by a second fraction of the FWC parameter, when the second time parameter is after the third time parameter and the FWC parameter is greater than or equal to a second threshold.

[0018] For each historical order, the estimated FPT parameter may be less than the FCT parameter by a second fraction of the DWT parameter, when the MOR parameter is unavailable and the DWT parameter is greater than or equals to a second threshold.

[0019] The first fraction may be determined based on the MOR parameter values of the plurality of historical orders.

[0020] The second fraction may be determined based on the FCT parameter values of the plurality of historical orders.

[0021] The method may further comprise receiving a queue number from the merchant device by the communication interface, and wherein the second fraction may be further adjusted by the queue number.

[0022] The plurality of historical orders may be placed in a past predetermined period.

[0023] According to a second aspect of the present disclosure, a method of predicting a FPT data for preparing a product by a merchant for a new order is provided. The method of predicting a FPT data for preparing a product by a merchant for a new order may comprise: estimating a FPT parameter for preparing each of a plurality of products from each of a plurality of merchants for a plurality of historical orders using the method of estimating a product preparation time (FPT) parameter for preparing a product by a merchant for a plurality of historical orders described herein; training a FPT prediction model based on the FPT parameter for preparing each of the plurality of products from each of the plurality of merchants; and predicting a FPT data for preparing a product by a merchant for the new order based on the FPT prediction model.

[0024] When a plurality of new orders is placed with each new order corresponding to a product and a merchant, the plurality of new orders may be batched according to the FPT data for each new order predicted by the FPT prediction model.

[0025] The method may further comprise: calculating, by the processor, a driver allocation delay time for the new order for the product from the merchant based on the predicted FPT data.

[0026] The method may further comprise: sending to a driver device of an allocated driver for the new order after the driver allocation delay time since the new order is placed, by the communication interface, the new order for the product from the merchant for the allocated driver to collect the product from the merchant for delivery.

[0027] The method may further comprise: estimating, by the processor, an arrival time for the new order for the product from the merchant based on the predicted FPT data.

[0028] The method may further comprise: sending to a customer device of a customer who placed the new order, by the communication interface, the estimated arrival time for the new order.

[0029] According to a third aspect of the present disclosure, a system for estimating a product preparation time (FPT) parameter for preparing a product by a merchant for a plurality of historical orders is provided. The system may comprise: a communication interface and a processor coupled to the communication interface, wherein the processor is configured to estimate the product preparation time (FPT) parameter for preparing the product by the merchant for each of the plurality of historical orders for the product from the merchant based on a merchant order ready time (MOR) parameter, a product collection time (FCT) parameter, a service provider wait time (DWT) parameter and a product wait time (FWC) parameter of the historical order, wherein the MOR parameter is determined as a difference between a first time parameter and a second time parameter, wherein the FCT parameter is determined as a difference between the first time parameter and a fourth time parameter, wherein the DWT parameter is determined as a difference between a third time parameter and the fourth time parameter, wherein the FWC parameter is determined as a difference between the second time parameter and the fourth time parameter.

[0030] The communication interface may be configured to: receive from a customer device of a customer, the first time parameter when the customer placed an order for the product from the merchant for each historical order; receive from a merchant device of the merchant, the second time parameter when the merchant indicated the order ready for collection for each historical order; receive from a driver device of an allocated driver, the third time parameterwhen the allocated driver arrived at the merchant for collecting the order and the fourth time parameter when the order was collected by the allocated driver for delivery to the customer for each historical order.BRIEF DESCRIPTION OF THE DRAWINGS

[0031] In the drawings, like reference characters generally refer to like parts throughout the different views. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the disclosure. In the following description, various embodiments of the disclosure are described with reference to the following drawings, in which

[0032] FIG. 1 illustrates a system for processing on-demand services (also referred to as a request for a product delivery service, or a product order, or an order for product) according to various embodiments;

[0033] FIG. 2A and FIG. 2B show a respective timeline from a time when a customer placed order to a time when an order was collected for delivery;

[0034] FIG. 3 shows a method of estimating a product preparation time (FPT) parameter for preparing a product by a merchant for (based on) a plurality of historical orders in accordance to some embodiments of the present disclosure;

[0035] FIG. 4 shows a flow chart of a method for estimating a product preparation time (FPT) parameter for preparing a product by a merchant for each of a plurality of historical orders from the product from the merchant in accordance with some embodiments of the present disclosure;

[0036] FIG. 5A is a plot showing a first fraction as a function of merchant order ready time (MOR) parameter’s deviation from average;

[0037] FIG. 5B is a plot showing a second fraction as a function of product collection time (FCT) parameter’s deviation from average;

[0038] FIG. 6A shows a distribution of merchant order ready time (MOR) parameter and a distribution of product collection time (FCT) parameter for a plurality of historical orders ;

[0039] FIG. 6B shows a distribution of product preparation time (FPT) parameter for a plurality of historical orders, estimated by a method in accordance with some embodiments of the present disclosure.DETAILED DESCRIPTION

[0040] The following detailed description refers to the accompanying drawings that show, by way of illustration, specific details, and embodiments in which the disclosure may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure. Other embodiments may be utilized, and structural, logical, optical and electrical changes may be made without departing from the scope of the disclosure. The various embodiments are not necessarily mutually exclusive, as some embodiments can be combined with one or more other embodiments to form new embodiments.

[0041] Embodiments described in the context of one of the methods or devices arc analogously valid for the other methods or devices. Similarly, embodiments described in the context of a method are analogously valid for a device, and vice versa.

[0042] Features that are described in the context of an embodiment may correspondingly be applicable to the same or similar features in the other embodiments. Features that are described in the context of an embodiment may correspondingly be applicable to the other embodiments, even if not explicitly described in these other embodiments. Furthermore, additions and / or combinations and / or alternatives as described for a feature in the context of an embodiment may correspondingly be applicable to the same or similar feature in the other embodiments.

[0043] In the context of various embodiments, the articles “a”, “an” and “the” as used with regard to a feature or element include a reference to one or more of the features or elements.

[0044] As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.

[0045] It will be further understood that the terms “comprise” (and any form of comprise, such as “comprises” and “comprising”), “have” (and any form of have, such as “has” and “having”), “include” (and any form of include, such as “includes” and “including”), and “contain” (and any form of contain, such as “contains” and “containing”) are open-ended linking verbs. As a result, a method or device that “comprises,” “has,” “includes” or “contains” one or more steps or elements possesses those one or more steps or elements, but is not limited to possessing only those one or more steps or elements. Likewise, a step of a method or an clement of a device that “comprises,” “has,” “includes” or “contains” one or more features possesses those one or more features, but is not limited to possessing only those one or more features. Furthermore, a device or structure that is configured in a certain way is configured in at least that way, but may also be configured in ways that are not listed.

[0046] The term “first”, “second”, “third” detailed herein are used to distinguish one element from another similar element and may not necessarily denote order or relative importance, unless otherwise stated.

[0047] As used herein, the term “data” may be understood to include information in any suitable analog or digital form, for example, provided as a file, a portion of a file, a set of files, a signal or stream, a portion of a signal or stream, a set of signals or streams, and the like. The term data, however, is not limited to the aforementioned examples and may take various forms and represent any information as understood in the art.

[0048] As used herein, the term “processor” may refer to, or form part of, or include an Application Specific Integrated Circuit (ASIC); an electronic circuit; a combinational logic circuit; a field programmable gate array (FPGA) that executes code; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip. The processor may include non-transitory computer readable medium such as memory (shared, dedicated, or group) that stores code executed by the processor.

[0049] FIG. 1 illustrates a system 100 for processing on-demand services (also referred to as a request for one or more products (e.g., consumable products such as food and / or drinks, or non-consumable products)) including, but not limited to, food delivery service, or a food order, or an order for food according to various embodiments. The system 100 may include a communication interface 110 and a processor 120 coupled to the communication interface 110. It is contemplated that the term food may include drinks and beverages.

[0050] The system 100 may further include a memory connected to the communication interface 110 and the processor 120. In some embodiments, the system 100 may further include a database. The database may be implemented locally in the memory of the system 100. In some embodiments, the database may be external to the system 100, and the system 100 may be configured to communicate with the database.

[0051] In some embodiments, the system 100 may be connectable to and / or communicate with each of at least one customer device 160, at least one merchant device 162, and at least one driver device 164 via a network 150.

[0052] In some embodiments, the network 150 may include, but is not limited to, a Local Area Network (LAN), a Wide Area Network (WAN), a Global Area Network (GAN), or any combination thereof. The network 1 0 may provide a wireline communication, a wireless communication, or a combination of the wireline and wireless communication between thesystem 100 and each of the at least one customer device 160, at least one merchant device 162 and at least one driver device 164.

[0053] In some embodiments, the communication interface 110 may allow the system 100 to communicate with each of the at least one customer device 160, at least one merchant device 162, and at least one driver device 164 via the network 150. In some embodiments, the communication interface 110 may transmit electronic signals to and / or receive electronic signals from each of the at least one customer device 160, at least one merchant device 162, and at least one driver device 164 via the network 150.

[0054] The processor 120 may include, but is not limited to, a microprocessor, an analogue circuit, a digital circuit, a mixed-signal circuit, a logic circuit, an integrated circuit, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), a Digital Signal Processor (DSP), a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), or any combination thereof. Any other kind of implementation of the respective functions, which will be described below in further detail, may also be understood as the processor 120.

[0055] In some embodiments, the processor 120 may be connectable to the communication interface 110. In some embodiments, the processor 120 may be arranged in data or signal communication with the communication interface 110 to transmit / receive the data / signals.

[0056] In some embodiments, the system 100 may be configured to communicate with at least one customer device 160, via the network 150. The system 100 may be arranged in data or signal communication with each of the at least one customer device 160 via the network 150. In some embodiments, the customer device 160 may include, but is not limited to, at least one of the following: a mobile phone, a tablet computer, a laptop computer, a desktop computer, a head-mounted display and a smart watch. In some embodiments, the customer device 160 may be associated with the customer 10. For example, the customer device 160 may belong to the customer 10. The system 100 may be connectable to a plurality of customer devices 160 each belong to a customer 10 from a plurality of customers 10.

[0057] In some embodiments, the system 100 may be configured to communicate with at least one merchant device 162, via the network 150. The system 100 may be arranged in data or signal communication with each of the at least one merchant device 162 via the network 150. In some embodiments, the merchant device 162 may include, but not limited to, at least one of the following: a mobile phone, a tablet computer, a laptop computer, a desktop computer, a head-mounted display and a smart watch. In some embodiments, the merchant device 162 may be associated with the merchant 12. For example, the merchant device 162 may belong to the merchant 12. The system 100 may be connectable to a plurality of merchantdevices 162 each belong to a merchant 12 from a plurality of merchants 12. The merchant 12 may include, but are not limited to, a product provider (e.g., a food provider) which can provide a product (e.g., food). For example, the merchant 12 may include, but is not limited to, a restaurant and a cafe or any other F&B outlet.

[0058] In some embodiments, the system 100 may be configured to communicate with at least one driver device 164, via the network 150. The system 100 may be arranged in data or signal communication with each of the at least one driver device 164 via the network 150. The driver device 164 may include, but not limited to, at least one of the following: a mobile phone, a tablet computer, a laptop computer, a desktop computer, a head-mounted display and a smart watch. In some embodiments, the driver device 164 may be associated with a service provider, such as a driver 14. For example, the driver device 164 may belong to the driver 14. The system 100 may be connectable to a plurality of driver devices 164 each belong to a driver 14 from a plurality of drivers 14. The driver 14 may include, but are not limited to, a delivery service provider 14 who collect ordered product from the merchant and deliver the ordered product to the customer. For example, the driver 14 may include, but is not limited to a motorcycle driver, a bicycle rider, a car driver who collects ordered product from the merchant and deliver the ordered product to the customer.

[0059] FIG. 2A and FIG. 2B show a respective timeline from a time when a customer placed order to a time when an order was collected for delivery. A customer 10 may place a product order, using a user interface presented on the customer device 160 of the customer 10. The customer 10 may place an order for a product from a merchant 12 with a request to deliver the ordered product from the merchant 12 (e.g., a restaurant, cafe, or F&B outlet, etc) to the customer’s delivery address (e.g., customer’s home, customer’s office, etc). The communication interface 110 of the system 100 may receive the product order from the customer device 160. The communication interface 1 10 of the system 100 may receive a first time parameter Ti. The first time parameter Ti may be a time when the customer placed an order for the product from the merchant (or a time when an order was received by the system 100)

[0060] After receiving a product order from the customer 10, the product order may be sent to a user interface presented on a merchant device 162 by a communication interface 110 of the system 100. After receiving the product order from the system 100, the merchant 12 may proceed to get the ordered product (or referred to as order) ready for collection and delivery (or referred to as ready for collection). The merchant 12 may indicate the order ready for collection via the user interface, e.g., by clicking a virtual button on the user interface presented on themerchant device 162. The communication interface 110 of the system 100 may receive a second time parameter T? (i.e., a time when the merchant indicated the order ready for collection).

[0061] After receiving the product order from the customer 10, the system 100 may allocate a delivery sendee provider 14 (also referred to as a driver 14 or a rider 14). The communication interface 110 of the system 100 may send the product order to a driver device 164 of the allocated driver 14 to request the allocated driver 14 to collect or pick up the product from the merchant and deliver to the delivery address of the customer 10.

[0062] After receiving the request, the allocated driver 14 may move towards a location or premise of the merchant, such as a physical shop (e.g., reaching the restaurant, cafe, or F&B outlet, etc) of the merchant 12. When the allocated driver 14 arrives at the shop of the merchant 12 (or referred to as arrives at the merchant 12), the allocated driver 14 may indicate his arrival using a driver device 164 of the allocated driver 14. The allocated driver may indicate his arrival by clicking a button on a user interface presented on the driver device 164 of the allocated driver 14. The communication interface 110 of the system 100 may receive, from the driver device 164, a third time parameter (i.e., a time when the allocated driver arrived at the merchant 12).

[0063] When the ordered product is ready, the allocated driver 14 may collect or pick up the ordered product (or referred to as collect the order) for delivery and indicate the collection of the ordered product using the driver device 164. The allocated driver 14 may indicate the collection of the ordered product by clicking a button on the user interface presented on the driver device 164. The communication interface 110 of the system 100 may receive, from the driver device 164, a fourth time parameter T4 (i.e., a time when the order was collected by the allocated driver 14).

[0064] Then the allocated driver 14 may deliver the ordered product from the shop of the merchant 12 to customer’s delivery address as indicated by the customer 10.

[0065] In some embodiments, as shown in FIG. 2A, the third time parameter Tj may be after the second time parameter T2. In other words, the allocated driver arrived at the merchant 12 after the merchant 12 indicated the order ready for collection and delivery.

[0066] In some embodiments, as shown in FIG. 2B, the second time parameter T2 may be after the third time parameter T3. In other words, the merchant 12 indicated the order ready for collection and delivery after the allocated driver arrived at the merchant 12.

[0067] The processor 120 may be configured to determine a merchant order ready time (MOR) parameter, the MOR parameter configured to indicate the time duration for a merchantto indicate the order ready since the merchant received the order. The MOR parameter may be determined by the processor 120 as a difference between the first time parameter Ti (i.e., a time when the customer placed an order for the product from the merchant) and the second time parameter T2 (i.e., a time when the merchant indicated the order ready for collection), i.e., M0R= T2 - T1.

[0068] The processor 120 may be configured to determine a product collection time (e.g., a food collection time) (FCT) par ameter indicating how long it took for an order to be collected by the driver for delivery after the merchant received the order. The FCT parameter may be determined by the processor 120 as a difference between the first time parameter T 1 (i.e., a time when the customer placed an order for the product from the merchant) and the fourth time parameter T4 (i.e., a time when the order was collected by the allocated driver for delivery to the customer), i.e. FCT= T4 - Ti.

[0069] The processor 120 may be configured to determine a service provider wait time (e.g., a driver wait time) (DWT) parameter indicating how long it took for a driver to collect the order since the driver arrived at the merchant, i.e., how long the driver waited at the merchant’s shop (or referred to as waited at the merchant) before collecting the order. The DWT parameter may be determined by the processor 120 as a difference between the third time parameter T3 (i.e., a time when the allocated driver arrived at the merchant for collecting the order) and the fourth time parameter T4 (i.e., a time when the order was collected by the allocated driver for delivery), i.e., OW'D T4 - T3. A longer DWT is indicative of more time wastage for the driver. It is desirable to have a DWT parameter as short as possible such that the driver wasted minimum time in waiting for the product to be ready for collection therefore increasing the efficiency of product delivery and increasing the income of the driver.

[0070] The processor 120 may be configured to determine a product wait time (e.g., a food wait for collection time) (FWC) parameter indicating how long it took for the order to be collected since the order was indicated ready. The FWC parameter may be determined by the processor 120 as a difference between the second time parameter T (i.e., a time when the merchant indicated the order ready for collection) and the fourth time parameter T4 (i.e., a time when the order was collected by the allocated driver for delivery to the customer), i.e., FWC= T4- T2.

[0071] The communication interface 110 of the system 100 may be configured to receive a first time parameter 7’ / . a second time parameter T2, a third time parameter Th, a fourth time parameter T4 in a way as illustrated above for each of a plurality of historical orders for a product from a merchant. The processor 120 of the system 100 may be configured to determinean MOR parameter, an FCT parameter, a DWT parameter, an FWC parameter in a way as illustrated above for each of the plurality of historical orders.

[0072] The processor 120 may be configured to calculate a queue number (also referred to as productlnPrep), which is a number of orders received in the past predetermined time period (e.g„ in the past 30 mins) before a current order and are still in a process of preparation. In other words, the queue number refers to the number of orders in the queue, and the merchant needs to complete the preparation of these orders in the queue before the merchant is able to prepare for the current order.

[0073] The system 100 may be configured to implement a method 600 of estimating a product preparation time (FPT) parameter for preparing a product by a merchant for a plurality of historical orders. FIG. 3 shows a method 600 of estimating a FPT parameter for preparing a product by a merchant for a plurality of historical orders in accordance to some embodiments of the present disclosure. The method 600 may estimate a FPT parameter for preparing a product by a merchant for each of a plurality of historical orders for the product from the merchant. As shown in FIG. 3, the method may include the following Step 1 to Step 3.

[0074] In Step 1, key data may be determined. The key data may include an MOR parameter, an FCT parameter, a DWT parameter, an FWC parameter, and a queue number for each of a plurality of historical orders for a product from a merchant. The key data may further include DWT threshold values (a first threshold and a second threshold for the DWT parameter values), mean of MOR parameter values, standard deviation of MOR parameter values, mean of FCT parameter values, standard deviation of FCT parameter values, lower bound of MOR parameter values, upper bound of FCT parameter values for each merchant.

[0075] In Step 2, the plurality of historical orders for a product from a merchant may be grouped according to different MOR accuracy values (or referred to as different degrees of MOR accuracy). The key data calculated in Step 1 may be used for segmenting historical orders of different MOR accuracy values into different groups (e.g„ Groups 1 to 9), so that the actual FPT parameter can be obtained / inferred for each segmented group.

[0076] In Step 3, the actual FPT parameter is obtained / inferred based on the MOR parameter and FCT parameter. When the MOR usage is accurate (MOR accuracy value is 1), the actual FPT parameter is determined as the MOR parameter. When the MOR usage is inaccurate (MOR accuracy value is 0) or unavailable, the actual FPT parameter may be inferred based on the MOR parameter values and FCT parameter values of the historical orders.

[0077] The processor 120 may be configured to determine MOR parameter, FCT parameter, DWT parameter, FWC parameter, and queue number for each historical order using a way as illustrated above.

[0078] The processor 120 may be configured to calculate a first threshold (TH1 ) and a second threshold (TH2) for the DWT parameter. Mean and median of DWT parameter values (e.g., regional order level DWT parameter values) may be calculated. For example, mean of regional order level DWT parameter values is total DWT parameter values of all orders divided by total number of orders. The lower one between the mean and median of regional order level DWT parameter values may be defined as the first threshold (TH1), and the greater one between the mean and median of regional order level DWT parameter values may be defined as the second threshold (TH2).

[0079] Mean of historical MOR parameter values (avg_mor) and standard deviation of historical MOR time period values (stddev_mor) for each merchant may be calculated based on the MOR parameter values of the plurality of historical orders for a product from the merchant placed in a past predetermined period (e.g., in a past 4 weeks). Historical MOR parameter values may refer to the MOR parameter values of the plurality of historical orders. Mean of historical FCT parameter values (avg_fct) and standard deviation of historical FCT parameter values (stddev_fct) for each merchant may be calculated based on the FCT parameter values of the plurality of historical orders for a product from the merchant placed in a past predetermined period (e.g., in a past 4 weeks). Historical FCT parameter values may refer to the FCT parameter values of the plurality of historical orders.

[0080] A lower bound (LB) of historical MOR parameter values (mor_lowcrbound) for each merchant may be a minimum of the MOR parameter values. 15 percentile of MOR parameter values of a plurality of historical orders for a product from the merchant placed in a past predetermined period (e.g., in a past 4 weeks) may be used as the lower bound (LB) of the historical MOR parameter values. In other words, a MOR parameter value that is equal to or greater than 15 percent of the MOR parameter values of the plurality of historical orders for a product from the merchant may be used as the lower bound (LB) of the historical MOR parameter values. If 15 percentile of historical MOR parameter values is not available, 15 percentile of FCT parameter values of a plurality of historical orders for a product from the merchant placed in a past predetermined period (e.g., in a past 4 weeks) may be used as a proxy of lower bound (LB) of the historical MOR parameter values. In other words, a FCT parameter value that is equal to or greater than 15 percent of the FCT parameter values of the plurality of historical orders for a product from the merchant may be used as a proxy of lower bound (LB)of the historical MOR parameter values. If 15 percentile of historical FCT parameter values is not available, 180s may be used as the lower bound (LB) of the historical MOR parameter values. The lower bound (LB) of the historical MOR parameter values may be within a range between 180s and 300s. If the calculated lower bound (LB) of the historical MOR parameter values is less than 180s, 180s may be used as the lower bound (LB) of the historical MOR parameter values. If the calculated lower bound (LB) of the historical MOR parameter values is greater than 300s, 300s may be used as the lower bound (LB) of the historical MOR parameter values. The lower bound (LB) of the historical MOR parameter values may be determined as below Equation (1): lower bound of historical MOR parameter values = min (max (calculated lower bound of the historical MOR parameter values, 80s), 300s) (1 )

[0081] An upper bound of historical FCT parameter values for each merchant may set an upper limit for the estimated / inferred FPT parameter values. 95 percentile of FCT parameter values of a plurality of historical orders for a product from the merchant placed in a past predetermined period (c.g., in a past 4 weeks) may be used as the upper bound of the historical FCT parameter values. In other words, a FCT parameter value that is equal to or greater than 95 percent of the FCT parameter values of the plurality of historical orders for a product from the merchant may be used as the upper bound of the historical FCT parameter values. If FCT data is not available, 3600s may be used as the upper limit of the historical FPT parameter values.

[0082] The processor 120 of the system 100 may be configured to estimate a product preparation time (FPT) parameter for preparing a product by a merchant for each of the plurality of historical orders for the product from the merchant based on the MOR parameter, the FCT parameter, the DWT parameter and the FWC parameter of the historical order. In some embodiments, the FPT parameter for preparing a product by a merchant may be, or may refer to, a time period used for or required for preparing the product by the merchant.

[0083] FIG. 4 shows a flow chart of a method 600 for estimating a FPT parameter for preparing a product by a merchant for each of a plurality of historical orders for the product from the merchant in accordance with some embodiments of the present disclosure. As shown in FIG. 4, for each historical order, the processor 120 of the system 100 may check if the MOR parameter is available at step 640. If the MOR parameter is available, the processor 120 of the system 100 may check if the third time parameter Tris after the second time parameter T (i.e., check if the allocated driver arrived at the merchant for collecting the order after the merchant indicated the order ready for collection) at step 650. If the third time parameter T3 is after thesecond time parameter T2 (i.e., if the allocated driver arrived at the merchant for collecting the order after the merchant indicated the order ready for collection), the processor 120 may check if the DWT parameter is less than a first threshold (TH1) at step 652. If the DWT parameter is less than the first threshold (TH1 ), the processor 120 may check if the MOR parameter is greater than or equal to a lower bound (LB) of historical MOR parameter values at step 654. If the MOR parameter is greater than or equal to a lower bound (LB) of historical MOR parameter values, the processor 120 may determine the estimated FPT parameter for this historical order to equal to the MOR parameter at step 656. The processor 120 may segment this historical order into Group 1. If the MOR parameter is less than a lower bound (LB) of historical MOR parameter values, the processor 120 may determine the estimated FPT parameter for this historical order to be greater than the MOR parameter by a first fraction (fracl) of the FWC parameter at step 658. The processor 120 may segment this historical order into Group 2. If the DWT parameter is greater than or equals to the first threshold (TH1), the processor 120 may check if the DWT parameter is less than a second threshold (TH2) at step 660. If the DWT parameter is less than a second threshold (TH2), the processor 120 may determine the estimated FPT parameter for this historical order to be greater than the MOR parameter by a first fraction of the FWC parameter at step 662. The processor 120 may segment this historical order into Group 3. If the DWT parameter is greater than or equals to a second threshold (TH2), the processor 120 may determine the estimated FPT parameter for this historical order to be less than the FCT parameter by a second fraction (frac2) of the DWT parameter at step 664. The processor 120 may segment this historical order into Group 4.

[0084] As shown in FIG. 4, if the third time parameter T< is before or at the same time as the second time parameter T2 (i.e., if the allocated driver arrived at the merchant for collecting the order before or at the same time the merchant indicated the order ready for collection), the processor 120 may check if the FWC parameter is less than a first threshold (TH 1 ) at step 672. If the FWC parameter is less than the first threshold (TH1), the processor 120 may check if the MOR parameter is greater than or equals to a lower bound (LB) of historical MOR parameter values at step 674. If the MOR parameter is greater than or equals to a lower bound (LB) of historical MOR parameter values, the processor 120 may determine the estimated FPT parameter for this historical order to equal to the MOR parameter at step 676. The processor 120 may segment this historical order into Group 5. If the MOR parameter is less than a lower bound (LB) of historical MOR parameter values, the processor 120 may determine the estimated FPT parameter for this historical order to be greater than the MOR parameter by a first fraction of the FWC parameter at step 678. The processor 120 may segment this historicalorder into Group 6. If the FWC parameter is greater than or equals to the first threshold (TH1), the processor 120 may check if the FWC parameter is less than a second threshold (TH2) at step 680. If the FWC parameter is less than a second threshold (TH2), the processor 120 may determine the estimated FPT parameter for this historical order to be greater than the MOR parameter by a first fraction of the FWC parameter at step 682. The processor 120 may segment this historical order into Group 7. If the FWC parameter is greater than or equals to a second threshold (TH2), the processor 120 may determine the estimated FPT parameter for this historical order to be less than the FCT parameter by a second fraction of the FWC parameter at step 684. The processor 120 may segment this historical order into Group 8.

[0085] As shown in FIG. 4, if the MOR parameter is not available, the processor 120 of the system 100 may check if the DWT parameter is greater than or equal to a second threshold (TH2) at step 642. If the DWT parameter is greater than or equal to a second threshold (TH2), the processor 120 may determine the estimated FPT parameter for this historical order to be less than the FCT parameter by a second fraction (frac2) of the DWT parameter at step 644. The processor 120 may segment this historical order into Group 9. If the DWT parameter is less than a second threshold (TH2), the processor 120 may determine the estimated FPT parameter for this historical order to be unavailable at step 646. The processor 120 may segment this historical order into Group 10.

[0086] Historical orders for a product from the merchant may possess different MOR accuracy values (e.g., 1 or 0). MOR accuracy value reflects whether it is accurate to represent an actual FPT parameter by a MOR parameter. For example, when the actual FPT par ameter equals to MOR parameter, i.c., it is accurate to represent the actual FPT parameter by the MOR parameter, and the MOR accuracy may be set as 1. When the actual FPT parameter does not equal to MOR parameter, i.e., it is not accurate to represent the actual FPT parameter by the MOR parameter, and the MOR accuracy may be set as 0. Historical orders of different MOR accuracy values may be grouped together and the actual FPT parameter may be inferred accordingly for each group.

[0087] It is regarded as accurate to represent the actual FPT parameter by the MOR parameter if one of the following two criteria arc met: (i) the allocated driver arrived at the merchant for collecting the order after the merchant indicated the order ready for collection, the DWT parameter is less than a first threshold and the MOR parameter is greater than or equal to a lower bound of historical MOR parameter values; or (ii) the allocated driver arrived at the merchant for collecting the order before or at the same time the merchant indicated theorder ready for collection, the FWC parameter is less than a first threshold and the MOR parameter is greater than or equal to a lower bound of historical MOR parameter values.

[0088] When a DWT parameter is less than a first threshold, it may indicate that the allocated driver collected the order immediately after the allocated driver arrived at a merchant. When the MOR parameter is greater than or equal to a lower bound of historical MOR parameter values, it may indicate that the merchant did not indicate the order ready too early before the order is ready for collection. When the FWC parameter is less than a first threshold, it may indicate that the order was collected by the allocated driver immediately after the order was indicated ready for collection.

[0089] When the allocated driver arrived at the merchant for collecting the order after the merchant indicated the order ready for collection, if the MOR parameter is greater than or equal to a lower bound of historical MOR parameter values (which may indicate that the merchant did not indicate the order ready too early before the order is ready for collection) and the DWT parameter is less than a first threshold (which may indicate that the allocated driver collected the order immediately after the allocated driver arrived at a merchant), it may therefore be accurate to represent FPT parameter for this historical order by the MOR parameter. The processor 120 may segment this historical order into Group 1.

[0090] When the allocated driver arrived at the merchant for collecting the order before or at the same time the merchant indicated the order ready for collection, if the MOR parameter is greater than or equal to a lower bound of historical MOR parameter values (which may indicate that the merchant did not indicate the order ready too early before the order is ready for collection), and the FWC parameter is less than a first threshold (which may indicate that the order was collected by the allocated driver immediately after the order was indicated ready for collection), it may therefore be accurate to represent FPT parameter for this historical order by the MOR parameter. The processor 120 may segment this historical order into Group 5.

[0091] It may be regarded as inaccurate to represent the FPT parameter by the MOR parameter if none of the above-mentioned two criteria is met.

[0092] For example, when the allocated driver arrived at the merchant for collecting the order after the merchant indicated the order ready for collection, if the MOR parameter is less than a lower bound of historical MOR parameter values (which may indicate that the merchant indicated the order ready too early before the order is ready for collection) and the DWT parameter is less than a first threshold (which may indicate that the allocated driver collected the order immediately after the allocated driver arrived at a merchant), it may therefore be inaccurate to represent FPT parameter for this historical order by the MOR parameter. Theprocessor 120 may segment this historical order into Group 2. The FPT parameter may be represented as the MOR parameter added by a first fraction of the FWC parameter in this scenario, as shown in below equation (2):FPT = MOR + frac 1 * FWC (2) where FPT represents the FPT parameter, MOR represents the MOR parameter, fracl represents the first fraction, FWC represents the FWC parameter. In this scenario, since the allocated driver collected the order immediately after the allocated driver arrived at a merchant (i.c., the allocated driver did not wait too long before collecting the order), the FPT parameter may be inferred based on the MOR parameter instead of FCT parameter.

[0093] For example, when the allocated driver arrived at the merchant for collecting the order after the merchant indicated the order ready for collection, if the DWT parameter is greater than or equal to a first threshold and is less than a second threshold (which may indicate that the allocated driver did not collect the order immediately after the allocated driver arrived at a merchant, and waited for a relatively short time period before the order is ready for collection), it may therefore be inaccurate to represent FPT parameter for this historical order by the MOR parameter. The processor 120 may segment this historical order into Group 3. The FPT parameter may be represented as the MOR parameter added by a first fraction of the FWC parameter in this scenario, as shown in above equation (2). In this scenario, since the allocated driver waited for a relatively short time period before the order is ready for collection (i.e., the allocated driver did not wait too long before collecting the order), the FPT parameter may be inferred based on the MOR parameter instead of FCT parameter.

[0094] For example, when the allocated driver arrived at the merchant for collecting the order after the merchant indicated the order ready for collection, if the DWT parameter is greater than or equal to a second threshold (which may indicate that the allocated driver did not collect the order immediately after the allocated driver arrived at a merchant, and waited for a relatively long time period before the order is ready for collection), it may therefore be inaccurate to represent FPT parameter for this historical order by the MOR parameter. The processor 120 may segment this historical order into Group 4. The FPT parameter may be represented as the FCT parameter deducted by a second fraction of the DWT parameter in this scenario, as shown in below equation (3):FPT = FCT - frac2 * DWT (3) where FPT represents FPT parameter, FCT represents FCT parameter, frac2 represents the second fraction, DWT represents DWT parameter. In this scenario, since the allocated driverwaited for a relatively long time period before the order is ready for collection, the FPT parameter may be inferred based on the FCT parameter instead of MOR parameter.

[0095] For example, when the allocated driver arrived at the merchant for collecting the order before or at the same time the merchant indicated the order ready for collection, if the MOR parameter is less than a lower bound of historical MOR parameter values (which may indicate that the merchant indicated the order ready too early before the order is ready for collection) and the FWC parameter is less than a first threshold (which may indicate that the order was collected by the allocated driver immediately after the order was indicated ready for collection), it may therefore be inaccurate to represent FPT parameter for this historical order by the MOR parameter. The processor 120 may segment this historical order into Group 6. The FPT parameter may be represented as the MOR parameter added by a first fraction of the FWC parameter in this scenario, as shown in above equation (2). In this scenario, since the order was collected by the allocated driver immediately after the order was indicated ready for collection (i.e., the ordered product did not wait too long before being collected), the FPT parameter may be inferred based on the MOR parameter instead of FCT parameter.

[0096] For example, when the allocated driver arrived at the merchant for collecting the order before or at the same time the merchant indicated the order ready for collection, if the FWC parameter is greater than or equal to a first threshold and is less than a second threshold (which may indicate that the order was not collected by the allocated driver immediately after the order was indicated ready for collection but waited for a relatively short time period before the order was collected), it may therefore be inaccurate to represent FPT parameter for this historical order by the MOR parameter. The processor 120 may segment this historical order into Group 7. The FPT parameter may be represented as the MOR parameter added by a first fraction of the FWC parameter in this scenario, as shown in above equation (2). In this scenario, since the order waited for a relatively short time period before the order was collected (i.e., the ordered product did not wait too long before being collected), the FPT parameter may be inferred based on the MOR parameter instead of FCT parameter.

[0097] For example, when the allocated driver arrived at the merchant for collecting the order before or at the same time the merchant indicated the order ready for collection, if the FWC parameter is greater than or equal to a second threshold (which may indicate that the order was not collected by the allocated driver immediately after the order was indicated ready for collection but waited for a relatively long time period before the order was collected), it may therefore be inaccurate to represent FPT parameter for this historical order by the MOR parameter. The processor 120 may segment this historical order into Group 8. The FPTparameter may be represented as the FCT parameter deducted by a second fraction of the FWC parameter in this scenario, as shown in below equation (4):FPT = FCT - frac2 * FWC (4) where FPT represents FPT parameter, FCT represents FCT parameter, frac2 represents the second fraction, FWC represents FWC parameter. In this scenario, the order waited for a relatively long time period after the order was indicated ready for collection before the order was collected, which may be possibly due to the order was indicated ready too early before it was ready for collection. Therefore, the FPT parameter may be inferred based on the FCT parameter instead of MOR parameter.

[0098] For example, if the MOR parameter is unavailable, and if the DWT parameter is greater than or equal to a second threshold (which may indicate that the allocated driver did not collect the order immediately after the allocated driver arrived at a merchant, and waited for a relatively long time period before the order is ready for collection), it may therefore be inaccurate to represent FPT parameter for this historical order by the MOR parameter. The processor 120 may segment this historical order into Group 9. The FPT parameter may be represented as the FCT parameter deducted by a second fraction of the DWT parameter in this scenario, as shown in the above equation (3). In this scenario, since the allocated driver waited for a relatively long time period before the order is ready for collection, the FPT parameter may be inferred based on the FCT parameter instead of MOR parameter.

[0099] For example, if the MOR parameter is unavailable and if the DWT parameter is less than a second threshold, the processor 120 may determine the estimated FPT parameter for this historical order to be unavailable. The processor 120 may segment this historical order into Group 10.

[0100] Table 1 summarizes the respective FPT ground truth (i.e., FPT parameter) for various inference scenarios / various groups for each historical order.Table 1 FPT ground truth for various inference scenarios / various groups for each historical order.

[0101] The first fraction may be determined based on historical MOR parameter values for each merchant. Historical MOR parameter values for each merchant may refer to MOR parameter values of a plurality of historical orders for a product from the merchant placed in a past predetermined period (c.g., in a past 4 weeks). The first fraction may be determined according to the below equation (5): fracl = max_fracl / (1 +emor-ratl° *2) (5) where mor_ratio represents MOR parameter’ s deviation from average, mor_ratio may be determined according to below equation (6): mor_ratio — (MOR — avgjnor') / stddevjnor (6) where frac! represents the first fraction, max_fracl represents a maximum of the first fraction, MOR represents the MOR parameter, avg_mor represents an average of MOR parameter values of a plurality of historical orders for a product from the merchant placed in a past predetermined period (e.g., in a past 4 weeks). stddev_mor represents a standard deviation ofMOR parameter values of a plurality of historical orders for a product from the merchant placed in a past predetermined period (e.g., in a past 4 weeks).

[0102] FIG. 5A is a plot showing a first fraction (fracl) as a function of MOR parameter’s deviation from average (mor_ratio). As the MOR deviates more from avg_mor when MOR is less than the avg_mor (which may indicate that the merchant indicated the order ready much earlier before the order is ready for collection, such that the MOR is less accurate for representing FPT), a greater fraction of FWC parameter (i.e., a greater fracl) is therefore added to the MOR to represent the FPT.

[0103] The second fraction may be determined based on historical FCT parameter values for each merchant. Historical FCT parameter values for each merchant may refer to FCT parameter values of a plurality of historical orders for a product from the merchant placed in a past predetermined period (e.g., in a past 4 weeks). The second fraction may be determined according to the below equation (7):where fct_ratio may be determined according to below equation (8): fct_ratio — FCT - avg_fct) / stddev_fct (8) where frac2 represents the second fraction, max_frac2 represents a maximum of the second fraction, FCT represents the FCT parameter, avg_fct represents an average of FCT parameter values of a plurality of historical orders for a product from the merchant placed in a past predetermined period (e.g., in a past 4 weeks). stddev_fct represents a standard deviation of FCT parameter values of a plurality of historical orders for a product from the merchant placed in a past predetermined period (e.g., in a past 4 weeks).

[0104] FIG. 5B is a plot showing a second fraction (frac2) as a function of FCT parameter’s deviation from average (fct_ratio). As the FCT deviates more from avg_fct when FCT is greater than the avg_fct (which may indicate that the FCT is less accurate for representing FPT), a greater fraction of DWT parameter or FWC parameter (i.e., a greater frac2) is therefore deducted from the FCT to represent the FPT.

[0105] In some embodiments, each of max_fracl and max_frac2 may be 0.8. In some embodiments, max_fracl and max_frac2 may be hyperparameters which may be tuned. The greater the hyperparameters (i.e., max_fracl and max_frac2) are, the greater the adjustment fractions (i.e., fracl and frac2) are. Two criteria that may be considered when tuning the hyperparameters (i.e., max_fracl and max_frac2) are low dispersion and forecastability:(i) Regarding low dispersion, product (e.g., food product) preparation is a repeatable process under similar circumstances and FPT parameter should be stable for similar circumstances (e.g., FPT parameter for a product from a merchant). FPT ground truth should have a unimodal distribution, as shown in FIG. 6B. To measure data dispersion, two metrics may be used: coefficient of variation and quartile coefficient of variation. The two metrics may be determined based on business requirements. The dispersion of the new FPT ground truth, i.e., coefficient of variation and quartile coefficient of variation, should be lower than the dispersion of MOR and FCT ground truth.

[0106] (ii) Regarding forccastability , the model trained on the new FPT ground truth should be able to match or outperform the predictive accuracy achieved with the MOR ground truth. An accurate and stable ground truth will lead to better prediction accuracy and improve effectiveness on business metrics. The machine learning (ML) model trained on / trained by the FPT ground truth (i.e., the FPT parameter for preparing a product from a merchant for a plurality of historical orders) estimated using the method of present disclosure can predict a product preparation time (FPT) data for preparing a product by a merchant for a new order accurately.In some embodiments, an order queue number information may be taken into account to adjust the second fraction (frac2), to make adjustment to the second fraction to adapt to merchant’s real-time situation. max_frac2 may be adjusted according to a real-time feature, productlnPrep, for each historical order, according to below equation (9): max_frac2 = max_frac2 I max(l, log(productInPrep + 1)) (9) where productlnPrep represents a number of orders received in a past predetermined time period (e.g., in a past 30 mins) before the historical order and are still in a process of preparation.

[0107] FIG. 6 A shows a distribution of MOR parameter 610 and a distribution of FCT parameter 612 for a plurality of historical orders. FIG. 6B shows a distribution of FPT parameter 614 for a plurality of historical orders, estimated by a method 600 in accordance with some embodiments of the present disclosure. FIG. 6A and FIG. 6B show how a method in the present disclosure helps to improve the quality of FPT ground truth (i.e., a distribution of FPT parameter for preparing a product by a merchant). It helps to make the FPT ground truth more consistent with a unimodal distribution. This property aligns with the fact that product preparation is a repeatable process under similar circumstances. In some embodiments, similar circumstances may refer to the consistency in the process of preparing a product undercomparable conditions, for example, preparing the same product by the same merchant, or preparing similar product by different merchants but under similar environmental conditions, using the same equipment, and / or following the same recipe or procedure. As can be seen from FIG. 6A, MOR data show's bimodal distribution with a large peak of small MOR values. This is caused by abuse usage of MOR button that merchant clicked it too early before order is ready for collection (i.e., the merchant indicated the order ready too early before the order is ready for collection). The new FPT ground truth obtained / inferred using the method of the present disclosure have adjusted incorrect MOR data and shows a unimodal distribution as shown in FIG. 6B.

[0108] The present disclosure also provides a method 700 of predicting a product preparation time (FPT) data for preparing a product by a merchant for a new order. The method 700 may include estimating FPT parameter for preparing each of a plurality of products from each of a plurality of merchants for a plurality of historical orders using the method 600 of the present disclosure. The method 700 may include training a FPT prediction model based on the FPT parameter for preparing each of the plurality of products from each of the plurality of merchants using a machine learning model. The method 700 may include predicting a FPT data for preparing a product by a merchant for the new order based on the FPT prediction model. The FPT prediction model may be trained on features generated using the FPT ground truth (i.e., FPT parameter for preparing a product from a merchant for a plurality of historical orders). Examples of features generated using the FPT ground truth may include average and standaid deviation of same merchant orders’ FPT in the past predetermined period (e.g., past two weeks). The FPT prediction model may be trained on these features to predict the FPT data.

[0109] When a plurality of new' orders is placed with each new order corresponding to a product and a merchant, the plurality of new' orders may be batched according to the FPT data for each new order predicted by the FPT prediction model. For example, new orders with similar FPT data may be batched. For example, when two orders are from the same restaurant and have similar food preparation time and close delivery address, the two orders may be batched together for delivery by a single driver, thereby conserving time and resources. Alternatively, a new order may be added to an existing batch of orders. Order batching aims at optimizing the delivery process. Order batching may involve grouping multiple orders based on specific parameters (e.g., FPT data), w'hich helps enhance efficiency and minimize delivery time.

[0110] When a customer 10 placed a new order for the product from a merchant 12, if a driver 14 to collect and deliver the product is allocated immediately after the customer 10 placed the order, the product may be still in preparation when the driver arrives at the merchant. Therefore, a driver may only be allocated after a driver allocation delay time since the customer placed the order. The prediction of FPT data for preparing a product by a merchant by the method 700 of present disclosure can be used to calculate the driver allocation delay time for a new order for the product from the merchant. The driver allocation delay time may be calculated based on each order’s real-time FPT data prediction with the objective to seamlessly coordinate it such that the driver may arrive at the merchant 12 just when the order is ready for collection. For example, the driver allocation delay time may be the predicted FPT data deducted by transportation time required by the driver to travel from his / her current location to the merchant 12. The communication interface 110 of the system 100 may send the new order for the product from the merchant to a driver device of the allocated driver after the driver allocation delay time since the new order is placed. This helps to avoid the allocated driver reaching the merchant before the product is ready for collection and therefore the allocated driver wastes a lot of time waiting at the merchant.

[0111] The prediction of FPT data for preparing a product by a merchant by the method 700 of present disclosure can be also used to obtain an estimated time of arrival (ETA) (or referred to as estimated arrival time) for a new order for the product from the merchant. For example, the estimated time of arrival (ETA) may equal to a sum of the predicted FPT data and a delivery time used by the driver to travel from the merchant 12 to the customer’s delivery address. The communication interface 110 of the system 100 may send the ETA to a customer device (e.g., a mobile phone, a smart watch) of a customer who placed the new order for the product. The customer may arrange his / her time according to the ETA. An accurate ETA, where the product is delivered around the estimated time of arrival, not only enhances the customer's experience during the product ordering process but also sets clear expectations for them. This accuracy in timing can significantly contribute to overall customer satisfaction. Therefore, accurate ETA (e.g., the product is delivered around the same time of the estimated time of arrival) would help to improve a customer’s experience during the product order. For self-pickup order, the customer may plan his / her trip according to ETA so that he / she can arrive when or after the food is ready, thereby minimizing customer’s waiting time.

[0112] The conventional methods of predicting FPT time rely on merchants to provide product ready signals by pressing the merchant order ready (MOR) button when they finish preparing the order. And this data has been used as the single source of truth for productpreparation time (FPT), which has been used for training and evaluating machine learning (ML) model which predicts FPT for downstream services and end users.

[0113] However, MOR can be abused by merchants, leading to inaccurate ground truth and FPT prediction. MOR signal accuracy depends on merchant behavior and it can be abused. Merchants may press the MOR button either too early before product is ready, often immediately after product order is received, or too late as merchants may forget to press it after finishing preparation. This causes inaccurate MOR ground truth, which is currently being used for training and evaluating FPT model, and thus causes inaccurate FPT prediction. Among cases where FPT prediction is not accurate, FPT under-estimation is more dominant and more severe as it can lead to early driver allocation, thus early driver arrival and long driver wait time when it is applied in driver allocation.

[0114] In addition, MOR coverage is limited and biased. MOR has been enabled for the majority of merchants, but on order level, the coverage is not sufficient and merchants are more likely to use MOR on orders that are ready before driver arrival. For those cases when the driver arrives earlier than the order is ready, merchants tend to ignore the button. This also leads to a biased signal which captures the ready time for orders most of which are ready before driver arrival. Merchants may not indicate the order ready at a right time even when action has been taken to reward merchants who provide reliable MOR signals consistently, or penalize those who fail to meet MOR adoption and accuracy criteria. For example, under certain circumstances (e.g., when merchants are busy), the merchants might prefer not to press the MOR button or press it when they have time, which also leads to missing or inaccurate MOR signals.

[0115] This present disclosure introduces a solution to estimate / infer a more accurate actual product preparation time (FPT) ground truth based on multiple signals including merchant order ready, driver arrival and product collection time. This new FPT ground truth can provide a more accurate estimation of the actual food preparation time compared to the conventional merchant order ready (MOR) ground truth. The solution provided in the present disclosure addresses the two data issues as elaborated above that are present in a single ground truth data source - merchant order ready (MOR) ground truth in food preparation time use case. Through the integration of multiple signals, information can be amalgamated from diverse data sources, creating a more precise ground truth characterized by low' dispersion, unimodal distribution, and high predictability.

[0116] The inferred actual food preparation time (FPT) ground truth based on multiple signals can be used for training and / or evaluating a FPT prediction model / machine learning (ML) model which predicts FPT for downstream services and end users.

[0117] Accurate FPT ground truth is the key to estimate the time that a merchant will take to make the order ready. This is being used for downstream applications, including calculating the delay time for driver allocation to minimize driver wait time at merchants, estimating accurate estimated time of arrival (ETAs) for orders and optimizing overall order batching efficiency.

[0118] While the disclosure has been particularly shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present disclosure as defined by the appended claims. The scope of the present disclosure is thus indicated by the appended claims and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced.

Claims

CLAIMS1. A method for estimating, by a system, a product preparation time (FPT) parameter for preparing a product by a merchant for a plurality of historical orders, wherein the system comprises a communication interface and a processor coupled to the communication interface, the method comprising: estimating, by the processor, the product preparation time (FPT) parameter for preparing the product by the merchant for each of the plurality of historical orders for the product from the merchant based on a merchant order ready time (MOR) parameter, a product collection time (FCT) parameter, a service provider wait time (DWT) parameter and a product wait time (FWC) parameter of the historical order, wherein the MOR parameter is determined as a difference between a first time parameter and a second time parameter, wherein the FCT parameter is determined as a difference between the first time parameter and a fourth time parameter, wherein the DWT parameter is determined as a difference between a third time parameter and the fourth time parameter, wherein the FWC parameter is determined as a difference between the second time parameter and the fourth time parameter.

2. The method of claim 1 , further comprising: receiving from a customer device of a customer, by the conununication interface, the first time parameter when the customer placed an order for the product from the merchant for each historical order; receiving from a merchant device of the merchant, by the communication interface, the second time parameter when the merchant indicated the order ready for collection for each historical order; receiving from a driver device of an allocated driver, by the communication interface, the third time parameter when the allocated driver arrived at the merchant for collecting the order and the fourth time parameter when the order was collected by the allocated driver for delivery to the customer for each historical order.

3. The method of claim 1, wherein, for each historical order, the estimated FPT parameter equals to the MOR parameter when the third time parameter is after the second time parameter, the DWT parameter is less than a first threshold and the MOR parameter isgreater than or equal to a lower bound of the MOR parameter values of the plurality of historical orders.

4. The method of claim 1 , wherein, for each historical order, the estimated FPT parameter is greater than the MOR parameter by a first fraction of the FWC parameter, when the third time parameter is after the second time parameter, the DWT parameter is less than a first threshold and the MOR parameter is less than a lower bound of the MOR parameter values of the plurality of historical orders.

5. The method of claim 1, wherein, for each historical order, the estimated FPT parameter is greater than the MOR parameter by a first fraction of the FWC parameter, when the third time parameter is after the second time parameter and the DWT parameter is greater than or equal to a first threshold and is less than a second threshold.

6. The method of claim 1, wherein, for each historical order, the estimated FPT parameter is less than the FCT parameter by a second fraction of the DWT parameter, when the third time parameter is after the second time parameter and the DWT parameter is greater than or equal to a second threshold.

7. The method of claim 1, wherein, for each historical order, the estimated FPT parameter equals to the MOR parameter when the second time parameter is after the third time parameter, the FWC parameter is less than a first threshold and the MOR parameter is greater than or equal to a lower bound of the MOR parameter values of the plurality of historical orders.

8. The method of claim 1, wherein, for each historical order, the estimated FPT parameter is greater than the MOR parameter by a first fraction of the FWC parameter, when the second time parameter is after the third time parameter, the FWC parameter is less than a first threshold and the MOR parameter is less than a lower bound of the MOR parameter values of the plurality of historical orders.

9. The method of claim 1, wherein, for each historical order, the estimated FPT parameter is greater than the MOR parameter by a first fraction of the FWC parameter, when thesecond time parameter is after the third time parameter and the FWC parameter is greater than or equal to a first threshold and is less than a second threshold.

10. The method of claim 1 , wherein, for each historical order, the estimated FPT parameter is less than the FCT parameter by a second fraction of the FWC parameter, when the second time parameter is after the third time parameter and the FWC parameter is greater than or equal to a second threshold.

11. The method of claim 1, wherein, for each historical order, the estimated FPT parameter is less than the FCT parameter by a second fraction of the DWT parameter, when the MOR parameter is unavailable and the DWT parameter is greater than or equals to a second threshold.

12. The method of claim 4, wherein the first fraction is determined based on the MOR parameter values of the plurality of historical orders.

13. The method of claim 6, wherein the second fraction is determined based on the FCT parameter values of the plurality of historical orders.

14. A method of predicting a FPT data for preparing a product by a merchant for a new order, comprising: estimating a FPT parameter for preparing each of a plurality of products from each of a plurality of merchants for a plurality of historical orders using the method of claim 1; training a FPT prediction model based on the FPT parameter for preparing each of the plurality of products from each of the plurality of merchants; and predicting a FPT data for preparing a product by a merchant for the new order based on the FPT prediction model.

15. The method of claim 14, wherein when a plurality of new orders is placed with each new order corresponding to a product and a merchant, the plurality of new orders is batched according to the FPT data for each new order predicted by the FPT prediction model.

16. The method of claim 14, further comprising: calculating, by the processor, a driver allocation delay time for the new order for the product from the merchant based on the predicted FPT data.

17. The method of claim 16, further comprising: sending to a driver device of an allocated driver for the new order after the driver allocation delay time since the new order is placed, by the communication interface, the new order for the product from the merchant for the allocated driver to collect the product from the merchant for delivery.

18. The method of claim 14, further comprising: estimating, by the processor, an arrival time for the new order for the product from the merchant based on the predicted FPT data.

19. The method of claim 18, further comprising: sending to a customer device of a customer who placed the new order, by the communication interface, the estimated arrival time for the new order.

20. A system for estimating a product preparation time (FPT) parameter for preparing a product by a merchant for a plurality of historical orders, the system comprising a communication interface and a processor coupled to the communication interface, wherein the processor is configured to estimate the product preparation time (FPT) parameter for preparing the product by the merchant for each of the plurality of historical orders for the product from the merchant based on a merchant order ready time (MOR) parameter, a product collection time (FCT) parameter, a sendee provider wait time (DWT) parameter and a product wait time (FWC) parameter of the historical order, wherein the MOR parameter is determined as a difference between a first time parameter and a second time parameter, wherein the FCT parameter is determined as a difference between the first time parameter and a fourth time parameter, wherein the DWT parameter is determined as a difference between a third time parameter and the fourth time parameter, wherein the FWC parameter is determined as a difference between the second time par ameter and the fourth time parameter.

Citation Information

Patent Citations

  • Reinforcement learning model optimizing arrival time for on-demand delivery services

    US20220207478A1

  • System and method for predicting delivery time for batch orders

    WO2022245295A2

  • A communications server, a method, a user device, an e-commerce server and a system

    WO2023091078A1