An order delivery method, apparatus, electronic device, and storage medium

By matching orders based on the user's sensitivity to the order processing time in the order delivery system, the problem of high order cancellation rate was solved, and the user experience was improved.

CN115759307BActive Publication Date: 2026-05-26NANJING LINGXING TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NANJING LINGXING TECH CO LTD
Filing Date
2022-11-22
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

The existing technology has a high order cancellation rate, resulting in a poor user experience.

Method used

By obtaining the starting point of orders and order-receiving terminals within a specified area, the available order-receiving terminals are determined, and matching is performed based on the order-placing user's sensitivity to the order-receiving time. If the order-placing user's sensitivity to the order-receiving time is higher than the set level, the order-receiving terminal is matched according to the rule of the shortest order-receiving time.

Benefits of technology

It reduced order cancellation rates and improved user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115759307B_ABST
    Figure CN115759307B_ABST
Patent Text Reader

Abstract

This application discloses an order delivery method, apparatus, electronic device, and storage medium, belonging to the field of Internet technology. The method includes acquiring N orders to be delivered within a specified area, where N is a positive integer; determining N order-receiving terminals based on the starting point of the N orders; matching the N orders and the N order-receiving terminals; wherein, if the order placer's identifier for any order is located in a preset set of user identifiers, the order is matched with an order-receiving terminal according to the rule of shortest order acceptance time. The preset set of user identifiers stores order placer identifiers whose sensitivity to order acceptance time is higher than a set level; and based on the matching results, each order is delivered to the order-receiving terminal corresponding to that order. Thus, when dispatching orders to users, if the order placer's sensitivity to order acceptance time is higher than a set level, the order-receiving terminal is matched according to the rule of shortest order acceptance time, thereby reducing the order cancellation rate and providing a better user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of Internet technology, and in particular to an order delivery method, apparatus, electronic device and storage medium. Background Technology

[0002] With the rapid development of internet technology, many types of online orders have emerged, such as ride-hailing orders and chauffeur services. Regardless of the type of online order being delivered, it is generally necessary to choose the right order-receiving platform to increase the success rate.

[0003] Taking ride-hailing orders as an example, ride-hailing platforms will try their best to match as many orders as possible with vehicles while meeting certain factors such as pick-up distance and pick-up time, so as to complete the order dispatch. However, in actual application, after the user places an order, the platform sends the vehicle information containing the pick-up time to the user's terminal. Users often cancel the order because they are not satisfied with the pick-up time. This not only increases the platform's order cancellation rate, but also brings a bad user experience.

[0004] It is evident that existing technologies suffer from a high order cancellation rate. Summary of the Invention

[0005] This application provides an order delivery method, apparatus, electronic device, and storage medium to address the problem of high order cancellation rates in the prior art.

[0006] In a first aspect, embodiments of this application provide an order delivery method, including:

[0007] Retrieve N orders to be delivered within a specified area, where N is a positive integer;

[0008] Based on the starting points of the N orders, determine the N order-receiving terminals that can accept orders;

[0009] The N orders and the N order receiving terminals are matched. If the order user identifier of any order is in a preset user identifier set, the order receiving terminal is matched according to the rule of the shortest order receiving time. The preset user identifier set stores order user identifiers that are more sensitive to the order receiving time than a set level.

[0010] Based on the matching results, each order is dispatched to the corresponding order receiving terminal.

[0011] In some embodiments, the sensitivity of each order-placing user to order duration is determined according to the following steps:

[0012] Retrieve historical orders within the specified area;

[0013] Historical orders are classified into two categories based on the rule that orders with a processing time shorter than the average processing time of all historical orders are classified as Category I historical orders, and orders with a processing time not shorter than the average processing time are classified as Category II historical orders.

[0014] For each ordering user, when the ordering user meets the sensitivity determination conditions, the sensitivity of the ordering user to the order duration is determined based on the first type of historical orders and the second type of historical orders of the ordering user.

[0015] In some embodiments, based on the first type of historical orders and the second type of historical orders of the ordering user, the sensitivity of the ordering user to the order duration is determined, including:

[0016] Based on the established first prediction model and the first type of historical orders of the ordering user, the first sensitivity of the ordering user is determined; based on the established second prediction model and the second type of historical orders of the ordering user, the second sensitivity of the ordering user is determined.

[0017] The first sensitivity and the second sensitivity are weighted and summed to obtain the sensitivity of the order user to the order processing time.

[0018] In some embodiments, based on an established first prediction model and the first type of historical orders of the ordering user, a first sensitivity of the ordering user is determined, including:

[0019] Input the first feature data of each first type of historical order of the ordering user into the first prediction model to obtain the cancellation rate of the first type of historical order of the ordering user;

[0020] The average cancellation rate of each first-category historical order by the ordering user is determined as the first sensitivity of the ordering user.

[0021] In some embodiments, based on the established second prediction model and the second type of historical orders of the ordering user, a second sensitivity of the ordering user is determined, including:

[0022] Input the first feature data of each second type of historical order of the ordering user into the second prediction model to obtain the cancellation rate of the second type of historical order of the ordering user;

[0023] The average cancellation rate of each second type of historical order by the ordering user is determined as the second sensitivity of the ordering user.

[0024] In some embodiments, the first prediction model and the second prediction model are trained according to the following steps:

[0025] The first initial model is obtained by using the first feature data of the first type of historical orders as input and the label value of whether or not the order was cancelled as output. The second initial model is obtained by using the first feature data of the second type of historical orders as input and the label value of whether or not the order was cancelled as output.

[0026] Determine the first prediction error of the second initial model for each first type of historical order, add the first prediction error to the first feature data of the first type of historical order, determine the second prediction error of the first initial model for each second type of historical order, and add the second prediction error to the first feature data of the second type of historical order;

[0027] Using the first feature data of the first type of historical orders after adding the first prediction error as input and the label value of whether they were canceled as output, the first initial model is trained to obtain the first prediction model. Using the first feature data of the second type of historical orders after adding the second prediction error as input and the label value of whether they were canceled as output, the second initial model is trained to obtain the second prediction model.

[0028] In some embodiments, the weights of the order-placing user for the first sensitivity and the second sensitivity are determined according to the following steps:

[0029] The second feature data of each historical order of the ordering user is input into the established tendency analysis model to obtain the tendency score of the historical order's order acceptance time being greater than the average order acceptance time. The second feature data includes an indication value of whether the actual order acceptance time is less than the average order acceptance time.

[0030] The weight of the user's sensitivity to the first sensitivity is obtained by taking a weighted average of the tendency scores corresponding to each of the user's historical orders.

[0031] The difference between the preset value and the weight is used as the weight of the second sensitivity of the user who placed the order.

[0032] Secondly, embodiments of this application provide an order delivery device, comprising:

[0033] The acquisition module is used to acquire N orders to be delivered within a specified area, where N is an integer greater than zero;

[0034] The first determining module is used to determine N order-receiving terminals that can accept orders based on the starting points of the N orders;

[0035] The matching module is used to match the N orders and the N order receiving terminals. If the ordering user identifier of any order is located in the preset user identifier set, the order receiving terminal is matched for the order according to the rule of the shortest order receiving time. The preset user identifier set stores ordering user identifiers that have a higher sensitivity to order receiving time than a set level.

[0036] The delivery module is used to deliver each order to the corresponding order receiving terminal based on the matching results.

[0037] In some embodiments, a second determining module is further included, configured to determine the sensitivity of each order-placing user to the order duration according to the following steps:

[0038] Retrieve historical orders within the specified area;

[0039] Historical orders are classified into two categories based on the rule that orders with a processing time shorter than the average processing time of all historical orders are classified as Category I historical orders, and orders with a processing time not shorter than the average processing time are classified as Category II historical orders.

[0040] For each ordering user, when the ordering user meets the sensitivity determination conditions, the sensitivity of the ordering user to the order duration is determined based on the first type of historical orders and the second type of historical orders of the ordering user.

[0041] In some embodiments, the second determining module is specifically used for:

[0042] Based on the established first prediction model and the first type of historical orders of the ordering user, the first sensitivity of the ordering user is determined; based on the established second prediction model and the second type of historical orders of the ordering user, the second sensitivity of the ordering user is determined.

[0043] The first sensitivity and the second sensitivity are weighted and summed to obtain the sensitivity of the order user to the order processing time.

[0044] In some embodiments, the second determining module is specifically used for:

[0045] Input the first feature data of each first type of historical order of the ordering user into the first prediction model to obtain the cancellation rate of the first type of historical order of the ordering user;

[0046] The average cancellation rate of each first-category historical order by the ordering user is determined as the first sensitivity of the ordering user.

[0047] In some embodiments, the second determining module is specifically used for:

[0048] Input the first feature data of each second type of historical order of the ordering user into the second prediction model to obtain the cancellation rate of the second type of historical order of the ordering user;

[0049] The average cancellation rate of each second type of historical order by the ordering user is determined as the second sensitivity of the ordering user.

[0050] In some embodiments, a training module is further included for training the first prediction model and the second prediction model according to the following steps:

[0051] The first initial model is obtained by using the first feature data of the first type of historical orders as input and the label value of whether or not the order was cancelled as output. The second initial model is obtained by using the first feature data of the second type of historical orders as input and the label value of whether or not the order was cancelled as output.

[0052] Determine the first prediction error of the second initial model for each first type of historical order, add the first prediction error to the first feature data of the first type of historical order, determine the second prediction error of the first initial model for each second type of historical order, and add the second prediction error to the first feature data of the second type of historical order;

[0053] Using the first feature data of the first type of historical orders after adding the first prediction error as input and the label value of whether they were canceled as output, the first initial model is trained to obtain the first prediction model. Using the first feature data of the second type of historical orders after adding the second prediction error as input and the label value of whether they were canceled as output, the second initial model is trained to obtain the second prediction model.

[0054] In some embodiments, the weights of the order-placing user for the first sensitivity and the second sensitivity are determined according to the following steps:

[0055] The second feature data of each historical order of the ordering user is input into the established tendency analysis model to obtain the tendency score of the historical order's order acceptance time being greater than the average order acceptance time. The second feature data includes an indication value of whether the actual order acceptance time is less than the average order acceptance time.

[0056] The weight of the user's sensitivity to the first sensitivity is obtained by taking a weighted average of the tendency scores corresponding to each of the user's historical orders.

[0057] The difference between the preset value and the weight is used as the weight of the second sensitivity of the user who placed the order.

[0058] Thirdly, embodiments of this application provide an electronic device, including: at least one processor, and a memory communicatively connected to the at least one processor, wherein:

[0059] The memory stores a computer program that can be executed by at least one processor, which enables the at least one processor to perform the order delivery method described above.

[0060] Fourthly, embodiments of this application provide a storage medium in which the electronic device can execute the above-described order delivery method when the computer program in the storage medium is executed by the processor of the electronic device.

[0061] In this embodiment, N orders to be delivered within a specified area are obtained, where N is a positive integer. Based on the starting point of the N orders, N order-receiving terminals are determined. The N orders and N order-receiving terminals are matched. If the order user's identifier for any order is in a preset user identifier set, the order is matched with an order-receiving terminal according to the rule of shortest order acceptance time. The preset user identifier set stores order user identifiers whose sensitivity to order acceptance time is higher than a set level. Based on the matching results, each order is delivered to the order-receiving terminal corresponding to the order. In this way, when dispatching orders to users, if the order user's sensitivity to order acceptance time is higher than the set level, the order-receiving terminal is matched according to the rule of shortest order acceptance time, so that the order acceptance time is shorter, thereby reducing the order cancellation rate and bringing a better user experience. Attached Figure Description

[0062] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0063] Figure 1 This application provides an illustration of an order delivery method according to an embodiment of the present application.

[0064] Figure 2 A flowchart illustrating an order delivery method provided in this application embodiment;

[0065] Figure 3 A flowchart for determining the sensitivity of order processing time for each order-placing user, provided as an embodiment of this application;

[0066] Figure 4 This application provides a schematic diagram of an order delivery process as an embodiment of the present application.

[0067] Figure 5 This is a schematic diagram of the structure of an order delivery device provided in an embodiment of this application;

[0068] Figure 6 This is a schematic diagram of the hardware structure of an electronic device for implementing an order delivery method, provided as an embodiment of this application. Detailed Implementation

[0069] To address the problem of high order cancellation rates in existing technologies, this application provides an order delivery method, apparatus, electronic device, and storage medium.

[0070] The preferred embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustration and explanation only and are not intended to limit this application. Furthermore, the embodiments and features in the embodiments of this application can be combined with each other without conflict.

[0071] The order delivery method provided in this application can be applied to various scenarios such as ride-hailing and chauffeur services. In the ride-hailing scenario, the order is a ride-hailing order, the ordering user is the passenger, and the order receiving user is the driver. The starting point of the ride-hailing order is the passenger's pick-up location. It should be noted that the passenger's pick-up location may be the location of the passenger or another location specified by the passenger. In the chauffeur service scenario, the order is a chauffeur service order, the ordering user is the vehicle owner, and the order receiving user is the chauffeur. The starting point of the chauffeur service order is the location of the chauffeur vehicle.

[0072] Figure 1 This application scenario diagram illustrates an order delivery method provided in an embodiment of this application, including an order-placing user, a server, and an order-receiving terminal. The order-placing user is connected to the server via a wired or wireless network, and the order-receiving terminal is also connected to the server via a wired or wireless network.

[0073] Users who place orders send an order request to the server via mobile phone, iPad, computer, etc. The order request includes at least the order origin and user information, such as user ID and contact information.

[0074] After receiving an order request from any user, the server can select an order-receiving end based on the order information in the order request and send an order-receiving instruction to the selected end. The order-receiving instruction includes order information such as the origin, destination, and contact information of the user who placed the order, and sends information about the order-receiving end to the user, such as the end identifier, contact information, and estimated order duration.

[0075] The order receiving device, such as a mobile phone, iPad, or computer, executes the order receiving and delivery processes based on the order information in the order receiving instruction sent by the server after receiving the order receiving instruction.

[0076] The server can be a single server, a server cluster consisting of several servers, or a cloud computing center.

[0077] After introducing the application scenarios of the embodiments of this application, the order delivery method proposed in this application will be described below with specific embodiments.

[0078] Figure 2 A flowchart of an order delivery method provided in this application embodiment is shown. This method is applied to... Figure 1 The method is implemented in a server and includes the following steps.

[0079] In step 201, N orders to be delivered within the specified area are obtained, where N is an integer greater than zero.

[0080] The N orders to be delivered within the specified area obtained include at least the origin of the N orders and the order user identifiers of the N orders. The specified area is, for example, a city.

[0081] In step 202, based on the starting point of N orders, N order receiving terminals that can accept orders are determined.

[0082] For example, based on the starting point of any order, determine N order-receiving terminals within a preset range from the starting point of the order, use these N order-receiving terminals as candidate order-receiving terminals, and match the final order-receiving terminal from the candidate order-receiving terminals to dispatch the order.

[0083] In step 203, N orders and N order receiving terminals are matched. If the ordering user ID of any order is in the preset user ID set, the order receiving terminal is matched according to the rule of the shortest order receiving time. The preset user ID set stores ordering user IDs that are more sensitive to the order receiving time than a set level.

[0084] In practical applications, users within a specified area can be sorted by their sensitivity to order processing time from largest to smallest, and the user IDs of the users at the top of the list can be selected to form a preset user ID set.

[0085] For example, if there are 5 users who placed orders within a specified area: User A, User B, User C, User D, and User E, and User A's order acceptance time sensitivity is 0.39, User B's is 0.8, User C's is 0.7, User D's is 0.75, and User E's is 0.6, then sorting them from largest to smallest, we get 0.8 (User B) > 0.75 (User D) > 0.7 (User C) > 0.6 (User E) > 0.39 (User A). If the selection ratio is set to 40%, then the preset user identifier set is {User B, User D}.

[0086] Furthermore, the preset user identifier set can be stored on a server or in an offline data warehouse. When stored on a server, it is retrieved directly from the local database during matching; when stored in an offline data warehouse, it is retrieved from the offline data warehouse during matching. Additionally, the preset user identifier set can be updated according to a preset period, such as once a month.

[0087] In specific implementation, it can be done according to Figure 3 The process determines the sensitivity of each order's processing time to the user, and includes the following steps.

[0088] In step 2031, historical orders within the specified area are retrieved.

[0089] Historical orders can be all historical orders within a specified region, or historical orders within a certain period of time, such as historical orders from the past year. Historical orders include characteristic data such as the user ID of the orderer, the order start point, the order end point, the order request time, and the order acceptance duration.

[0090] In step 2032, historical orders are divided into first-class historical orders and second-class historical orders according to the rule that orders with a processing time less than the average processing time of all historical orders are classified as first-class historical orders and orders with a processing time not less than the average processing time are classified as second-class historical orders.

[0091] In practice, the average order acceptance time is first determined based on the order acceptance time of each order in the historical orders. Then, the order acceptance time of each order is compared with the average order acceptance time. Orders with an acceptance time less than the average order acceptance time are classified as the first category of historical orders, and those with an acceptance time not less than the average order acceptance time are classified as the second category of historical orders.

[0092] In step 2033, for each ordering user, when the ordering user meets the sensitivity determination conditions, the sensitivity of the ordering user to the order duration is determined based on the first type of historical orders and the second type of historical orders.

[0093] The sensitivity is determined when the number of historical orders of the ordering user reaches a preset value, and the historical orders of this ordering user include both the first type of historical orders and the second type of historical orders.

[0094] In some embodiments, the sensitivity of the order processing time for the user placing the order can be determined according to the following steps:

[0095] The first step is to determine the first sensitivity based on the established first prediction model and the first type of historical orders of the ordering users.

[0096] In practice, the first feature data of each first type of historical order of the ordering user is input into the first prediction model to obtain the cancellation rate of the first type of historical order of the ordering user. The average cancellation rate of each first type of historical order of the ordering user is determined as the first sensitivity of the ordering user.

[0097] For example, if a user has three historical orders in the first category, namely Order 1, Order 2, and Order 3, and these three orders are input into the first prediction model, the order cancellation rate for Order 1 is 0.2, the order cancellation rate for Order 2 is 0.15, and the order cancellation rate for Order 3 is 0.1. Then, 0.15 can be determined as the first sensitivity of the user who placed the order.

[0098] The second step is to determine the second sensitivity based on the established second prediction model and the second type of historical orders of the ordering users.

[0099] In practice, the first feature data of each second type of historical order of the ordering user is input into the second prediction model to obtain the cancellation rate of the second type of historical order of the ordering user. The average cancellation rate of each second type of historical order of the ordering user is determined as the second sensitivity of the ordering user.

[0100] For example, if a user has two historical orders in the second category, order 4 and order 5, and orders 4 and 5 are input into the second prediction model respectively, the order cancellation rate for order 4 is 0.7 and the order cancellation rate for order 5 is 0.8. Then, 0.75 can be determined as the second sensitivity of the user who placed the order.

[0101] The first feature data includes an indication value for whether the actual order acceptance time is less than the average order acceptance time. If the order acceptance time is less than the average order acceptance time, the indication value is 0; if the order acceptance time is not less than the average order acceptance time, the indication value is 1.

[0102] The third step is to perform a weighted sum of the first and second sensitivities to obtain the sensitivity of the user's order processing time.

[0103] In practice, the second characteristic data of each historical order of the ordering user can be input into the established tendency analysis model to obtain the tendency score of the historical order's order acceptance time not being less than the average order acceptance time. The second characteristic data includes an indication value of whether the actual order acceptance time is less than the average order acceptance time. The second characteristic data can be the same as or different from the first characteristic data. The tendency scores corresponding to each historical order of the ordering user are weighted and averaged to obtain the weight of the ordering user's first sensitivity. Then, the difference between the preset value, such as 1, and the weight of the first sensitivity is used as the weight of the ordering user's second sensitivity.

[0104] Then, the sensitivity of the user to the order processing time is determined according to the following formula:

[0105] The sensitivity of a user to the time it takes to process an order = First sensitivity * Weight of first sensitivity + Second sensitivity * Weight of second sensitivity.

[0106] In practice, the first and second prediction models can be trained by following these steps.

[0107] Step 1: Train the model using the first feature data of the first type of historical orders as input and the label value of whether it was canceled as output to obtain the first initial model. Train the model using the first feature data of the second type of historical orders as input and the label value of whether it was canceled as output to obtain the second initial model.

[0108] Given the significant difference in sample size between the first and second categories of historical orders—and it's possible that the first category's sample size is much larger than the second, or vice versa—the prediction accuracy of a model trained on the smaller category of historical orders will be lower. To avoid inaccurate predictions due to the difference in order sample size, sample cross-validation can be used to update the model. The following steps are performed to achieve this.

[0109] Step 2: Determine the first prediction error of the second initial model for each first type of historical order, add the first prediction error to the first feature data of the first type of historical order, determine the second prediction error of the first initial model for each second type of historical order, and add the second prediction error to the first feature data of the second type of historical order.

[0110] Step 3: Using the first feature data of the first type of historical orders after adding the first prediction error as input and the label value of whether it was canceled as output, train the first initial model to obtain the first prediction model. Using the first feature data of the second type of historical orders after adding the second prediction error as input and the label value of whether it was canceled as output, train the second initial model to obtain the second prediction model.

[0111] In addition, if the ordering user's identifier is not in the preset user identifier set, the order can be matched with the receiving end according to the comprehensive score. For example, the comprehensive evaluation of factors such as the order receiving time, the ordering frequency of the ordering user, and the service quality of the receiving end can be used to set a score for each evaluation factor and send the order to the receiving end whose comprehensive score is within the preset threshold.

[0112] In step 204, based on the matching results, each order is dispatched to the corresponding order receiving terminal.

[0113] For example, after order placement by user A and user B, since user A's identifier is located in the preset user identifier set, the order placement end can be matched to user A's order according to the rule of the shortest order acceptance time.

[0114] It should be noted that after matching each order with a receiving end, the server will dispatch the order to the corresponding receiving end and send the receiving end information to the user who placed the order, including the receiving end's contact information, estimated receiving time, and other information.

[0115] In this way, when assigning orders to users, if the user's sensitivity to the order acceptance time is higher than the set level, the order receiving end will be matched according to the rule of the shortest order acceptance time, thereby reducing the order cancellation rate and bringing a better user experience.

[0116] The following section uses a ride-hailing order as an example to introduce the solution provided in this application's embodiments. Figure 4 This application provides a schematic diagram of an order delivery process, including a passenger terminal (order-placing user), a server, a driver terminal (order-receiving terminal), and an offline data warehouse. In the ride-hailing scenario, the sensitivity to order duration is the same as the sensitivity to ride duration. The order-placing user identifier is the passenger identifier, and the user identifier set is the passenger identifier set.

[0117] First, the passenger sends an order request to the server, which includes information such as the order initiation time, the order start point, and the order destination. The driver reports the vehicle's location to the server in real time.

[0118] Then, after receiving an order request from a passenger, the server retrieves available drivers near the order's origin in real time. Simultaneously, based on the passenger's identifier, it retrieves a set of passenger identifiers stored in an offline data warehouse. If the passenger's identifier exists in this set, the order is matched with a driver based on the shortest pick-up time. This passenger identifier set stores identifiers with a sensitivity to pick-up time higher than a set threshold. The passenger identifier set can be stored on the server or in an offline data warehouse. When stored on the server, it is retrieved directly from the local database during matching; when stored in an offline data warehouse, it is retrieved from the offline database. Furthermore, the passenger identifier set can be updated at a preset period, such as monthly.

[0119] The server then matches the order with a driver and sends the matching results, such as estimated pick-up time and route, to the passenger. It also sends the order information, such as order details and passenger contact information, to the driver.

[0120] Finally, after receiving the order dispatch information from the server, the driver executes the pick-up and drop-off processes. If the passenger cancels the order during the pick-up process, the service process ends, and the server re-matches the order with a driver. After each order service is completed (including orders canceled during the pick-up process), the server saves the entire order process data to the offline data warehouse.

[0121] Different passengers have varying degrees of sensitivity to pick-up / drop-off time. Passengers whose sensitivity to pick-up / drop-off time exceeds a set threshold are called high-time-sensitive passengers. These passengers have stricter requirements for pick-up / drop-off time and are more likely to cancel their orders after receiving estimated pick-up / drop-off time information. Passengers whose sensitivity to pick-up / drop-off time is not higher than a set threshold are called low-time-sensitive passengers. These passengers have more lenient requirements for pick-up / drop-off time and are less likely to cancel their orders after receiving estimated pick-up / drop-off time information. As shown in Table 1:

[0122] Table 1

[0123]

[0124] It should be noted that passengers' sensitivity to pick-up time is usually determined based on two types of historical orders: the first type of historical orders with a pick-up time shorter than the average pick-up time of all historical orders, and the second type of historical orders with a pick-up time not shorter than the average pick-up time of all historical orders. By calculating the passenger's sensitivity to the first type of historical orders and the sensitivity to the second type of historical orders, the first sensitivity and the second sensitivity are weighted and summed to obtain the passenger's sensitivity to pick-up time.

[0125] Passenger sensitivity to pick-up time can be obtained through the following steps:

[0126] Step 1: Determine the weights of the first sensitivity of passengers to connection time and the second sensitivity of passengers to connection time.

[0127] First, calculate the average pick-up time S, for example, once a month. Here, we can use historical orders from the most recent year within a specified region, such as a city. The characteristic data of each order includes passenger ID, pick-up time, price, weather, etc.

[0128] The calculation formula is:

[0129] Unit: minutes (min).

[0130] Secondly, based on the relationship between the pick-up time of each order and the average pick-up time S, the historical orders are divided into categories:

[0131]

[0132] Finally, the second feature data of each passenger's historical order is input into the established propensity analysis model to obtain the propensity score of historical orders whose pickup time is greater than the average pickup time. The second feature data includes an indication value of whether the actual pickup time is less than the average pickup time. The propensity scores corresponding to each passenger's historical order are weighted and averaged to obtain the passenger's weight M for the first sensitivity. The difference between the preset value, such as 1, and the weight M is used as the passenger's weight for the second sensitivity.

[0133] Step 2: Train a first prediction model to predict the order cancellation rate of the first type of historical orders and a second prediction model to predict the order cancellation rate of the second type of historical orders.

[0134] Here, we still use historical orders from the most recent year in a city as samples. The feature data of these orders includes passenger identifier, order origin, order destination, ride duration, price, weather, and feature t. Each type of order has samples of orders canceled during the ride and samples of orders not canceled during the ride. We assign the label 0 to samples of orders not canceled during the ride and the label 1 to samples of orders canceled during the ride. We split the dataset using feature t, and then use the first feature data of the samples with t=0 as input and the label of whether the order was canceled as output to train the model, obtaining mode_0 (first initial model). We use the first feature data of the samples with t=1 as input and the label of whether the order was canceled as output to train the model, obtaining model_1 (second initial model). Here, we can use XGBoost or other supervised learning algorithms.

[0135] Considering the significant difference between the sample size at t=0 and t=1 in historical orders, and the possibility that the sample size at t=0 is much larger than that at t=1, or vice versa, the prediction accuracy of a model trained on the class of historical orders with a smaller sample size will be poor. Therefore, to avoid the inaccurate prediction results caused by the difference in order sample size, sample crossover can be used to update the model.

[0136] In specific implementation, based on feature t, H 0 H represents the first prediction error of model_1 for each order at t=0. 1 H represents the second prediction error of model_0 for each order at t=1. 0 Add H to the first feature data of the order at t=0. 1 Add it to the first feature data of the order at t=1.

[0137] Then, add H for the order with t=0. 0The first feature data is used as input, and the label value indicating whether it was canceled is used as output. Model_0 is trained to obtain mode_0' (the first prediction model). H is added to the order at t=1. 1 The first feature data is used as input, and the label value indicating whether it is canceled is used as output. Model_1 is trained to obtain model_1' (the second prediction model).

[0138] Step 3: Determine the first and second sensitivities of passenger order processing time.

[0139] Input the first feature data of each historical order for any passenger at t=0 into mode_0' to obtain the cancellation rate of the historical order. The average cancellation rate of each historical order for the passenger at t=0 is determined as the passenger's first sensitivity τ0. Input the first feature data of each historical order for the passenger at t=1 into model_1' to obtain the cancellation rate of the historical order. The average cancellation rate of each historical order for the passenger at t=1 is determined as the passenger's second sensitivity τ1.

[0140] Step 4: Determine the passenger's sensitivity to the length of the connection.

[0141] The passenger's sensitivity to connection time τ is obtained by weighted summation of the first and second sensitivities, using the following formula:

[0142] τ=M*τ0+(1-M)*τ1,

[0143] Where M is the weight of τ0, and 0 < M < 1.

[0144] This approach quantifies passengers' sensitivity to ride-hailing duration in a reasonable way. For passengers with high sensitivity to ride-hailing duration, drivers are matched according to the rule of the shortest ride-hailing duration, so as to better meet the time needs of different passengers. This helps to reduce the cancellation rate and improve the operational efficiency of ride-hailing platforms.

[0145] Based on the same technical concept, this application also provides an order delivery device. The principle of the order delivery device in solving the problem is similar to that of the order delivery method described above. Therefore, the implementation of the order delivery device can refer to the implementation of the order delivery method, and the repeated parts will not be described again.

[0146] Figure 5 The present application provides a schematic diagram of the structure of an order delivery device, including an acquisition module 501, a first determination module 502, a matching module 503, and a delivery module 504.

[0147] The acquisition module 501 is used to acquire N orders to be delivered within a specified area, where N is an integer greater than zero;

[0148] The first determining module 502 is used to determine N order-receiving terminals that can accept orders based on the starting points of the N orders;

[0149] The matching module 503 is used to match the N orders and the N order receiving terminals. If the order user identifier of any order is located in the preset user identifier set, the order receiving terminal is matched for the order according to the rule of the shortest order receiving time. The preset user identifier set stores order user identifiers that are more sensitive to the order receiving time than a set level.

[0150] The delivery module 504 is used to deliver each order to the order receiving terminal corresponding to the order based on the matching result.

[0151] In some embodiments, a second determining module 505 is further included, configured to determine the sensitivity of each order-placing user to the order duration according to the following steps:

[0152] Retrieve historical orders within the specified area;

[0153] Historical orders are classified into two categories based on the rule that orders with a processing time shorter than the average processing time of all historical orders are classified as Category I historical orders, and orders with a processing time not shorter than the average processing time are classified as Category II historical orders.

[0154] For each ordering user, when the ordering user meets the sensitivity determination conditions, the sensitivity of the ordering user to the order duration is determined based on the first type of historical orders and the second type of historical orders of the ordering user.

[0155] In some embodiments, the second determining module 505 is specifically used for:

[0156] Based on the established first prediction model and the first type of historical orders of the ordering user, the first sensitivity of the ordering user is determined; based on the established second prediction model and the second type of historical orders of the ordering user, the second sensitivity of the ordering user is determined.

[0157] The first sensitivity and the second sensitivity are weighted and summed to obtain the sensitivity of the order user to the order processing time.

[0158] In some embodiments, the second determining module 505 is specifically used for:

[0159] Input the first feature data of each first type of historical order of the ordering user into the first prediction model to obtain the cancellation rate of the first type of historical order of the ordering user;

[0160] The average cancellation rate of each first-category historical order by the ordering user is determined as the first sensitivity of the ordering user.

[0161] In some embodiments, the second determining module 505 is specifically used for:

[0162] Input the first feature data of each second type of historical order of the ordering user into the second prediction model to obtain the cancellation rate of the second type of historical order of the ordering user;

[0163] The average cancellation rate of each second type of historical order by the ordering user is determined as the second sensitivity of the ordering user.

[0164] In some embodiments, a training module 506 is further included for training the first prediction model and the second prediction model according to the following steps:

[0165] The first initial model is obtained by using the first feature data of the first type of historical orders as input and the label value of whether or not the order was cancelled as output. The second initial model is obtained by using the first feature data of the second type of historical orders as input and the label value of whether or not the order was cancelled as output.

[0166] Determine the first prediction error of the second initial model for each first type of historical order, add the first prediction error to the first feature data of the first type of historical order, determine the second prediction error of the first initial model for each second type of historical order, and add the second prediction error to the first feature data of the second type of historical order;

[0167] Using the first feature data of the first type of historical orders after adding the first prediction error as input and the label value of whether they were canceled as output, the first initial model is trained to obtain the first prediction model. Using the first feature data of the second type of historical orders after adding the second prediction error as input and the label value of whether they were canceled as output, the second initial model is trained to obtain the second prediction model.

[0168] In some embodiments, the weights of the order-placing user for the first sensitivity and the second sensitivity are determined according to the following steps:

[0169] The second feature data of each historical order of the ordering user is input into the established tendency analysis model to obtain the tendency score of the historical order's order acceptance time being greater than the average order acceptance time. The second feature data includes an indication value of whether the actual order acceptance time is less than the average order acceptance time.

[0170] The weight of the user's sensitivity to the first sensitivity is obtained by taking a weighted average of the tendency scores corresponding to each of the user's historical orders.

[0171] The difference between the preset value and the weight is used as the weight of the second sensitivity of the user who placed the order.

[0172] The module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, other division methods are possible. Furthermore, the functional modules in each embodiment of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. Coupling between modules can be achieved through interfaces, typically electrical communication interfaces, but mechanical interfaces or other types of interfaces are also possible. Therefore, modules described as separate components may or may not be physically separate; they can be located in one place or distributed across different locations on the same or different devices. The integrated modules described above can be implemented in hardware or as software functional modules.

[0173] Having introduced the order delivery method and apparatus according to exemplary embodiments of this application, we will now introduce an electronic device according to another exemplary embodiment of this application.

[0174] The following reference Figure 6 To describe an electronic device 130 implemented according to this embodiment of the present application. Figure 6 The electronic device 130 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0175] like Figure 6 As shown, the electronic device 130 is presented in the form of a general-purpose electronic device. The components of the electronic device 130 may include, but are not limited to: at least one processor 131, at least one memory 132, and a bus 133 connecting different system components (including memory 132 and processor 131).

[0176] Bus 133 represents one or more of several bus structures, including a memory bus or memory controller, peripheral bus, processor, or local bus using any of the various bus structures.

[0177] The memory 132 may include a readable medium in the form of volatile memory, such as random access memory (RAM) 1321 and / or cache memory 1322, and may further include read-only memory (ROM) 1323.

[0178] The memory 132 may also include a program / utility 1325 having a set (at least one) of program modules 1324, including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.

[0179] Electronic device 130 can also communicate with one or more external devices 134 (e.g., keyboard, pointing device, etc.), and with one or more devices that enable a user to interact with electronic device 130, and / or with any device that enables electronic device 130 to communicate with one or more other electronic devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 135. Furthermore, electronic device 130 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 136. As shown, network adapter 136 communicates with other modules used in electronic device 130 via bus 133. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 130, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0180] In an exemplary embodiment, a storage medium is also provided, which enables the electronic device to perform the order delivery method described above when a computer program in the storage medium is executed by a processor of the electronic device. Optionally, the storage medium may be a non-transitory computer-readable storage medium, such as a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device.

[0181] In an exemplary embodiment, the electronic device of this application may include at least one processor and a memory communicatively connected to the at least one processor, wherein the memory stores a computer program executable by the at least one processor, and when the computer program is executed by the at least one processor, it enables the at least one processor to perform the steps of any order delivery method provided in the embodiments of this application.

[0182] In an exemplary embodiment, a computer program product is also provided, which, when executed by an electronic device, enables the electronic device to implement any of the exemplary methods provided in this application.

[0183] Furthermore, computer program products may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: electrical connections having one or more wires, portable disks, hard disks, RAM, ROM, erasable programmable read-only memory (EPROM), flash memory, optical fiber, compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0184] The program product used for order delivery in this application embodiment may be a CD-ROM and include program code, and may run on a computing device. However, the program product of this application is not limited to this. In this document, the readable storage medium may be any tangible medium that contains or stores a program, which may be used by or in conjunction with an instruction execution system, apparatus, or device.

[0185] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. This propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0186] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, radio frequency (RF), or any suitable combination thereof.

[0187] Program code for performing the operations of this application can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, such as a Local Area Network (LAN) or a Wide Area Network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0188] It should be noted that although several units or sub-units of the device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided and embodied by multiple units.

[0189] Furthermore, although the operations of the method of this application are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps.

[0190] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0191] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0192] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0193] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0194] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.

[0195] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. An order delivery method, characterized in that, include: Retrieve N orders to be delivered within a specified area, where N is a positive integer; Based on the starting points of the N orders, determine the N order-receiving terminals that can accept orders; The N orders and the N order-receiving terminals are matched. If the ordering user identifier of any order is located in a preset user identifier set, the order is matched with an order-receiving terminal according to the rule of the shortest order-receiving time. The preset user identifier set stores ordering user identifiers whose sensitivity to order-receiving time is higher than a set level. The sensitivity of each ordering user to order-receiving time is determined based on the ordering user's first sensitivity and second sensitivity. The first sensitivity is determined by a first prediction model and a first type of historical orders in the specified area, and the second sensitivity is determined by a second prediction model and a second type of historical orders in the specified area. The first prediction model and the second prediction model are trained according to the following steps: The first initial model is obtained by using the first feature data of the first type of historical orders as input and the label value of whether or not the order was cancelled as output. The second initial model is obtained by using the first feature data of the second type of historical orders as input and the label value of whether or not the order was cancelled as output. Determine the first prediction error of the second initial model for each first type of historical order, add the first prediction error to the first feature data of the first type of historical order, determine the second prediction error of the first initial model for each second type of historical order, and add the second prediction error to the first feature data of the second type of historical order; Using the first feature data of the first type of historical orders after adding the first prediction error as input and the label value of whether it has been cancelled as output, the first initial model is trained to obtain the first prediction model. Using the first feature data of the second type of historical orders after adding the second prediction error as input and the label value of whether it has been cancelled as output, the second initial model is trained to obtain the second prediction model. Based on the matching results, each order is dispatched to the corresponding order receiving terminal.

2. The method as described in claim 1, characterized in that, Determine the sensitivity of each order-taking user to the order duration based on the following steps: Retrieve historical orders within the specified area; Historical orders are classified into two categories based on the rule that orders with a processing time shorter than the average processing time of all historical orders are classified as Category I historical orders, and orders with a processing time not shorter than the average processing time are classified as Category II historical orders. For each ordering user, when the ordering user meets the sensitivity determination conditions, the sensitivity of the ordering user to the order duration is determined based on the first type of historical orders and the second type of historical orders of the ordering user.

3. The method as described in claim 2, characterized in that, Based on the first and second types of historical orders of the user who placed the order, determine the user's sensitivity to order processing time, including: Based on the established first prediction model and the first type of historical orders of the ordering user, the first sensitivity of the ordering user is determined; based on the established second prediction model and the second type of historical orders of the ordering user, the second sensitivity of the ordering user is determined. The first sensitivity and the second sensitivity are weighted and summed to obtain the sensitivity of the order user to the order processing time.

4. The method as described in claim 3, characterized in that, Based on the established first prediction model and the first type of historical orders of the ordering user, the first sensitivity of the ordering user is determined, including: Input the first feature data of each first type of historical order of the ordering user into the first prediction model to obtain the cancellation rate of the first type of historical order of the ordering user; The average cancellation rate of each first-category historical order by the ordering user is determined as the first sensitivity of the ordering user.

5. The method as described in claim 3, characterized in that, Based on the established second prediction model and the second type of historical orders of the ordering user, the second sensitivity of the ordering user is determined, including: Input the first feature data of each second type of historical order of the ordering user into the second prediction model to obtain the cancellation rate of the second type of historical order of the ordering user; The average cancellation rate of each second type of historical order by the ordering user is determined as the second sensitivity of the ordering user.

6. The method as described in claim 2, characterized in that, The weights of the order-placing user for the first sensitivity and the second sensitivity are determined according to the following steps: The second feature data of each historical order of the ordering user is input into the established tendency analysis model to obtain the tendency score of the historical order's order acceptance time being greater than the average order acceptance time. The second feature data includes an indication value of whether the actual order acceptance time is less than the average order acceptance time. The weight of the user's sensitivity to the first sensitivity is obtained by taking a weighted average of the tendency scores corresponding to each of the user's historical orders. The difference between the preset value and the weight is used as the weight of the second sensitivity of the user who placed the order.

7. An order delivery device, characterized in that, include: The acquisition module is used to acquire N orders to be delivered within a specified area, where N is an integer greater than zero; The first determining module is used to determine N order-receiving terminals that can accept orders based on the starting points of the N orders; A matching module is used to match the N orders and the N order-receiving terminals. If the ordering user identifier for any order is located in a preset user identifier set, then the order is matched with an order-receiving terminal according to the rule of shortest order-receiving time. The preset user identifier set stores ordering user identifiers whose sensitivity to order-receiving time is higher than a set level. The sensitivity of each ordering user to order-receiving time is determined based on a first sensitivity and a second sensitivity. The first sensitivity is determined by a first prediction model and a first type of historical orders within the specified area, and the second sensitivity is determined by a second prediction model and a second type of historical orders within the specified area. The training module is used to train the first prediction model and the second prediction model according to the following steps: The first initial model is obtained by using the first feature data of the first type of historical orders as input and the label value of whether or not the order was cancelled as output. The second initial model is obtained by using the first feature data of the second type of historical orders as input and the label value of whether or not the order was cancelled as output. Determine the first prediction error of the second initial model for each first type of historical order, add the first prediction error to the first feature data of the first type of historical order, determine the second prediction error of the first initial model for each second type of historical order, and add the second prediction error to the first feature data of the second type of historical order; Using the first feature data of the first type of historical orders after adding the first prediction error as input and the label value of whether it has been cancelled as output, the first initial model is trained to obtain the first prediction model. Using the first feature data of the second type of historical orders after adding the second prediction error as input and the label value of whether it has been cancelled as output, the second initial model is trained to obtain the second prediction model. The delivery module is used to deliver each order to the corresponding order receiving terminal based on the matching results.

8. An electronic device, characterized in that, include: At least one processor, and a memory communicatively connected to said at least one processor, wherein: The memory stores a computer program that can be executed by the at least one processor to enable the at least one processor to perform the method as described in any one of claims 1-6.

9. A storage medium, characterized in that, When the computer program in the storage medium is executed by the processor of the electronic device, the electronic device is able to perform the method as described in any one of claims 1-6.