E-hailing service
Through the combination of real-time data flow and historical data, the number of service providers and service requests are predicted, and the service providers qualified to move are determined through the distance/time matrix, the supply and demand imbalance in transportation service provider management is solved and the efficiency of service matching is improved.
Patent Information
- Application Number
- CN201880097531.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2018-08-31
- Publication Date
- 2025-06-06
- Estimated Expiration
- 2038-08-31
AI Technical Summary
The prior art is difficult to effectively manage transportation service providers, resulting in an imbalance between supply and demand, affecting the matching efficiency of service requests.
By receiving the data flow of service providers in real time, combining historical supply/demand data, predictions are made on the number of service providers and service requests in the region. Use availability criteria to filter data, calculate the distance/time matrix of candidate service providers moving from the current area to other areas, determine service providers eligible for movement, and issue notifications to them to adjust the distribution of service providers.
A better match between service requests and service providers is achieved, reducing the situation of oversupply or overdemand, and improving the efficiency and reliability of transportation services.
Smart Images

Figure CN112703517B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of transportation. Some embodiments relate to methods and apparatus for managing transportation service providers. Background Art
[0002] US 20140011522 relates to a method for providing on-demand service information. For a given geographic region, one or more processors determine location information of each of a plurality of requesters requesting on-demand services and location information of each of a plurality of service providers that can provide on-demand services. Multiple sub-regions of the given geographic region are identified. Based at least in part on the location information of the requesters and the service providers, it is determined that the plurality of service providers under-supply one or more other sub-regions compared to one or more sub-regions. Information identifying the under-supply sub-regions is provided to one or more service provider devices. Summary of the invention
[0003] Various aspects of the invention are set out in the accompanying independent claims, while certain features of some embodiments are set out in the dependent claims.
[0004] In one aspect, a method for managing a transportation service provider is disclosed, the method comprising: receiving in real time a first data stream comprising data indicating each of a plurality of service providers, the data comprising an indication of an identity of each of the service providers, availability data of the corresponding service provider, and an indication of a location of each corresponding service provider; processing the first data stream and stored historical supply / demand data to provide a forecast of the number of service providers and the number of service requests at a given time over a region comprising a plurality of geographic regions, wherein the forecast is made by region; filtering the first data stream using an availability criterion to provide output data indicating candidate service providers, wherein the data indicating each candidate service provider comprises an indication of an identity of the corresponding candidate service provider associated with the location of each candidate service provider; combining the data indicating the candidate service providers with the forecasted number of service providers and the number of service requests, and using the data to calculate a distance / time matrix for the candidate service providers to move from their current region to each different region, thereby determining a set of candidate service providers eligible to move from their current region to the corresponding new region; and outputting a corresponding notification only to each eligible service provider, the notification comprising an indication of a new location in the new region, whereby the number of service providers in at least some of the regions converges toward the number of service requests.
[0005] In another aspect, an apparatus for managing a transportation service provider is disclosed, the apparatus comprising
[0006] A data storage device and a processor operating under the control of stored instructions, the instructions being for: - receiving in real time a first data stream comprising data indicative of each of a plurality of service providers, the data comprising an indication of an identity of each service provider, availability data of the corresponding service provider, and an indication of a location of each of the corresponding service providers; reading historical supply / demand data from the storage device; processing the first data stream and the historical supply / demand data to provide a forecast of the number of service providers and the number of service requests over a region comprising a plurality of geographic regions, wherein the forecast is made by region; filtering the first data stream using an availability criterion to output data indicative of candidate service providers, wherein the data indicative of each candidate service provider comprises an indication of an identity of the corresponding candidate service provider associated with the location of each candidate service provider; combining the data indicative of the candidate service providers with the forecasted number of service providers and the number of service requests, and using the data to calculate a distance / time matrix for the candidate service providers to move from their current region to each different region, thereby determining a set of candidate service providers eligible to move from their current region to the corresponding new region; and outputting a corresponding notification only to each eligible service provider, the notification comprising an indication of a new location in the new region, whereby the number of service providers in at least some of the regions converges toward the number of service requests.
[0007] A method of managing multiple service providers and service requests is also disclosed. The method may include identifying multiple geographic regions. The method may include: for each of the identified geographic regions, deriving a service request forecast. Each service request forecast may include a forecast of the number of service requests for the geographic region that will be received in an upcoming first time period. The method may also include: for each of the identified geographic regions, deriving a service provider forecast. Each service provider forecast may include a forecast of the number of service providers in the geographic region that will be available to accept service requests during the upcoming first time period. The method may also include: for each of the identified geographic regions, determining whether the geographic region will be in an oversupply state during the upcoming first time period. When the service provider forecast for each geographic region in the upcoming first time period exceeds at least a first threshold of the service request forecast for the geographic region in the upcoming first time period, the geographic region may be in an oversupply state during the upcoming first time period. The method may also include: for each identified geographic region that is determined to be in an oversupply state during the upcoming first time period, determining the number M of available service providers in the geographic region. The number M may be an amount that, when subtracted from the service provider forecast for the geographic region during the upcoming first time period, will result in the geographic region not being in an oversupplied state. The method may also include, for each identified geographic region determined to be in an oversupplied state during the upcoming first time period, selecting at least M available service providers in the geographic region. The selection of each available service provider may be based on one or more predetermined criteria.
[0008] The method may further include providing notifications to only selected available service providers for each identified geographic region determined to be in an oversupply state during the upcoming first time period. Each notification may include a message to move out of the geographic region. Each notification may include a message to move into one or more other geographic regions.
[0009] A method for managing multiple service providers and service requests is also disclosed. The method may include identifying multiple geographic regions, the multiple geographic regions including a first geographic region and a second geographic region. The method may include deriving a service request forecast for each of the first geographic region and the second geographic region. Each service request forecast may include a forecast of the number of service requests for the geographic region that will be received during an upcoming first time period. For example, each service request forecast may include, but is not limited to, one or more of the following: a forecast of the number of service requests for the geographic region that will be received during the upcoming first time period; a forecast of the number of service requests for the geographic region that will be received during the upcoming first time period, which service requests request to provide services immediately and / or during the upcoming first time period; a forecast of the number of service requests for the geographic region that will be received before the upcoming first time period, which service requests request to provide services during the upcoming first time period; and / or the number of service requests for the geographic region that have been received, such received service requests request to provide services immediately (but have not yet been matched to an available service provider) and / or during the upcoming first time period. The method may also include deriving a service provider forecast for each of the first geographic region and the second geographic region. Each service provider forecast may include a forecast of the number of service providers in the geographic region that will be available to accept service requests during the upcoming first time period. The method may also include: for each of the identified geographic regions, determining whether the geographic region will be in an over-demand state, an over-supply state, or a normal state during the upcoming first time period. When the service request forecast exceeds at least a first threshold of the service provider forecast, an over-demand state may be determined. When the service provider forecast exceeds at least a second threshold of the service request forecast, an over-supply state may be determined. When neither an over-demand state nor an over-supply state is predicted, a normal state may be determined. The method may further include: in response to the first geographic region being determined to be in an over-supply state during the upcoming first time period, determining a quantity M. The quantity M may be an amount that, when subtracted from the service provider forecast for the first geographic region in the upcoming first time period, will cause the first geographic region to change from an over-supply state to a normal state. The method may further include: in response to the first geographic region being determined to be in an over-supply state during the upcoming first time period, selecting at least M available service providers in the first geographic region based on one or more predetermined criteria. Each selected available service provider may be a service provider that is predicted to be likely to accept service requests in the first geographic area within an upcoming first time period.The method may further include: in response to the second geographic region being determined to be in an excess demand state during the upcoming first time period, determining a quantity N. The quantity N may be an amount that, when added to the service provider forecast for the second geographic region during the upcoming first time period, will cause the second geographic region to move from an excess demand state to a normal state. The method may further include providing a notification to each of the selected available service providers to move out of the first geographic region. Alternatively or additionally, each notification may include a message to move into one or more other geographic regions.
[0010] In another exemplary embodiment, a method for managing multiple service providers and service requests is described. The method may include identifying multiple geographic regions, the multiple geographic regions including a first geographic region, a second geographic region, and one or more intermediate geographic regions. The method may also include deriving a service request forecast for each of the identified geographic regions. Each service request forecast may include a forecast of the number of service requests for the geographic region that will be received in an upcoming first time period. The method may also include deriving a service provider forecast for each of the identified geographic regions. Each service provider forecast may include a forecast of the number of service providers in the geographic region that will be available to accept service requests during the upcoming first time period. The method may also include: for each of the identified geographic regions, determining whether the geographic region will be in an excess demand state, an excess supply state, or a normal state during the upcoming first time period. When the service request forecast exceeds at least a first threshold value of the service provider forecast, it may be determined to be an excess demand state. When the service provider forecast exceeds at least a second threshold value of the service request forecast, it may be determined to be an excess supply state. When neither an excess demand state nor an excess supply state is predicted, it may be determined to be a normal state. The method may also include: in response to the first geographic region being determined to be in an oversupply state during the upcoming first time period, the second geographic region being determined to be in an oversupply state during the upcoming first time period, and the intermediate geographic region having one or more available service providers during the upcoming first time period, selecting at least one available service provider in the first geographic region based on one or more predetermined criteria. Each selected available service provider may be a service provider predicted to be likely to accept service requests in the first geographic region during the upcoming first time period. The method may also include: in response to the first geographic region being determined to be in an oversupply state during the upcoming first time period, the second geographic region being determined not to be in an oversupply state during the upcoming first time period, and one or more intermediate geographic regions not being in an oversupply state during the upcoming first time period, selecting at least one service provider in one or more intermediate geographic regions based on one or more predetermined criteria. Each selected service provider in the one or more intermediate geographic regions may be a service provider predicted to be likely to accept service requests in the one or more intermediate geographic regions during the upcoming first time period.The method may also include: in response to the first geographic region being determined to be in an oversupply state during the upcoming first time period, the second geographic region being determined to be in an overdemand state during the upcoming first time period, and the intermediate geographic region having available service providers during the upcoming first time period, providing only one or more available service providers selected in the first geographic region with a notification to move out of the first geographic region and move into one or more intermediate geographic regions having one or more available service providers during the upcoming first time period. The method may also include: in response to the first geographic region being determined to be in an oversupply state during the upcoming first time period, the second geographic region being determined to be in an overdemand state during the upcoming first time period, and the intermediate geographic region having one or more available service providers during the upcoming first time period, providing only one or more service providers selected in the one or more intermediate geographic regions having one or more available service providers during the upcoming first time period with a notification to move out of their geographic region and / or move into the second geographic region.
[0011] Implementation of the technology described herein can provide significant technical advantages, namely, avoiding confusion by providing notification messages only to those who need them, while minimizing the amount of data transmitted to provide efficient and effective operation. The content of the message can be, for example, to reduce the travel time and / or distance of the service provider to a near-optimal minimum. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] For a more thorough understanding of the present disclosure, example embodiments, and advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings, wherein like reference numerals represent like features, and wherein:
[0013] Figure 1 is an illustration of an example of a user device that may be configured to send a service request;
[0014] Figure 2 is an illustration of an example of a service provider computing device;
[0015] Figure 3 is an illustration of an example embodiment of a system for managing service providers and service requests;
[0016] Figure 4A is an illustration of an example embodiment of multiple geographic regions;
[0017] Figure 4B is an illustration of another example embodiment of multiple geographic regions;
[0018] Figure 4C is an illustration of another example embodiment of multiple geographic regions with predicted states;
[0019] Figure 5 is a high-level schematic diagram of a processor and a data warehouse with its data flows;
[0020] Figure 6 An example of historical space-time demand-supply data is shown;
[0021] Figure 7 An example of service provider profile data is shown;
[0022] Fig. 8A An example of service request data is shown;
[0023] Figure 8B An example of real-time status data of a service provider is shown;
[0024] Fig. 9 An example of third-party real-time data is shown;
[0025] Fig.10 An example of predicted space-time demand supply data is shown;
[0026] Fig.11A An example of real-time status data of a service provider is shown;
[0027] Fig. 11B An example of candidate service provider data is shown;
[0028] Fig.12 An example of historical aggregated time-space data is shown;
[0029] Fig.13 An example of optimization results is shown;
[0030] Fig.14 An example of a displayed notification is shown;
[0031] Fig.15 An example message is shown, including the time of issuance, the ID of the service provider receiving the message, and the content of the message (in terms of "destination" and "origin"); and
[0032] Fig.16 A highly schematic diagram of the grouping is shown. DETAILED DESCRIPTION
[0033] Recent history has seen the growth of transportation-related services that enable searching, price-matching, comparing, requesting, booking, reserving or cancelling directly or indirectly from a user’s device.
[0034] In the context of this document, the term “transportation-related services” includes public transportation, taxis, private car rentals, limousine services, shuttles, ride-sharing, and deliveries.
[0035] Figure 1 An illustrative example of a GUI (graphical user interface) on a smartphone acting as a user device is shown in FIG.
[0036] The GUI shown has: a portion 111 for entering a starting or origin location for the requested service; a portion 112 for entering a destination location for the requested service; a portion for selecting a service type (e.g., taxi, private car, carpool, shuttle, bus, delivery, etc.); a map, which may include an indication of the current location of the user's computing device, an indication of the starting or origin location of the requested service, an indication of the end or destination location of the requested service, or an indication of the location of one or more available service providers; a payment method; a button for submitting a service request; an estimated or guaranteed fare; an estimated or guaranteed arrival time; commonly used starting and destination locations; promotions; and links to other features and functions.
[0037] The present invention is in no way limited to this interface or any other interface. The interfaces are shown to aid understanding.
[0038] The service provider may also use a software application (such as a mobile application, widget or Internet website) on the service provider device to enable the service provider to (among other things) receive, accept, ignore or reject service requests that have been received via the communication network.
[0039] Figure 2 An illustrative example of a smartphone displaying a service provider GUI (graphical user interface) is shown in FIG.
[0040] The displayed service provider GUI has: a pop-up or notification portion 121, which can provide one or more notifications, such as (multiple) new service requests that are matched to the service provider or can be accepted by the service provider; a portion 122, which allows the service provider to accept new service requests; a map, which can include an indication of the current location of the service provider's computing device, an indication of the starting or origin location of the received or accepted service request, and / or an indication of the end or destination location of the received or accepted service request; a navigation portion, which is used to provide one or more directions for the service provider to travel from the current location of the service provider's computing device to another location (e.g., a destination, a starting location of a service request, a location of a user's computing device, etc.), etc.
[0041] As will be described later, embodiments of a service provider GUI incorporating the present invention may be configured to display other fields, such as a notification field that the service provider should move location, and a field allowing a user of the service provider GUI to accept such an offer. See, e.g. Fig.14 .
[0042] The present invention is in no way limited to this interface or any other interface. The interfaces are shown to aid understanding.
[0043] Current methods for managing transportation-related services include: receiving a service request; searching for suitable and available service providers near a user's location (or a start or departure location provided by the user); and matching the suitable and available service providers to the service request. Although this approach has generally been able to match service requests to suitable and available service providers, it may encounter problems including inefficiencies or non-optimal imbalances in supply (available service providers) or demand (received service requests).
[0044] For illustrative purposes, for a given larger geographic area (e.g., region, district, town, city, state, province, etc.), there may exist and / or be pre-assigned or pre-designated Figure 4A The geographic regions 402a to 402o shown and Figure 4C The geographic regions 402a to 402s are shown. Figure 4A and Figure 4C The geographic regions shown in the diagram are shown as being evenly divided in size and / or shape, but it should be understood in the present disclosure that the size and / or shape of the geographic regions may vary, such as Figure 4B The geographic area 402 is displayed.
[0045] As an exemplary illustration of an imbalanced condition, for example, the number of available service providers in geographic region 402a exceeds the number of received service requests (e.g., service requests with origin locations received in region 402a). In this case, hereinafter referred to as an "oversupply state" or "underdemand state," the available service providers present in region 402a may remain available but unmatched to service requests for an extended period of time.
[0046] As another example of an imbalanced condition, the number of service requests with origin locations in region 402s exceeds the number of available service providers in region 402s. In this case, hereinafter referred to as an "excess demand state" or an "undersupply state," many service requests with origin locations that may exist in a particular geographic region (e.g., geographic region 402s) will not be matched to an available service provider for an extended period of time.
[0047] Example embodiments of a system for managing service requests and service providers
[0048] As an overview, Figure 3 An example embodiment of a system 100 for managing multiple service requests is shown in and will now be described. The system 100 includes one or more processors 150. As used in this disclosure, references to processors, when applicable, may also refer to, be applicable to, or include computing devices, servers, cloud-based computing, etc., or functions of processors, computing devices, servers, cloud-based computing, etc. The system 100 includes one or more databases (e.g., database 140). As used in this disclosure, references to databases, when applicable, may also refer to, be applicable to, or include database systems, database management systems, cloud-based computing, cloud-based storage, storage systems and devices, blockchain-related technologies and systems, etc. The system 100 includes multiple user devices 110 for sending service requests, sending the location of computing devices (e.g., a starting location or a current location), and / or for one or more of the actions, processes, and / or functions described in this disclosure. The system 100 also includes a service provider device 120, which may be configured or configured to receive a service request, send a location (e.g., the current location of the service provider device), receive a matching notification with the service request, receive other notifications as described in the present disclosure, and / or one or more of the actions, processes, and / or functions described in the present disclosure. In some example embodiments, the service provider device 120 is associated with or integrated with a vehicle of the service provider, or is part of an autonomous or semi-autonomous vehicle that performs the service of the service provider. The processor 150, the database 140, the user device 110, and the service provider device 120 communicate with each other via one or more networks 130, such as the Internet, the World Wide Web, one or more private networks, etc. In some example embodiments, such communication may also be direct or indirect communication between the user device 110 and the service provider device 120, such as in the case of a street-hailing service (e.g., directly or within line of sight, within Wi-Fi range, within Bluetooth range, within audio signal range, or by the user personally hailing a service provider).
[0049] When used in an embodiment, the processor (s) 150 cycles in an idle state until a user request is received from the user device 110. The request causes the processor to be interrupted, and then the processor obtains data from the user request by means of a receive state. The data forms a real-time parameter data stream, as will be described below. In this embodiment and some other embodiments, the service provider device 120 runs one or more software applications, and when the service provider changes its state, these software applications cause these service provider devices to push data to the processor (s) 150. An example of a state change is when the service provider is connected or picks up / unloads passengers or changes from an unavailable state to an available state. In some embodiments, the same or different applications respond to the processor request regularly or irregularly (for example, at a standard interval) to send data (for example, the status and location of the service provider) back to the processor. The data pushed from the service provider device causes the idle state of the processor to be interrupted, and then the processor obtains data from the service provider device by means of a receive state, and these data form a real-time parameter data stream, as will be described below. On the other hand, in some embodiments, the processor's request to the service provider device is arranged to interrupt the processor of the service provider device so that the device returns the required data to the system processor.
[0050] refer to Figure 3 , the system has a user device 110 and a service provider device 120. The user device is used by a user (e.g., a user who sends a service request), and the service provider device is used by a user who provides a service requested by a user or a user device. The user device and the provider device are typically smartphones, but can be any computing device, mobile computing device, processor, controller, etc., which can be configured or configured to perform information processing, communicate via wired and / or wireless communications, or any other action, process, or function described in this disclosure. The devices 110, 120 can be configured or configured to perform wireless communications through a 3G network, a 4G network, a 4G LTE network, etc. (such as via a SIM card installed in the devices 110, 120, etc.). Additionally or alternatively, the devices 110, 120 can be configured or configured to perform wireless communications via WLAN (such as a Wi-Fi network and a Li-Fi network) or via other forms (such as Bluetooth, NFC, and other forms of wireless signals).
[0051] The user device 110 may be configurable or configured to communicate wirelessly or via wires with the processor 150 (e.g., via software such as a mobile application installed on the device), and such communication may include sending service requests, sending locations, checking available service providers and fees, and receiving notifications. Such service requests are typically sent using a packet communication system with a header field indicating the destination of the packet and a payload field containing the actual data content.
[0052] The service provider device 120 may be configurable or configured to communicate wirelessly or via wires with the processor 150 (e.g., via software such as a mobile application installed on the service provider computing device), and such communications may include receiving service requests requiring services, sending locations, receiving notifications, receiving matching requests for service requests, and accepting service requests.
[0053] In an example embodiment, the devices 110, 120 include mobile computing devices, smart phones, mobile phones, PDAs, tablets, tablet computers, portable computers, laptop computers, notebook computers, ultrabooks, readers, electronic devices, media players, professional devices (e.g., dedicated or professional devices for communicating with and / or operating in the system 100 or parts thereof), smart speakers, digital assistants, multiple computing devices that interact together in part or in whole, and other dedicated computing devices and industry-specific computing devices. The devices 110, 120 described herein may also be wearable computing devices, including watches (such as Apple Watch), glasses, etc. The devices 110, 120 may include virtual machines, computers, nodes, instances, hosts, or machines in a networked computing environment. Such a networked environment or cloud may be a collection of machines connected by communication channels that facilitate communication between machines and allow machines to share resources. Such resources may include any type of resources used to run an instance, including hardware (such as servers, clients, mainframe computers, networks, network storage devices, data sources, memory, central processing unit time, scientific instruments, and other computing devices) as well as software, software licenses, available network services, and other non-hardware resources, or a combination thereof.
[0054] In some cases, the user equipment and the service provider equipment are of similar form, but this is not required.
[0055] Example 1: - Reference Figure 4C, it is predicted that geographical area 402f is in a state of oversupply, and geographical area 402k is in a state of excess demand. The number M of redundant available service providers in geographical area 402f can be predicted, and the number N of service providers required in geographical area 402k can be predicted. If M > N, a notice 121' can be provided to N redundant available service providers selected in geographical area 402f, advising / requesting them to move to geographical area 402k. On the other hand, if M < N, a notice 121' can be provided to M redundant available service providers selected in geographical area 402f, advising / requesting them to move to geographical area 402k.
[0056] Example 2: - Continuing with reference Figure 4C , it is predicted that geographical area 402f is in a state of oversupply, geographical area 402g is in a normal state, and geographical area 402h is in a state of excess demand. The number M of redundant available service providers in geographical area 402f can be predicted, and the number N of service providers required in geographical area 402h can be predicted. In this case, some service providers in area 402f are advised to move to area 402h, thus passing through area 402g. If M > N, a notice 121' can be provided to N redundant available service providers selected in geographical area 402f, advising / requesting them to move to a specific location in geographical area 402h. On the other hand, if M < N, a notice 121' can be provided to M redundant available service providers selected in geographical area 402f, advising / requesting them to move to a specific location in geographical area 402h. In the case where the travel distance and / or travel time between geographical area 402f and geographical area 402h are such that it is unlikely or very unlikely for the redundant available service providers to travel from geographical area 402f to geographical area 402h, in order to increase the chance of available service providers being matched to service requests, the exemplary embodiment "shares", "divides", or "breaks down" the travel distance or time among more than one available service provider (e.g., in a link or chain). In this case, the redundant service providers in area 402f are advised to move to area 402g, and as long as there are available service providers in area 402g, some service providers from that area are advised to move to area 402h.
[0057] It should be noted that it is not necessary for any region to be in a normal state in order for the teachings of the present disclosure to be applicable. For example, in a situation where both regions 402g and 402f are in an oversupply state, service providers may be advised to move from oversupply region 402g and oversupply region 402f. Multiple service providers in 402f may be advised to move to region 402g to replace some but not all of the service providers from region 402g that have been advised to move to region 402h. Service providers may move from an oversupply region to an overdemand region, but other service providers in that overdemand region may move to another overdemand region. It all depends on how the system chooses to inform the service providers of the predicted distribution of those service providers.
[0058] Obviously, the majority of service providers that might be suggested to move in any region consists of the multiple predicted service providers in that region; it is unlikely that the number of providers that move will exceed the number that exist.
[0059] The general principle is that the aim is to create a better balance between supply and demand by suggesting that certain available service providers be in one or more locations where they can move where such movement would reduce the overall imbalance, where an imbalance has been anticipated or predicted. Since a predicted oversupply is apt to leave service providers without any work for certain periods of time, service providers are likely to be incentivized to follow such recommendations.
[0060] The partitioning, decomposition, or sharing of travel distance or time can increase the likelihood or opportunity for the excess available service providers in geographical region 402f to agree to move out of the geographical region 402f in a "supply - surplus state". It should be understood that in this disclosure, any number of intermediate geographical regions (e.g., intermediate geographical region 402g) can be used to achieve the optimization or balance of supply - demand imbalance. It should also be understood that in this disclosure, each intermediate geographical region (e.g., intermediate geographical region 402g) can be a geographical region having one or more parts physically located between the geographical region in a supply - surplus state (e.g., geographical region 402f) and the geographical region in a demand - surplus state (e.g., geographical region 402h). Alternatively or additionally, each intermediate geographical region (e.g., intermediate geographical region 402g) can be a geographical region having one or more parts physically located adjacent to the geographical region in a supply - surplus state (e.g., geographical region 402f) and / or the geographical region in a demand - surplus state (e.g., geographical region 402h). Alternatively or additionally, each intermediate geographical region (e.g., intermediate geographical region 402g) can be a geographical region not having one or more parts physically located between and / or adjacent to the geographical region in a supply - surplus state (e.g., geographical region 402f) and the geographical region in a demand - surplus state (e.g., geographical region 402h).
[0061] In the case of M > In the case of N, the N excess available service providers selected in geographical region 402f can also be partitioned into one or more other intermediate geographical regions, such as intermediate geographical region 402l and / or intermediate geographical region 402b.
[0062] In the case of M < N, the M excess available service providers (evenly or unevenly) selected in geographical region 402f can also be partitioned into one or more other intermediate geographical regions, such as intermediate geographical region 402l and / or intermediate geographical region 402b.
[0063] This partitioning can be determined based on several factors, including but not limited to the predicted number of available service providers in one or more intermediate geographical regions, how many available service providers can be added to each intermediate geographical region before the predicted intermediate geographical region is in a supply - surplus state, etc.
[0064] Example 3: - Continuing to refer to Figure 4C , region 402 is shown as predicted to have a supply surplus. Regions 402b to 402d and 402p to 402r are predicted to be in a normal state, and 402s is predicted to be in a demand - surplus state. The system calculates the prediction of M excess service providers in region 402a, and the system predicts that N service providers are needed in region 402s to achieve balance.
[0065] In one embodiment, if a total of M is needed from 402a to 402s, the system notifies all M service providers. If only N service providers are needed (N>M), in one embodiment, the system notifies only the N service providers in region 402a. As previously described, the notification is a suggestion to move to region 402s (e.g., to a specific location in region 402s) in this case.
[0066] As can be seen by observing the accompanying figures, completing the proposed move will involve driving through several "normal" areas, and the service provider may not be willing to drive such a long distance.
[0067] In one embodiment, the balance is improved by recommending that the redundant service providers in region 402a simply move to its next region or an intermediate region (e.g., region 402b or 402q, or possibly both). The service providers in such intermediate regions are then recommended to move on, either directly to the final region 402s, or to an intermediate region (e.g., 402c, 402r).
[0068] As mentioned previously, the goal is to improve the balance between predicted or forecasted service providers and predicted or forecasted service requests. It will be appreciated that the flip side of this is that there will be fewer service providers starved of work and more service requests that will be matched.
[0069] Data Flow
[0070] Reference now Figure 5 , a schematic block diagram of an embodiment of data flow in a portion of a system 100 having a database (in this embodiment a data warehouse 901) and a processing device 950 that together form a monitoring / control device.
[0071] This embodiment is described in the context of a ride-hailing or taxi-like service, but the invention is not limited to this context. The reader will readily think of other application examples, such as pickup and delivery of goods, public transportation, taxis, private car rentals, limousine services, shuttles, ride-sharing, and delivery.
[0072] The embodiments described below are not intended to limit the scope of the invention. It will be apparent to the skilled reader that other arrangements will also be possible.
[0073] The term "data warehouse" may require some explanation. In this specification, it means a data storage device that stores data of different types or from different sources. It will be clear to those skilled in the art that other memories or storage systems may be used in other embodiments.
[0074] Generally speaking, in this embodiment, the processing device 950 is composed of a processor that runs the instructions of a program stored in a memory (not shown). The program causes the processor to provide the operations identified in this specification. In an embodiment, the processor also performs other tasks, such as matching service requests with service providers.
[0075] The data warehouse 901 contains regions specified by its function, and the function in turn sets the nature of the data stored in each region. These regions include service request and service provider data storage 903, service provider profile storage 905, historical demand and supply storage 907 by region time (referred to herein as "historical supply / demand storage for simplicity), predicted demand and supply storage 909 by region time (referred to herein as "predicted supply / demand storage"), third party data storage 911, historical summary time-space data storage 913, and service provider received message storage 915.
[0076] The processing device performs four processes, namely, filtering and selection process 953, prediction process 951, optimization process 955 and notification message process 957.
[0077] The data warehouse is connected from Figure 3 The service requester device 801 corresponding to the user device 110 receives the service request data stream 101 and passes the data obtained therefrom to the service request and service provider data storage device 903. Figure 3 The data stream 102 of the service provider device 803 corresponding to the service provider device 120 in FIG. 1 flows to the service request and service provider data storage 903. The data therefrom is extracted as stream 103 to the historical supply / demand storage 907 of the data warehouse.
[0078] The data stream 104 from the service provider equipment 803 is passed to the service provider profile storage 905, see Figure 7 .
[0079] Data streams from service provider equipment, or data streams resulting from applications running on those equipment, are sent wirelessly, for example, via the Internet. In an embodiment, the data sent by the service provider equipment is in the form of packets having a header indicating the destination of the packet and a payload carrying fields required for system operation.
[0080] The service provider device 803 also provides data streams 201, 302 respectively to the prediction process 951 and the filtering and selection process 953. Another data stream channel is 501 from the notification process 957 to each selected service provider 803, this time allowing output from the processing means 950 to reach such selected service provider.
[0081] Data from the service provider profile storage 905 is input to the filtering and selection process 953 as data stream 301 .
[0082] In addition to receiving data stream 201 from service provider equipment 803, forecasting process 951 also receives data 202 from historical supply / demand storage 907 of data warehouse 901 and third-party data storage 911. Forecasting process 951 provides data stream 204 to forecast supply / demand storage 909, and from there provides data stream 401 to optimization process 955.
[0083] The optimization process 955 receives the data stream 400 from the filtering and selecting process 953 and receives the above-mentioned stream 401 from the forecast supply / demand storage device 909. The optimization process further receives the stream 403 from the historical summary time-space data storage device 913 of the data warehouse 950. The optimization process provides the data stream 406 to the service provider receiving message storage device 915 and provides another data stream 404 to the notification message process 957.
[0084] The notification process message process 957 receives the data stream 502 from the notification message process 957.
[0085] The data stream 101 originates from a user communication device 801 (e.g., a mobile phone) and is generated by an application running on the user device when the user wishes to make a service request. The service requester's application typically outputs the message wirelessly in the form of a packet with a header indicating the destination (in the current embodiment, the monitoring / control device). The payload consists of the service requester's (user's) information, and in one embodiment this includes: user_id; request_id; request_time, boarding location, alighting location, request time, hour of day, day of week, is_request_allocated, is_request_ignored; is_request_cancelled; is_request completed; fares; promotions. Fig. 8A An example of data flow 101 is shown in . Data flow 101 is transferred from user equipment 801 via a communication network to service request and service provider data storage 903. In an embodiment, service request information is only aggregated in a time-space format.
[0086] Fig.16 An example of a portion of a packet 170 is shown in , where portion 171 is the packet header, and elements 172 to 177 are payload fields. For the above example of flow 101, payload field 172 carries "user_id"; 173 carries "request_id", and so on.
[0087] Data streams 102, 104, 201, and 302 are output from a service provider device 803 running a service provider application. In one embodiment, the application is configured to output (push) a message including at least one data stream whenever the service provider interacts with his / her device 803. Also, in this embodiment, if the service provider's device is operating, the application pushes the output periodically (e.g., once per second). In another embodiment, the monitoring / control unit extracts service provider data from the service provider application as described above periodically (e.g., once per second).
[0088] In some embodiments, if the Service Provider closes the app or turns off the device, no additional data from the device is transmitted until the app is reopened. In this case, "GPS Location" and "Available for Service" are recorded as the location of the vehicle and the status of the Service Provider at its current timestamp (i.e., when the data was collected).
[0089] In one embodiment, the storage devices 905, 907 are only occasionally (eg, once a day, once a week) updated with data from the data streams 102 and 104 originating from the service provider equipment 803. This is because the data contained in the data streams 102, 104 is relatively unchanged.
[0090] Assuming a collection of service provider location and availability data throughout the day, an embodiment uses snapshots every 15 minutes (eg, 5:00, 5:15, 5:30, and so on) to estimate how many service providers (offers) are available in each geographic region within each 15 minute time interval.
[0091] The service provider application responds to various stimuli and also stores some permanent or semi-permanent data. Semi-permanent data includes, for example, the ID of the service provider. Permanent data (i.e., data that changes constantly) includes items such as location, current availability, time to reach destination, etc.
[0092] In an embodiment, the input data stream from the service provider equipment is:
[0093] Data stream 102: service_provider_id; is_available_for_service; GPS location (latitude, longitude). This data is output periodically (as described above), in real time or near real time. If the service provider device is turned off or the application is disabled, the data stored in the data warehouse is the last collected data. Otherwise, the data is collected in real time, but cannot be used directly because it needs pre-processing.
[0094] Using data streams 101 and 102, the status and location information of the service provider is aggregated in a space-time format to provide data stream 103, see below.
[0095] For example, for each service request (or correspondingly service provider), the ride locations (correspondingly the service provider locations) can be mapped by region. Demand is defined as the number of unassigned requests between the start time and the end time of the region, and supply is defined as the number of available service providers between the start time and the end time of the region.
[0096] The table is stored in storage device 907 as historical demand and supply to be used as input for forecasting engine 951 .
[0097] Data stream 104: is service provider profile information, e.g., provider ID; average compliance rate (ACR) of the service provider; average online hours; average number of rides per week; taxi driver; age on the platform; average acceptance rate; average cancellation rate. This data is aggregated at the service provider level over the last X weeks, where X is configurable, e.g., 8 weeks to provide aggregate output 301.
[0098] Data stream 201: Real-time status data of the service provider, including his current availability status; GPS (location); current working destination (if occupied); time to reach the destination (if occupied); time since the service provider received his last notification.
[0099] Data stream 302: Real-time data of the service provider, including his current availability status, GPS, destination of current work (if occupied), time to reach destination (if occupied), time since the service provider received his last notification.
[0100] Historical supply / demand storage device
[0101] exist Figure 6An example of the contents of the historical supply / demand storage 907 is shown in tabular form in FIG. The data shown here forms the data flow 202 to the forecasting process 951. As can be seen, it includes an indication of historical demand (number of service requests) and supply (number of service providers). As shown, there is a clear imbalance in each region.
[0102] In this particular case, the status and location information of the service provider is summarized in a space-time format. The location is shown in the leftmost column, here the CBD (Central Business District), all the way to the location "Clementi". The time periods shown are two 15 minute (past) time periods (4:30-4:45 and 4:45-5:00). For each service request (or correspondingly service provider), the ride location (correspondingly the location of the service provider) can be mapped by region.
[0103] The number of available service providers is counted at a given timestamp (e.g., end time). This is because the availability status of a service provider can switch during a 15-minute time window. For this reason, the number of available service providers at the most recent timestamp is used as an approximation.
[0104] Demand is defined as the number of unassigned requests between the start time and the end time of the region, and supply is defined as the number of available service providers between the start time and the end time of the region. The table is stored as historical demand and supply.
[0105] Figure 7 An extraction of the contents of the service provider profile storage device 905 is shown in tabular form in FIG. Due to space constraints, not all columns are shown, and other fields or data may be collected and stored in other embodiments.
[0106] Figure 7 Four service providers are shown, identified as follows: 1111, 203, 884, and 1842. Of course, in a real situation, it is not possible to involve only four providers, but this number is chosen here for ease of illustration. Throughout this document, these four providers will be used as an example. For simplicity, these four providers will sometimes be referred to as providers A, B, C, and D as shown in the figure, where A corresponds to 1111, B corresponds to 203, C corresponds to 884, and D corresponds to 1842.
[0107] right Figure 7 Some annotations on the data shown in: Providers A and D are licensed taxi drivers. Providers B and C are not. Provider D has used the system the longest (3 years) but has the lowest compliance rate, i.e. complies with the least number of proposed service requests given to him / her (completing only 15% of the requests passed to him / her).
[0108] Figure 7 The data shown changes relatively slowly, and therefore is only updated occasionally in some embodiments.
[0109] Prediction Process
[0110] The prediction process 951 can access the data streams 201 , 202 , 203 .
[0111] Stream 201 is described above and shown in Figure 8. In this embodiment, this stream carries the same data as stream 302.
[0112] As can be seen, the latitude and longitude of each provider is shown in near real time. Provider A is online (t = logical true) and unavailable (f = logical false). Provider A's destination is the area "Orchard" and the estimated arrival time will be within 20 seconds. The notification was sent 28 minutes ago (and obtained by the app running on the provider's device).
[0113] Provider B is not online and unavailable. Last notification was 18 hours ago.
[0114] Providers C and D are both online and available, and therefore have no destination.
[0115] Stream 202: Historical demand and supply data. The previous 8 weeks of historical demand and supply data for each geographic region may be used at each selected time interval (eg, 15 minutes). See Table 6 and the previous description of storage device 907.
[0116] exist Fig. 9 An example of data stored in the third-party data storage device 911, ie, stream 203, is shown in a tabular form.
[0117] Third-party data (such as weather conditions, major events, MRT (transport) failure news, etc.) is likely to be consumed in real time. For example, calling an API from a weather company to get real-time weather conditions and / or forecasted weather conditions for the next 15 minutes, and getting MRT failure news from Twitter, etc.).
[0118] Methods used:
[0119] Based on the historical supply / demand imbalance data in data stream 202 ( Figure 6 ), the forecaster process 951 uses time series forecasting techniques such as Double Seasonal Holt-Winter (DSHW), Differential Autoregressive Moving Average (ARIMA) to perform demand and supply forecasts to predict the imbalance in each area covered by the system in one or more upcoming time intervals.
[0120] Adding data streams 201 (real-time provider information) and 203 (third-party information) allows the forecaster process 951 to use machine learning techniques such as recurrent neural networks (RNN), long short-term memory (LSTM), etc. to perform demand and supply forecasts.
[0121] Fig.10 An example of data flow 204 output by the predictor process 951 to the forecast supply / demand storage device 909 is shown in FIG.
[0122] In this embodiment, supply and demand are forecasted for each of a plurality of geographic regions (e.g., a set of regions or areas that make up a city). The time periods for which the forecasts are made may be different, and may be fixed time periods (e.g., 15 minutes for one city and 30 minutes for another (depending on traffic conditions or other parameters specific to the city)), or may be variable / selectable time periods. By "variable time period" I mean a time period that can be varied without any constraints. By "selectable time period" I mean that there are a large number of time period values to choose from, so, for example, a 15 minute time period may be selected at noon, but a 10 minute time period may be selected during rush hour, and a 30 minute time period may be selected in the middle of the night. The time periods may be time-dependent, or may be adaptive, so that if demand is unusually low, the system changes the time period accordingly.
[0123] Filtering and selection process
[0124] The filtering and selection process 953 receives the data stream 302 (real-time data of the service provider, such as its current availability status, GPS, current working destination (if occupied), time since the service provider received his last notification) and receives the service provider profile data stream 301 from the service provider profile storage 905 (see Figure 7 ).
[0125] The filtering and selection process in the embodiment operates on the real-time data stream 302 under the following conditions:-
[0126] 1) Filter out service providers whose apps report that they have received "mobile" notifications within a specific time period (e.g., half an hour);
[0127] 2) filtering out service providers who are occupied within a certain period of time (e.g., 15 minutes) and cannot end their current work;
[0128] 3) Choose a service provider that is online and available;
[0129] 4) Selecting service providers that are offline but may be online soon based on supply forecasts;
[0130] 5) Selecting a service provider that is currently online but not working, but will be available soon, based on supply forecasts;
[0131] 6) Based on booking information and estimates, select a service provider that is occupied but can complete the work quickly.
[0132] As described above, the filtering and selection process 953 performs its process on the real-time data stream 302, and an example of the results of the process is shown in Fig.11A Visible in.
[0133] The optimization process 955 usually uses the service provider profile data 301 to prioritize between the selected service providers. Therefore, if two service providers are selected as a single job by the selection process, the profile data will first select one of the two service providers, so, for example, a driver with a higher compliance rate will be selected as a candidate provider compared to a driver with a lower compliance rate. In addition, other parameters in the data stream 301 can be used, such as: whether the driver has been a taxi driver before, whether the driver is a "new" driver, etc. For taxi drivers, they may have experience and understanding of high demand locations, so they will not follow the notification. For a "new" driver, he may not be clear about the demand pattern, so more guidance may be needed.
[0134] In one embodiment, the filtering and selection process 953 uses the identification of the selected service providers to obtain data in the profile data stream 301 so that the profile information about each selected service provider is passed to the next stage (optimization) where it can be prioritized.
[0135] The input to data stream 302 is the same as stream 201 shown in FIG8 . It can be seen that provider A is closer to his destination (20 seconds) and is available after that. However, he received his last notification 28 minutes ago, so he is filtered out. Provider D is currently idle and can be considered available for work. However, he received a notification 17 minutes ago, and the logic of the process excludes him.
[0136] Provider B is currently offline and unavailable, but is not filtered out by conditions 1 or 2. He is not selected by conditions 3 or 5 (not online), nor by condition 9 (not occupied). Instead, he is selected by condition 4. In this embodiment, historical data of when service providers are online (from offline) each day is stored. If service providers are found to always be offline at certain times in a particular area, notifications are sent to these service providers at appropriate times.
[0137] (This is achieved by using machine learning models to predict the probability that currently offline service providers with regular patterns will come online soon). Fig.11A The results of these logical operations performed on data stream 302 are shown in FIG.
[0138] Fig. 11B An example of an output data stream 400 is shown in FIG: This shows the candidate service providers eligible to receive notifications for moving around and their locations (latitude, longitude and mapping to geographic regions). This data stream 400 is fed to the optimization process 955,
[0139] As a further example, if a service provider is servicing a reservation request and is far from the destination, then he No Qualification Notification (Condition 2). If the service provider is servicing the reservation request and is close to the destination (e.g., within 30 seconds), he there will be Qualification notification (Condition 6).
[0140] Optimization process
[0141] The optimization process 955 receives data streams 400, 401 and 403:
[0142] 401: Forecasting demand and supply. Fig.10 As described above, an imbalance is shown for each region. This corresponds to a measure of the desirability of moving into low supply areas.
[0143] 400: Candidate service providers eligible to receive notifications and move around and their current locations. Fig. 11B And above.
[0144] 403: Historical aggregated time-space data; such as the average time or probability of finding the next job, the average price multiplier (increase), the average ticket price, or the average income in each geographic area over a given time period. Examples include Fig.12 shown.
[0145] Fig.12 An example of data flow 403 is shown in table form. This corresponds to the attractiveness of service providers in different regions to some extent.
[0146] Using the data from these data streams, the optimization process:
[0147] i) Using GPS data and the candidate service provider's current location GPS, calculate a distance / time matrix for the candidate service provider to move from its current location to each different geographic region based on the location of the geographic region.
[0148] ii) Calculate the expected notification compliance probability matrix of candidate service providers moving to each geographic region, in other words, an estimate of the likelihood that each candidate service provider will move if a notification is sent / received.
[0149] iii) Calculate the average probability matrix of finding the next job for service provider candidates who move to each different geographic region.
[0150] iv) Calculate the expected revenue matrix for service provider candidates moving to each different geographic region.
[0151] The optimization process can be set up with one or more objectives selected from the following:
[0152] a) Minimize the total supply-demand imbalance across the entire region (country, city, etc.)
[0153] b) Minimize the total driving distance of all service provider candidates
[0154] c) Minimize the average time it takes for all service provider candidates to find their next job
[0155] d) Maximize the average probability of all service provider candidates finding their next job
[0156] f) Maximize the expected revenue of all service provider candidates after redistribution
[0157] Constraints include:
[0158] i) The driving distance of each service provider candidate does not exceed the distance threshold that the candidate is willing to move (derived from historical data).
[0159] ii) Each service provider candidate is sent to no more than N geographical regions (we provide N potential destinations for service provider candidates to choose from)
[0160] iii) cannot send more than the number of available service provider candidates per geographic region
[0161] In some embodiments, the optimization process 955 may be refined to allow for prioritization of one or more of the following:
[0162] Notify service providers with high compliance rates.
[0163] Newly registered non-taxi service providers who are not familiar with the overall supply and demand situation.
[0164] Active service providers with long idle time and very short offline time since last completion.
[0165] The supply reallocation problem basically belongs to the class of resource allocation problems. The problem is usually formulated in mixed integer programming, and it has been shown that the reallocation problem can be equivalently formulated as a minimum flow cost problem. Other formulations such as linear regression or bipartite graphs (networks) are also applicable.
[0166] In order to solve the mathematical model, it requires specific optimization skills and knowledge rather than random guessing. For mixed integer programming, the Branch & Bound algorithm is an alternative basic choice. Since the minimum cost flow problem can be solved as a linear program, any relevant algorithm can be applied to it.
[0167] Output:
[0168] Typically, the output of the model is a matrix consisting of 0s and 1s. “0” indicates that the service provider candidate is not relocated to a specific region, and vice versa.
[0169] If the corresponding output of a service provider candidate is all zero values, then the candidate will not be notified.
[0170] An example of the optimization process is shown in Fig.13 Referring to the figure, it can be seen that Provider A was not notified to move; Provider B was notified to move from the current location "Clementi" to the area "Jurong" East; Provider C was notified to move from "Stadium" to "Orchard", and Provider D did not receive any notification and therefore remained in the area "Tampines".
[0171] The results may be provided to the service provider receive message storage 915 as data stream 405 and to the notification message process 957 as data stream 404 .
[0172] The Notify Message process 957 receives the input data stream 404 (optimization results). This Notify Message process generates output only to those providers (here B and C) to inform them of the proposal to move. Each provider who will be informed of the proposal receives only the message customized for him / her. This is automatically generated and transmitted to the relevant service provider equipment, where the arrival area = non-null.
[0173] The application on the service provider device receives the output of the notification process 957 and creates a message based on it. For example, this can be a message displayed on the GUI of the service provider device, such as Fig.14 The message has three interaction areas where the user can interact, for example, by pressing a touch screen or similar operations.
[0174] Pressing "View on Map" will display the suggested destination to the service provider on a map in their navigation system.
[0175] Pressing the "Accept" button will lead you directly to the navigation system, which will give you a suggested route to your destination.
[0176] Pressing the "Cancel" button allows the service provider to ignore the notification if the recommended destination is not of interest to them.
[0177] The message content is supplied via data stream 502 to the service provider receiving message storage device 915 for storage - see Fig.15 .
[0178] The content of the message can be used for A / B testing to verify whether the notification text can have an impact on shaping the service provider's behavior with respect to compliance.
[0179] In another embodiment, the message may be a voice message.In yet another embodiment, both text messages and voice or other audible messages are provided.
[0180] It should be noted that the specific details of the data flow described above are merely embodiments of such a flow. There may be other embodiments that use additional or alternative data flows or that include alternative or additional fields to the data flows discussed.
[0181] It should be understood that the present invention has been described by way of example only. Various modifications may be made to the techniques described herein without departing from the spirit and scope of the appended claims. The disclosed techniques include techniques that may be provided in an independent manner or in combination with one another. Therefore, features described with respect to one technique may also be presented in combination with another technique.
Claims
1. A method for managing a transportation service provider, the method include: - A provider data receiving step: receiving a first data stream in real time, the first data stream comprising data indicating each of a plurality of service providers, the data comprising an indication of an identification of each service provider, availability data of the corresponding service provider, and an indication of a real-time location of each of the corresponding service providers; A forecasting step of processing the first data stream and the stored historical supply / demand data to provide a forecast of the number of service providers and the number of service requests over a region comprising a plurality of geographic regions, wherein the forecast is performed by region; filtering step: filtering service providers from the first data stream using an availability criterion to output data indicating a plurality of candidate service providers that are eligible to receive notifications of moving around based on the availability criterion, wherein the data indicating each eligible candidate service provider includes an indication of an identification of a respective candidate service provider associated with a location of each eligible candidate service provider; Optimization step: combining data indicating the plurality of candidate service providers eligible according to the availability criteria with the predicted number of service providers and the number of service requests, the data including an indication of an identity of a corresponding candidate service provider associated with the location of each eligible candidate service provider, and using the data to calculate a matrix including data values 1 and 0 indicating whether each service provider candidate is to be notified of relocation from its current area to a corresponding new area, thereby determining a set of candidate service providers from the plurality of candidate service providers eligible to move from their current area to a corresponding new area, wherein 0 indicates that the candidate service provider is not relocated to the corresponding new area and 1 indicates that the candidate service provider is relocated to the corresponding new area; and outputting another data stream including data indicating each candidate in the set of candidate service providers and the identity of the corresponding new area of the corresponding candidate; and Notification step: using the other data stream to output a corresponding notification only to each candidate service provider in the set of candidate service providers, the notification including a message customized for the corresponding service provider and indicating a new location in the new area, whereby the number of service providers in at least some areas approaches the number of service requests.
2. The method of claim 1 further comprises receiving in real time a request data stream comprising at least some of the data indicating a requester, a request time, a boarding location, and a drop-off location.
3. The method of claim 1, further comprising: include: - receiving in real time a request data stream having at least some of the data indicating a requester, a request time, a pickup location, and a drop-off location; as well as The request data stream and the data in the first data stream are stored.
4. The method of claim 1, further comprising processing received service request data, status and location information of service providers, and storing the results as historical demand and supply data.
5. The method according to claim 1, in, The forecasting step includes applying a forecasting process to the historical supply and demand imbalance data to predict the imbalance for each region covered by the system in one or more upcoming time intervals.
6. The method according to claim 5, in, The forecasting process uses one of the time series forecasting techniques including Double Seasonal Holt-Winter (DSHW), Difference Autoregressive Moving Average (ARIMA) to make demand and supply forecasts.
7. The method according to claim 5, in, The forecasting step involves using machine learning techniques including recurrent neural networks (RNNs) and long short-term memory (LSTMs) to make demand and supply forecasts.
8. The method according to claim 7, in, The predicting step further includes using data from a third party data storage device storing externally supplied data.
9. The method according to claim 1, in, The optimizing step includes receiving predicted demand and supply data, data indicative of identities of candidate service providers, and historical aggregated temporal-spatial data.
10. The method according to claim 9, in, The historical aggregated temporal-spatial data includes at least one of an average time or probability of finding the next job, an average price multiplier, an average ticket price, or an average income in each geographic region over a given time period.
11. The method according to claim 1, in, This optimization step calculates one or more of the following: i) the expected notification compliance probability matrix of candidate service providers moving to each geographic region; ii) a matrix of "average probability of finding the next job" for service provider candidates moving to each different geographic region; as well as iii) A matrix of "expected revenue" for service provider candidates moving to each different geographic region.
12. The method of claim 1, in, The optimization step may be controlled to achieve one or more objectives selected from the following: i) minimizing the aggregate supply-demand imbalance across the region; ii) minimize the total driving distance of all service provider candidates; iii) minimize the average time for all service provider candidates to find their next job; as well as iv) Maximize the average probability of all service provider candidates finding their next job.
13. An apparatus for managing a transport service provider, the apparatus comprising data storage means and a processor operating under the control of stored instructions for: - receiving in real time a first data stream comprising data indicative of each of a plurality of service providers, the data comprising an indication of an identification of each service provider, availability data for the respective service provider, and an indication of a real-time location of each of the respective service providers; reading historical supply / demand data from the storage device, processing the first data stream and the historical supply / demand data to provide a forecast of a number of service providers and a number of service requests over a region including a plurality of geographic areas, in, The forecast is made on a regional basis; filtering the first data stream using an availability criterion to filter service providers from the first data stream to output data indicating a plurality of candidate service providers that are eligible to receive notifications of moving around based on the availability criterion, wherein the data indicating each eligible candidate service provider includes an indication of an identification of a respective candidate service provider associated with a location of each eligible candidate service provider; combining data indicating the plurality of candidate service providers that are eligible according to the availability criteria with the predicted number of service providers and the number of service requests, the data including an indication of an identity of a corresponding candidate service provider associated with the location of each eligible candidate service provider, and calculating using the data a matrix including data values 1 and 0 indicating whether each service provider candidate is to be notified of relocation from its current area to a corresponding new area, thereby determining a set of candidate service providers from the plurality of candidate service providers that are eligible to move from their current area to a corresponding new area, wherein 0 indicates that the candidate service provider is not relocated to the corresponding new area and 1 indicates that the candidate service provider is relocated to the corresponding new area; and outputting another data stream including data indicating each candidate in the set of candidate service providers and an identity of the corresponding new area for the corresponding candidate; and The other data stream is used to output only a corresponding notification to each candidate service provider in the set of candidate service providers, the notification including a message customized for the corresponding service provider and indicating a new location in a new area, whereby the number of service providers in at least some areas converges to the number of service requests.
14. A computer program or a computer program product comprising instructions for implementing the method of any one of claims 1 to 12.
15. A non-transitory storage medium storing instructions, which, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
System and method for providing dynamic supply positioning for on-demand services
US20140011522A1
Lease item scheduling method and system
CN107657353A
Methods and systems for transport capacity scheduling
US20180032928A1