Keywords

1 Introduction

The increased amount of vehicles results in serious traffic congestion in the urban transportation system [4]. However, these vehicles are not utilized well when providing riding service. Actually, a vehicle usually carries only 1.6 passengers on average [5]. To relieve the traffic pressure, crowdsourcing based ride-sharing methods are proposed, and more and more companies (e.g. Didi Chuxing and Uber) have entered this market to increase vehicle seat usage. As more and more passengers and drivers participate in such a business, the ride-sharing platform needs to match riding orders with drivers efficiently and determine the payments to drivers to incentivize them to provide the riding service.

In this paper, we assume that the platform charges up-front fares to passengers when they submit the riding orders. Note that it could be problematic to require passengers to bid for vehicles and this kind of mechanism may not work well in the practical application [10]. Therefore, we adopt the up-front fares and do not consider the strategic bidding behavior of passengers. The platform determines the up-front fares according to the pick-up and drop-off locations, current demand and supply and so on. Passengers then determine whether to accept the up-front fares or not. Then the same as some existing works [14, 17], we assume that the ride-sharing platform adopts an auction mechanism to determine the matching between the orders and drivers. Specifically, the platform publishes the orders to available drivers, and then drivers compete with each other by bidding their costs for serving orders. The cost depends on several factors, such as fuel cost, vehicle wear, maintenance cost and so on. The platform then matches orders with drivers and makes the payments to drivers. However, drivers are usually self-interested, and they may untruthfully report their costs to make more profits. Drivers untruthfully revealing their cost information may lead to inefficient order matching, and then reduce the overall social welfare of drivers and the platform. Moreover, the mechanism may need to match a large number of incoming orders with thousands of feasible vehicles. Therefore, the mechanism should be computationally efficient, Therefore, we need to design an efficient mechanism that incentivizes drivers to bid truthfully to maximize the social welfare.

In more detail, we design an efficient mechanism to match orders with drivers to maximize the social welfare of the platform and drivers. This paper advances the state of art in the following ways. We design an approximated order matching algorithm with a branch and bound based route planning algorithm to accelerate the matching process, and then compute the payments to the drivers based on the second pricing mechanism. In so doing, we design a second pricing based ride-sharing mechanism, which is named SPRM. We prove that this mechanism can satisfy incentive compatibility, individual rationality, budget balanceFootnote 1 and computational efficiency. We run extensive experiments to evaluate our mechanism based on the real Manhattan taxi order data and vehicle fuel consumption data. We find that SPRM can make greater social welfare than two typical benchmark approaches, GPri [17] and Nearest Dispatching (ND). The experimental results also show that SPRM can guarantee the drivers’ profits and improve the ratio of drivers’ participation and the ratio of served orders.

The rest of the paper is structured as follows. In Sect. 2, we introduce the related work. In Sect. 3, we describe the basic settings of this paper. In Sect. 4, we introduce the proposed mechanism in detail, and in Sect. 5, we experimentally evaluate the proposed mechanism. Finally, we conclude in Sect. 6.

2 Related Work

There exist plenty of works on investigating the issues of the crowdsourcing based ride-sharing systems, such as minimizing the total traveling distance [3, 8], maximizing the ratio of served orders [13, 15], maximizing the platform’s profits [16] and so on. Furthermore, there exist some works using auction based methods to match orders with drivers. In [1], the ride-sharing platform proposes an auction-based mechanism to maximize its own profits. In [6], the authors propose a heuristic algorithm to determine ride-sharing travel plan dynamically and use VCG mechanism to determine the payments of participants. In [7], a second-price sealed auction mechanism is proposed to do the order matching to increase the ratio of served orders and minimize the traveling distance. In [17], an auction-based method is proposed to balance the supply and demand of drivers and passengers. Furthermore, there exist some works on investigating travel expenses of passengers [2], such as that in [10], a pricing algorithm is proposed for passengers based on their riding demands, and an online mechanism is proposed to encourage passengers to report information truthfully.

However, to the best of our knowledge, existing works usually ignore the profits of vehicle drivers, which may result in drivers refusing to provide the ride-sharing service if they make a loss in this business. Therefore in this paper, we propose an incentive-compatible mechanism to maximize the social welfare of the platform and the drivers, in order to ensure that both sides are willing to participate in the ride-sharing business.

3 Basic Settings

In this section, we first describe how the ride-sharing system works in this paper, and then give the relevant symbols and definitions. Finally, we provide a formal definition of the problem.

We first introduce how the online ride-hailing system works. When a passenger sends the riding orders to the platform, the platform computes the up-front fare charged to the passenger. Then the platform puts the orders where the passengers have accepted the fares into the order pool and publish these orders to the online drivers. The driver will bid on the feasible orders, and then the platform matches the orders according to the drivers’ bids and compute the payments to drivers.

3.1 Symbols and Definitions

We model the order matching process as a one-side reverse auction which runs in a set of time slot \(\mathcal {T}=\{1,2, \cdots , T\}\). Drivers will run on a road network to serve orders following travel plans. The related concepts are defined as follows.

Definition 1 (Order)

Order \(o \in \mathcal {O}\) is defined as a tuple \((l_{o}^{s}, l_{o}^{e}, t_{o}^{s}, \overline{w t}_{o}, \overline{d r}_{o}, n_{o}, f_{o})\), where \(\mathcal {O}\) represents the set of orders. \(l^{s}_{o}\) and \(l^{e}_{o}\) represent the departure and destination of order o respectively, \(t_{o}^{s}\) is the earliest time when order o leaves \(l_{o}^{s}\), \(\overline{w t}_{o}\) is the maximum time that order o is willing to wait after \(t_{o}^{s}\), and \(\overline{d r}_{o}\) indicates the maximum detour ratio that passengers can tolerate for order o, \(n_{o}\) is the number of passengers in order o, \(f_{o}\) is the up-front fare charged to passengers by the platform.

We use \({dis}(l_{o}^{s}, l_{o}^{e})\) to represent the shortest distance between \(l_{o}^{s}\) and \(l_{o}^{e}\). Note that passengers will withdraw their orders if the actual departure time \(\overline{t_{o}^{s}}\) is more than \(t_{o}^{s}+\overline{wt}_{o}\). Furthermore, order o has a certain detour tolerance where passengers hope that the trip distance cannot exceed \((1+\overline{d r_{o}}) \cdot {dis}(l_{o}^{s}, l_{o}^{e})\).

Definition 2 (Driver)

Driver \(d\in \mathcal {D}\) is defined as a tuple \((\theta _{d},\mathcal {O}_{d})\), where \(\theta _{d}=(l_{d}^{s}, l_{d}^{e}, [t_{d}^{s}, t_{d}^{e}], c_{d},n_{d})\) is the driver’s type, which is the private information known by himself. In more detail, \(l_{d}^{s}\) and \(l_{d}^{e}\) represent the driver’s origin and destination respectively. \([t_{d}^{s}, t_{d}^{e}]\) is the driving time interval, where \(t_{d}^{s}\) and \(t_{d}^{e}\) represent the earliest time to leave \(l_{d}^{s}\) and the latest time to reach \(l_{d}^{e}\). \(c_{d}\) is the unit cost, and \(n_{d}\) is the maximum number of passengers that the vehicle can carry, \(\mathcal {O}_{d}\) represents the set of orders allocated by the platform to driver d, where \(\mathcal {O}_{d} \subseteq \mathcal {O}\). Furthermore, we use \(\varTheta =\{\theta _{1}, \theta _{2}, \cdots , \theta _{|{D}|}\}\) to denote the set of private types of all drivers, and use \(\varTheta _{-d}\) to denote the set of private types of all drivers excluding driver d. We use \(\overline{V}\) to represent the average driving speed.

Definition 3 (Travel Plan)

\(t p_{d}\) is defined as the travel plan of driver d, which is a sorted sequence of nodes \(l_{d}^{1} \rightarrow l_{d}^{2} \rightarrow \cdots \rightarrow l_{d}^{|tp_{d}|}\), where \(l_{d}^{k} (k=1,2,3,...,|tp_{d}|)\) is the origin or destination of the order allocated to driver d (that is \(l_{d}^{k} \in \{l_{o}^{s} \mid o \in \mathcal {O}_{d}\} \cup \{l_{o}^{e} \mid o \in \mathcal {O}_{d}\}\)).

Note that the travel plan is dynamically changed when a new order is inserted. We use \(dis_{tp_{d}}(l_{u}, l_{v})\) to represent the actual traveling distance between \(l_u\) and \(l_v\) on the travel plan \(t_p\), and \(dis_{d}(tp_{d})\) is the traveling distance of driver d at location \(l_{d}\) following travel plan \(tp_{d}\):

$$\begin{aligned} dis_{d}(t p_{d})={dis}(l_{d}, l_{d}^{1})+\sum _{k=1}^{|tp_{d}|-1} {dis}(l_{d}^{k}, l_{d}^{k+1}) \end{aligned}$$
(1)

Now \(dr_{tp_{d}}(o)\) is the actual detour ratio of order o under travel plan \(tp_{d}\):

$$\begin{aligned} dr_{t p_{d}}(o)=dis_{tp_{d}}(l_{o}^{s}, l_{o}^{e}) / dis(l_{o}^{s}, l_{o}^{e})-1 \end{aligned}$$
(2)

According to the above definition, if the driver’s travel plan is feasible, the following conditions should be satisfied:

  1. (1)

    \( \forall o \in \mathcal {O}_{d}\), we have \(l_{o}^{s} \prec l_{o}^{e}\) for \(l_{o}^{s}\) and \(l_{o}^{e}\) in \(tp_{d}\).

  2. (2)

    \( \forall o \in \mathcal {O}_{d},\) we have \(dis_{t p_{d}}(l_{d}^{s}, l_{o}^{s}) \le (\overline{{t}_{o}}^{s}-t_{d}^{s}) \cdot \overline{V}\).

  3. (3)

    \(\forall o \in \mathcal {O}_{d},\) we have \(dr_{tp_{d}}(o) \le \overline{dr_{o}}\).

  4. (4)

    \(\forall o \in \mathcal {O}_{d},\) we have \(dis_{tp_{d}}(l_{d}^{s}, l_{d}^{e}) \le (t_{d}^{e}-t_{d}^{s}) \cdot \overline{V}\).

  5. (5)

    The number of passengers in the vehicle does not exceed \(n_{d}\).

The above condition 1 means that the driver needs to pick up and drop off passengers according to the origin and destination of the order. Condition 2 and 3 mean that the travel plan should satisfy the order’s detour ratio and waiting time. Condition 4 means that the driver must arrive at the destination on time. Condition 5 means that the number of passengers in the vehicle must meet the seat limit. The travel plan that satisfies the above five conditions is called a feasible plan. We use \(\mathcal {F}_{d}\) to represent the set of all feasible plans of the driver.

3.2 Social Welfare

In the ride-sharing system, driver d may not strategically report the type information such as departure \(l_{d}^{s}\), destination \(l_{d}^{e}\), travel time \([t_{d}^{s}, t_{d}^{e}]\), and vehicle seat number \(n_{d}\) since the platform can use some technical manners to prevent such misreporting (e.g. acquiring vehicle’s location using GPS, computing the remaining available seat capacity according to vehicle type and current served orders). However, the driver can misreport the unit cost \(c_{d}\) to make more profits since the ride-sharing platform cannot verify the driver’s cost information.

According to Eq. 1, the cost of driver d following travel plan \(tp_{d}\) is \(cost_{d}(t p_{d})=c_{d} \cdot {dis}_{d}(t p_{d})\), and its profit is:

$$\begin{aligned} u_{d}=p_{d}-cost_{d}(t p_{d}) \end{aligned}$$
(3)

where \(p_{d}\) is the payment received from the platform. The platform makes profits through the difference between the passengers’ up-front fares and the payments to drivers:

$$\begin{aligned} \mathcal {U}^{P}=\sum _{d \in \mathcal {W}}(\sum _{o \in \mathcal {O}_{d}} f_{o}-p_{d}) \end{aligned}$$
(4)

where \(\mathcal {W} \subseteq \mathcal {D}\) is the set of drivers serving orders. Now, the social welfare of the platform and the drivers is:

$$\begin{aligned} \begin{aligned} SW=\mathcal {U}^{P}+\sum _{d \in \mathcal {W}} u_{d}=\sum _{d \in \mathcal {W}}(\sum _{o \in \mathcal {O}_{d}} f_{o}-{cost}_{d}(t p_{d})) \end{aligned} \end{aligned}$$
(5)

3.3 Problem Formulation

Based on the above description, we give the problem formulation of this paper.

Definition 4 (Order Matching for Maximizing Social Welfare)

Given the set of orders \(\mathcal {O}\) and the set of drivers \(\mathcal {D}\), the platform determines the order matching to maximize the social welfare SW, while ensuring that the driver \(d \in \mathcal {W}\) who gets the order can successfully serve the order, i.e. the travel plan of each driver is feasible (\(tp_{d} \in \mathcal {F}_{d} \ne \varnothing \)).

Definition 5 (Driver Pricing)

The platform needs to determine the payment to driver \(d \in \mathcal {W}\) according to the order matching result, the set of orders \(\mathcal {O}\) and the set of private types \(\hat{\varTheta }\) submitted by all drivers, satisfying incentive compatibility, individual rationality and budget balance.

4 Mechanism Design

We now design a Second-Pricing based Ride-sharing Mechanism (SPRM) to do the order matching and pricing, which is shown in Algorithm 1. Line 2 in Algorithm 1 uses the order matching algorithm to allocate the orders to drivers. For each matched pair \((o,d^{*})\) in \(\mathcal {M}\), SPRM uses the second price pricing algorithm to compute the payments to driver \(d^{*}\) in line 3 to 5. In the following, we will introduce the order matching algorithm and driver pricing algorithm in detail.

4.1 Order Matching Algorithm

The order matching algorithm of SPRM mechanism is shown in Algorithm 2. Specifically, line 2 sorts the orders according to the descending up-front charged fares, and in lines 3 to 6, the sorted orders are matched one by one. In the matching process, the driver with the lowest additional travel cost is selected to ensure the maximum social welfare.

figure a
figure b

Driver Selection Algorithm. In the order matching, we select the driver with the lowest additional travel cost from the feasible set of drivers to server the order. For serving order o, the additional travel cost for driver d is:

$$\begin{aligned} \varDelta \cos t_{o, d}=\hat{c}_{d} \cdot (dis_{d}(tp_{d} \cup \{l_{o}^{s}, l_{o}^{e}\})-dis_{d}(tp_{d})) \end{aligned}$$
(6)

where \(tp_{d}\cup \{l_{o}^{S}, l_{o}^{e}\}\) is the new travel plan after adding the departure and destination of order o into the original travel plan of driver d.

The driver selection algorithm is shown in Algorithm 3. For a certain order \(o\in \mathcal {O}\), line 3 will determine whether driver \(d\in \mathcal {D}\) can pick up the passengers on time and whether the driver can arrive at the destination on time. Then line 5 will reschedule the route according to the departure and destination of order o and the driver’s current travel plan \(tp_d\). The route planning algorithm adopts a branch and bound based method, which will be introduced in the below. Lines 6 and 7 can find the best driver \(d^{*}\) matched with order o.

figure c

In the above route planning problem, we design a branch and bound based route planning algorithm to reschedule the travel plan. The algorithm will recurse all possible travel plans, and we will use pruning to eliminate nonviable branches. There are pruning operations at each recursion step to ensure that the current travel plan is feasible to reduce the searching cost and accelerate the route planning. The travel cost pruning is used to eliminate the recursive branch whose current cost has exceeded the optimal cost. The travel plan feasibility pruning use the five conditions of a feasible plan to prun the current travel plan by selecting the branches that can form a feasible plan. The time complexity is equivalent to the time complexity of recursive searching, with \(O(\ell ^{2})\) in the worst case, where \(\ell =\max _{d \in \mathcal {D}_{t}}\{|t p_{d}|\}\).

4.2 Driver Pricing Algorithm

After matching orders with drivers, the platform needs to compute the payments to drivers, which is based on second pricing, as shown in Algorithm 4.

For a matching pair \((o,d^{*})\), the platform will temporarily delete the driver \(d^{*}\) with the lowest additional travel cost, and find driver \(d^{\prime }\) with the lowest additional travel cost from the remaining drivers in line 1 of Algorithm 4, and then the platform will use \(\varDelta {cost}_{o, d^{*}} \le f_{o}\) to determine whether the driver exists (line 2). If it exists, \(\varDelta {cost}_{o, d^{*}}\) is taken as the payment to driver \(d^{*}\). Furthermore, the platform will allocate order o to driver \(d^{*}\). Finally we update the driver’s travel plan \(tp_{d^{*}}\) and the current number of passengers \(n_{d^{*}}\).

figure d

4.3 Theoretical Analysis

SPRM mechanism can satisfy the typical economic properties: incentive compatibility, individual rationality and budget balance, and can guarantee computational efficiency.

Theorem 1

SPRM can guarantee incentive compatibility.

Proof

We use Myerson theorem [9] to prove that SPRM can guarantee incentive compatibility. According to Myerson’s theorem, a mechanism is incentive compatible if and only if the mechanism can satisfy the following two conditions:

  • 1) The order matching algorithm is monotonic: If the private cost information \(\hat{c}_{d}\) revealed by driver d can help him to get the order, driver d can get the order with the lower cost information \(\hat{c}_{d}^{\prime }\) (i.e. \(\hat{c}_{d}^{\prime } \le \hat{c}_{d}\)).

  • 2) The payments to driver is critical price: The payment to the driver is the maximum payment. In other words, if driver d reveals the private cost information \(\hat{c}_{d}\) untruthfully, and his additional travel cost is more than \(p_{d}\), he will not obtain the order.

We now prove that our mechanism can satisfy the above two conditions. Obviously, the order matching algorithm is monotonic since the driver selection algorithm chooses the driver with the lowest additional travel cost. When driver d reveals lower cost information, driver d will be the optimal driver again. Then the payment to the driver calculated by the second-price pricing is the critical price. When the cost \(\hat{c}_{d}\) revealed by the driver is too high to make \(\varDelta cost_{o, d^{\prime }}< \varDelta cost_{o, d^{*}}\), the driver selection algorithm will choose driver \( d^{\prime }\) instead of driver d, which causes driver d to be unmatched with order o. According to Myerson’s theorem, SPRM can guarantee incentive compatibility. Theorem 1 is proved.

Theorem 2

SPRM can guarantee individual rationality.

Proof

We need to prove that the profit of driver d is non-negative. Due to the monotonicity of the driver selection algorithm, there is \(\varDelta cost_{o, d^{\prime }} \ge \varDelta cost_{o, d^{*}}\) in each round of order matching, where the driver’s profit is \(u_{d^{*}}=p_{d^{*}}-cost_{d^{*}}(t p_{d^{*}})=\sum _{o \in \mathcal {O}_{d}} (\varDelta cost_{o, d^{\prime }}-\varDelta cost_{o, d^{*}}) \ge 0\). Theorem 2 is proved.

Theorem 3

SPRM can ensure the budget balance of the platform.

Proof

We now prove that the profit of the platform is non-negative. In line 6 of Algorithm 4, we have \(\varDelta cost_{o, d^{\prime }} \le f_{o}\), and the platform’s profit is \(\mathcal {U}^{p}= \sum _{d \in \mathcal {W}}(\sum _{o \in \mathcal {O}_{d}} f_{o}-p_{d})=\sum _{d \in \mathcal {W}} \sum _{o \in \mathcal {O}_{d}}(f_{o}-\varDelta cost_{o, d^{\prime }})\ge 0\). Theorem 3 is proved.

Theorem 4

SPRM satisfies computational efficiency.

Proof

We now prove SPRM can be executed within a polynomial time. During each round of order matching, the worst time complexity of the driver selection algorithm for a single order is \(O(|\mathcal {D}| \cdot \ell ^{2})\). Then the total time complexity is \(O(|\mathcal {O}| \cdot |\mathcal {D}| \cdot \ell ^{3})\). Theorem 4 is proved.

5 Experimental Analysis

In this section, we evaluate our mechanism based on the Manhattan taxi order data set, which has been widely used by related works [1, 11,12,13].

Fig. 1.
figure 1

Orders on weekdays and weekends

Fig. 2.
figure 2

Unit travel fare

5.1 Data Set and Characteristics

In this section, we introduce the data set and describe how to extract the characteristics of the data, which will be used to generate data for running experiments.

Order Data Set. We collect a data set of taxi orders on Manhattan Island in June 2016 from New York City Taxi and Limousine Commission.Footnote 2 Each order data includes the latitude and longitude of the departure and the destination, the departure time, the travel time, the fare and the travel distance.

Fuel Consumption Data Set. We collect the urban vehicle fuel consumption data of type M1 and M2 from China Automobile Fuel Consumption Query SystemFootnote 3 of the Ministry of Public Information of China.

Order Data Cleaning. We find that the number of orders on weekdays and weekends varies greatly over time, as shown in Fig. 1. For consistency, we use the order data of weekdays to extract the traveling characteristics.

Extracting Passenger Pricing Rules. We compute the average unit travel fare per hour, where \(\overline{f}^{k}\) is the average unit travel fare in k-th hour. The dynamics of unit travel fare is shown in Fig. 2.

Clustering Road Network Nodes. We use K-Means algorithm to cluster 4573 nodes on Manhattan network into 40 regions according to the frequency of departure and destination in the order data set. We use \(R^{s}=\{R_{1}^{s}, R_{2}^{s}, \cdots , R_{40}^{s}\}\) to represent 40 regions of the origin of the order data, and \(R^{e}=\{R_{1}^{e}, R_{2}^{e}, \cdots , R_{40}^{e}\}\) to represent 40 regions of the destination of the order data.

5.2 Experiment Settings

Data Generation and Experimental Parameters. We select the peak period from 19:00 to 20:00 on weekdays as the time period We use time slot \(\varDelta t=5\, \mathrm {min}\) to divide one hour into 12 time slots, and each order contains only one passenger. We set the average vehicle speed to be 7.2 mph. We randomly selects a node from \(R_{u}^{s}\) and \(R_{v}^{e}\) respectively as the departure node \(l_{o}^{s}\) and destination node \(l_{e}^{s}\) of order o, and then uses \(f_{o}=\overline{f}^{20} \cdot {dis}(l_{o}^{s}, l_{o}^{e})\) to calculate the trip fare of order o. In addition, the maximum waiting time \(\overline{wt_{o}}\) is randomly selected from {5 min, 10 min, 15 min, 20 min}, and the detour ratio \(\overline{dr_{o}}\) is randomly selected from {0.25, 0.50, 0.75, 1.00}. Since the unit cost and fuel consumption data are not in the same magnitude, we use a factor 2.5/6.8/1.6Footnote 4 to scale the fuel consumption data to the taxi rate in New York City. Besides, we randomly select the time slot as the driver’s departure time, randomly select a value from [10 min, 60 min] as the length of the travel time interval, and randomly select the node as the driver’s departure point. The capacity of vehicle seats is set to 4.

Benchmark Approaches and Metrics. In this paper, we choose two typical benchmark approaches, which are GPri [17] and Nearest Dispating (ND). GPri uses a greedy algorithm to match orders and uses a uniform pricing rule for drivers. The nearest dispatching (ND) algorithm is adopted by major ride-sharing platforms such as Uber, which selects the nearest available driver to serve the new order. We run experiments to evaluate our mechanism against these two approaches in terms of the following metrics.

  • Ratio of participated drivers which refers to the ratio of the number of drivers who serve orders to the total number of drivers.

  • Average profits of participated drivers which refer to the ratio of the cumulative profits of drivers serving orders to the total number of such drivers.

  • Ratio of served orders which refers to the ratio of the number of served orders to the total number of orders.

  • Average order payments which refer to the ratio of the total payments of the matched orders to the number of orders.

  • Average random travel distance which refers to the ratio of the total driving distance of drivers who are currently not serving any orders to the total number of drivers.

  • Social welfare which refers to total profits of the platform and drivers.

5.3 Experimental Results

The experiments are run on a machine with AMD Ryzen7 4800H processor. The experiment increases the number of drivers from 500 to 2500. For each number of drivers, the experiment is repeated 10 times and we compute the average results.

We first analyze the ratio of participated drivers. According to Fig. 3, we find that the pricing rules of GPri and ND will cause a large number of drivers to refuse to provide services. Compared with SPRM, the participation ratio is reduced by about 20% and 11% respectively. When the total number of vehicles increases, the number of drivers serving orders has increased from 450 to 1000, and then become saturated. Because more vehicles are involved in the business, but with limited incoming orders, the driver maybe not willing to participate since it cannot get enough orders. From Figs. 4 and 5, we find that the average profits and ratio of served orders who provide ride-sharing services under GPri and ND are also lower than SPRM, where the average profits are only about 27% and 45% of SPRM and the ratio of served orders is only about 44% and 57% of SPRM.

Fig. 3.
figure 3

Ratio of participated drivers

Fig. 4.
figure 4

Average profits of participated drivers

Fig. 5.
figure 5

Ratio of served orders

From Fig. 6, we can see that compared with SPRM, the average order payments of GPri and ND has been reduced by about 43% and 29% respectively. SPRM can make drivers obtain more orders, which can improve the average profits of drivers. From Fig. 7, we can find that as the number of vehicles increases, the average random travel distance of SPRM and ND vehicles gradually increases, and GPri does not increase or decrease monotonously. We believe this is caused by the drivers’ participation. Comparing Fig. 3 with Fig. 7, we can see that as the number of vehicles increases, the drivers’ participation ratio and the average random travel distance is opposite. The decreased participation ratio of drivers leads more drivers to travel randomly on the road, resulting in increased average random travel distance.

From Fig. 8, we can find that as the number of vehicles increases, the social welfare of three mechanisms increases. SPRM can make about 70% and 65% higher welfare than GPri and ND mechanisms. Furthermore, the social welfare of SPRM increases significantly until the number of drivers is saturated. This is because when the number of vehicles increases until 1500, more orders are matched, and thus the social welfare grows faster.

Fig. 6.
figure 6

Average order payments

Fig. 7.
figure 7

Average random travel distance

Fig. 8.
figure 8

Social welfare

6 Conclusion

In this paper, we designed an order matching and pricing mechanism which is incentive compatible, to maximize the social welfare of the platform and drivers. Specifically, we designed a second pricing based ride-sharing mechanism (SPRM), where we implemented an efficient order matching algorithm including branch and bound based route planning algorithm to accelerate the matching process and compute the payments to drivers based on second pricing rule. We proved that SPRM can satisfy incentive compatibility, individual rationality, budget balance and computational efficiency. Furthermore, we run extensive experiments to evaluate our mechanism based on the real Manhattan taxi order data. We found that SPRM can guarantee the driver’s profits, achieve a better ratio of participated drivers and the ratio of served orders, and eventually achieve greater social welfare than two typical benchmark approaches, GPri and ND.