CPC G06Q 50/40 (2024.01) [G06Q 10/06313 (2013.01); G06Q 50/47 (2024.01); G06Q 50/43 (2024.01)] | 20 Claims |
1. A method comprising:
receiving, by one or more server devices of a dynamic transportation matching system, a first transport request from a requester computing device associated with a first geohash and a first request matching time period;
generating, by the one or more server devices, a geohash pairing comprising the first geohash and one or more geohashes associated with the first geohash based on an average estimated time of arrival between geohashes;
generating, by the one or more server devices, a transport request grouping of the first transport request from the requester computing device with other transport requests from other requester computing devices that are received within the first request matching time period and are associated with the geohash pairing;
selecting, from the provider computing devices available for assignment, a subset of available provider computing devices that are associated with the geohash pairing;
monitoring, by the one or more server devices, location information from a plurality of requester computing devices and a plurality of provider computing devices to determine a number of requester computing devices and a number of provider computing devices in a second geohash;
generating, by the one or more server devices, virtual penalties for candidate transportation matches for transport requests that involve provider computing devices crossing between the second geohash and the first geohash, wherein the virtual penalties are based on a ratio of a number of transport requests and the number of provider computing devices in the second geohash;
generating, by the one or more server devices, a directed graph by generating a plurality of edges between the first transport request and the other transport requests in the transport request grouping;
generating a plurality of candidate virtual geographic boundaries wherein edges from the directed graph intersect the plurality of candidate virtual geographic boundaries;
determining, by the one or more server devices, edge weights for the plurality of edges of the directed graph based on an amount of the subset of available provider computing devices available for assignment to the first transport request and an amount of the subset of available provider computing devices available for assignment to the other transport requests in the transport request grouping;
determining, for the plurality of candidate virtual geographic boundaries, edge weight combinations, based on the edges from the directed graph that intersect the plurality of candidate virtual geographic boundaries;
selecting a virtual geographic boundary from the plurality of candidate virtual geographic boundaries based on the edge weight combinations;
generating, by the one or more server devices, within the first request matching time period and based on the virtual penalties and the directed graph, a transportation match for the first transport request from a first requester computing device and a first provider computing device, wherein the first provider computing device is selected from the subset of available provider computing devices within the virtual geographic boundary; and
providing, for display via a user interface of the first provider computing device, the transportation match for the first transport request from the first requester computing device and the first provider computing device.
|