# Systematic Analysis and Modelling of Profit Maximization on Carsharing

Authors: Giulio Giorgione; Dzmitry Kliazovich; Luca Bolzani; Francesco Ciari; Francesco Viti
Journal: Journal of Advanced Transportation
 (2022)

---

## Abstract

The success of carsharing as a relatively new and more sustainable way of traveling is moving private car ownership towards a service use model. Competitivity is an essential aspect of this service and ways to increase profit while offering the most appealing service are still getting explored. Among others, dynamic pricing strategies can be designed to increase profit by attracting more users, selling more rental hours, or maximizing fleet utilization. In this paper, we propose an experimental method aimed at developing a model for maximizing service profit. Using agent-based modeling to generate realistic scenarios, we analyze pricing as a function of the potential demand (i.e., number of members) and supply (hours of booking supplied). The process of reaching the maximum profit consists of testing various combinations of pricing-demand and pricing-supply ranges in order to find the values that maximize the profit for every demand and supply level. Once the optimal prices are known, a polynomial fitting and an optimization method are used to generate a functional form linking all the maximal profit obtaining the advised price to offer for any specific supply levels. Results show how the profit only slightly depends on the variability of the potential demand, while it strongly depends on the amount of supply. It is then shown how it is possible to obtain a linear relation that maximizes the profit in the function of the price offered once the supply is given.


---

## Body

## 1. Introduction

Carsharing users benefit from access to a shared fleet of vehicles on a pay-per-use model. This cancels the burden of owning a car and the related cost connected to maintenance, fuel, and insurance. Carsharing vehicles are typically available for short-term rentals and paid by the minute or by the hour. Carsharing comes in different formats [1, 2]:(i)
Station-Based Round-Trip or Two-Way carsharing: customers can pick up a vehicle from any station, but it must be returned to the same station where the rent started.(ii)
Station-Based One-way carsharing: customers can pick up a vehicle from any station, and it can be returned to any available station.(iii)
Free-floating carsharing: pick up and drop off can happen in a vast operation area designated by the carsharing provider without any predefined station.One of the main features of a carsharing system is flexibility. This, together with the diffusion of mobile applications and Internet, helped carsharing services to become mainstream. The most straightforward use of this technology is to book vehicles on the fly. Moreover, an app allows fast payment, user-tailored experience for users and grants continuous supervision from operators together with massive opportunities for data collection and analysis [3]. It is evident how the ability to offer a flexible interaction with vehicles is one of the features that contributed the most to the carsharing success [4] and, at the same time, makes daily utilization rates soar above 10%, which is considerably higher than the average rates for private cars (Lawrence D. Reference [5]). The growth of this service in the frame of the sharing economy principles makes the effect of a paradigm shift towards sharing mobility clear [6]. Carsharing can help sustainability in three ways:(i)
Vehicles used in carsharing are typically more fuel efficient [7].(ii)
One carsharing vehicle is used by more than one person. Some of these people decide not to own a car, so this leads to fewer cars getting dismissed.(iii)
Lowering GHG emissions by reducing vehicle kilometers traveled [8].During the course of the last decades, the expansion of this service attracted research from a variety of fields ranging from market analysis, pricing, location, and allocation strategies to travel behavior and sustainability [9, 10]. With these services being usually managed by private actors, several studies have focused on how to efficiently manage the fleet and how to increase profit and revenues [11, 12]. Great focus has been placed on carsharing operations, more specifically on carsharing relocation in one-way operations. Still, the research done so far tends to be too context-specific and therefore difficult to apply in different situations [1]. While the goal of the paper is not to solve the context-specific approach used in other works available in the literature, we propose a procedure that steers towards generalization and reproducibility in different contexts where this specific service is introduced.The increased number of operators, their expansion, and competition phenomena make carsharing pricing important for business sustainability. Pricing schemes affect the spatial and journey-purpose profiles of the carsharing usage, influencing who is using carsharing, when and where [13]. This shows how a well-conceived pricing scheme can make the difference between a successful company and a nonprofitable business. Focusing on one-way systems, zone and time of day price variations have been proposed. With the goal of balancing the fleet distribution in the system, a mixed-integer nonlinear programming model was applied in order to increase profit, showing that optimal prices are usually 23% higher than the base rate applied and, even though less demand is served, the enhanced performance of the system can boost earnings on the company side [14].The relation between price, demand, and supply is still not fully understood, given the high complexity of the problem due to the many interacting demand and supply state factors. Profit can depend on a multitude of variables: diverse characteristics of the demand such as its elasticity and its intrinsic features (e.g., age, income, way of living, type of trips made) [15], exogenous conditions such as different policies applied in the area of service and specific incentives given to the company [12], supply characteristics such as fleet availability and competition [16], and its operational costs that depend on fleet usage and location. Therefore, coming up with a simple model to be used in profit optimization is not trivial.In this paper, we take inspiration from dynamic pricing schemes developed in other businesses and disciplines, which have a long tradition in seeking profit maximization strategies, such as, for example, tourism management, transportation economy and logistic, airline business. Methods of dynamic price variability with revenue maximization goals have been applied in hotel management; findings suggested that a stronger price variability leads to higher revenues [17]. Charging a distinct price for the same service is found to be one key for increasing revenues and similar behavior is also observed in airline management. Here, it is noticeable how the goal of such strategies is to exploit the heterogeneity in markets and not to make customers pay more [18]. There are two main schemes adopted in airlines pricing: intertemporal price discrimination—to buy a product for future consumption needs—and dynamic adjustment to stochastic demand—price in function of the selling rate of a product. It is observed how the synergy of these two approaches leads to significantly higher revenues when compared to more restrictive pricing strategies [19]. Dynamic pricing (or dynamic price discrimination) is indeed a well-explored stream in the airline industry literature. It is defined as the adjustment of “prices based on the option value of future sales, which varies with time and units available” [18]. Acquiring insights into this pricing strategy and capturing the analogies can be beneficial for carsharing operators in terms of profit maximization objectives.Our recent works on carsharing pricing strategies suggested new ways to maximize companies’ revenues. With the goal of assessing travel behavior and equity impacts, we studied two dynamic pricing strategies evaluating their impact on a carsharing company revenue. Findings show that prices based on availability help to increase revenue when compared to fixed pricing schemes [20]. Taking advantage of one of its main peculiarities, one-way carsharing has been the target of a profit maximization strategy by means of user-based vehicle relocation. Exploiting this relocation strategy and avoiding the more conventional operator-based relocation, it was found how the operator’s profit can be increased [21]. Concerning both the two-way and one-way service, a way to optimize carsharing profits in the planning phase was addressed; the optimization of the fleet size and the vehicle allocation in each station was studied with a mixed-integer linear programming model [22]. Testing new strategies, especially brand-new strategies, could be a difficult and resource-intensive task. For example, to set up pricing experiments in a real-world setting could require substantial disruption of carsharing operations. Considering that we are looking for emerging functions for a complex system with many variables and intertwined behavioral processes, the use of a simulator is a valuable asset to get insights and can produce advanced screening of operational strategies. Carsharing has already been the focus of work on agent-based simulation. For example, in Ciari et al. [23], the authors present several reasons why it is advantageous to use an agent-based approach to describe simulating a carsharing service. In Ciari et al. [24], it is described how MATSim (a mesoscopic agent-based simulator) is adapted to incorporate carsharing. Other studies have also seen the simulation of a carsharing service performed using an agent-based approach. For example, Heilig et al. [25] integrate carsharing with an agent-based simulator that simulates travel behavior over a week in greater Stuttgart.The question behind this paper is the following: “is it possible to identify a maximum profit functional relationship for any given combination of demand, supply and price?”. To answer this research question, we created an experimental method that maximizes the profit of a company for any given usage of the supply advising the price of every booking. Considering that the state of the supply is thoroughly known by the company at any given time, the formulation of the solution is conceived to be opportunistic and adaptable at any given moment, taking advantage of the circumstances, contrary to planned strategies that cannot be easily adapted if specific events happen.To the best of the authors’ knowledge, this work helps to bridge the gap between profit maximization problems and agent-based simulation applied to a real case carsharing scenario. The method hereafter exposed can be considered applicable to any round-trip carsharing service except for what concerns the calibration phase. To showcase the results in a realistic setting, the data used in this paper is extracted from the Munich dataset of Oply, a B2C carsharing company operating with a round-trip mixed system. Oply offered a two-way service using small areas instead of punctual stations.


## 2. Methods

### 2.1. Methodology

Even though carsharing has been around for quite some time, models able to fully assess its functionalities are not yet fully developed. A conventional four-step model makes use of data that is too aggregated, not allowing researchers to assess the peculiarities of a carsharing service. That is why, to appraise round-trip carsharing, an aggregated trip-based model cannot be able to reliably assess fundamental Key Performance Indicators (KPIs) such as service availability at a precise point in space and time [26], users spending, activities, service profitability, and usage during a typical business day. Taking into account the limited number of carsharing vehicles and users, a mesoscopic or microscopic simulation is possibly the most suited approach. The most popular way to apply this criterion in order to capture trends and indicators resulting from individuals’ activity travel behaviors is through agent-based modeling [27].Addressing a relocation problem, agent-based simulation was used for choosing the fleet size of a carsharing service in Texas. Comparisons of a calibrated simulation with actual data from Austin’s car2go confirm the applicability of the simulation approach, as stated in [28]. A similar approach was applied to estimate travel demand for carsharing through an activity-based microsimulation. A phase of validation against customer data of a Swiss carsharing company following the simulation was shown to be able to give plausible results in terms of overall carsharing usage [24]. The simulation of innovative transport modes with agent-based models has been proven useful because of their microscopic nature. That is, regarding carsharing, the peculiarity of the services offered can be modeled in a realistic way and can capture car availability at a given location at a given time. Among the various agent-based simulation platforms, MATSim (Multi-Agent Transport Simulation), while applicable on large-scale scenarios, is capable of providing a disaggregated representation of carsharing operations and use (i.e., single vehicle and single user level [29]). For all of the above reasons, this approach has also been used in this study.Even though the agent-based simulators offered available in the literature is relatively vast, we selected MATSim since, up to date, it is one of the few that already allows simulating carsharing services [24, 30, 31]. Its use related to the users’ activity chain and its integration with the microscopic land-use simulation system SILO (Simple Integrated Land-Use Orchestrator) [32] makes this agent-based simulator suited to our task. Carsharing in MATSim is modeled as a private car with the addition of a reservation phase and an auxiliary monetary payment [26]. At every iteration, the simulator assigns to carsharing members a carsharing leg or a carsharing subtour with a predefined probability. Thanks to this strategy, a plan with the carsharing mode is executed. At the end of the iteration, the score is evaluated and the goodness of the plan with the carsharing alternative for a specific agent is evaluated. The use of carsharing in simulation is modeled following a specific process: first of all, after having finished their activity, the agent looks for the closest car carrying out a reservation; then, they proceed to reach the station where there is the reserved vehicle by foot. The vehicle is then taken and driven towards the next activity, where the vehicle will be parked. This phase is repeated for all the activities that need to be executed until the last one, where the agent will end the rental and leave the vehicle in the same station where they picked up the vehicle. From now on, the vehicle will be available for the other agents.MATSim simulation is based on the coevolutionary principle, for which “every agent repeatedly optimizes its daily activity schedule while in competition for space-time slots with all other agents on the transportation infrastructure” [29]. That is, a MATSim simulation is based on multiple iterations of the same day with the goal of reaching a user equilibrium since the optimization is based on an individual scoring function. It should be noted that one of the fundamental properties of carsharing is the uncertainty generated by the probability of not finding an available vehicle. In reality, this would be solved with a quick replanning of the modal choice by the carsharing user. In the case of MATSim (even if it is possible to simulate the user’s adaptation to unexpected events), the user who manages to rent the vehicle at iteration i will try to keep it also in the next iterations i+1. In the event that this is not possible (e.g., another user books the same vehicle in an earlier time), the plan will be heavily penalized and the probability of reusing carsharing very low. Ultimately, it is argued that it is not necessary to represent the competition generated by the research of car sharing machines since this process is still represented by the coevolutionary process integrated in MATSim [33]. One of the features of this simulator is that agents have memory. In this case, every agent can remember up to five different plans and choose among them at the end of every iteration using a logit model as a decisional model. In case agents do not find a car in one iteration and then find it in the next one, they will try to keep the plan with the best score. Here, there are two rules involved: first-come, first-served, and scoring maximization. If an agent n finds the car in iteration I, they can carry out their activities. In the moment they do not find a car anymore at iteration i+1, they will not carry out their activities. This means that a low score will be assigned to the agent that, in the future, will change their mode of transport. In the end, if an agent finds a vehicle in a prior iteration, it will receive a certain score. If in the following iteration it does not find any vehicle (meaning that someone already took it), it will receive a low score since it cannot carry out their activities. Since MATSim as a whole tends to evolve to a stable state, and given the fact that the first-come, first-served behavior could lead to problems in reaching this stability at the last iterations, we set up specific strategies to guarantee convergence. MATSim strategies can be deactivated when the simulation reaches a specific iteration. In order to reach a stable state when carsharing is simulated, it is important to deactivate (in case they have been activated by the user) two specific strategies towards the end of the simulation: TimeAllocationMutator and RandomTripToCarsharingStrategy. The former introduces a time shift that, in the moment, is deactivated will guarantee that times (departure, arrival) will not be modified by the agent. The latter makes one carsharing member reserve a carsharing vehicle. In the moment it gets deactivated, no new trip with the carsharing service will be proposed. This precaution helps the achievement of a stable state at the end of the simulation.The methods section is structured in three main parts: the first section concerns the methodology. The first subsection explains the setup of an agent-based simulator and the generation of the synthetic population using SILO and a microscopic travel demand model (MITO) [34], the second one debates the calibration method, while the third subsection explains the maximization method. The second section is dedicated to the case study and explains how the scenario is set up. It discusses the introduction of Oply’s members in the simulation and, finally, explains the framework of the two experiments that will be carried out.


#### 2.1.1. Simulation Setup

MATSim is an open-source software, written in the Java programming language, used to run large-scale agent-based transport simulations. The basic input files used by MATSim are the following:(1) Network. The network file is usually obtained by importing OSM (Open Street Map) data into JOSM (Java Open Street Map). This time, however, since we used SILO and MITO in order to generate the synthetic population that best suits our needs, we use the Munich network available in the SILO repository.(2) CSStations. A CSStations file consists of a list of all the stations and the vehicles available at the beginning of the simulation day. In our case, the station and vehicle distribution used by the company was employed.(3) Plans. A plans file (or population file) consists of a synthetic population representing the ones living in the study area, usually generated using census data.(4) Synthetic Population Generation. As an agent-based simulator, one of the MATSim fundamental inputs is the synthetic population of agents that will move in our simulated network accomplishing tasks as written in their activity chain file (i.e., plans). To generate this file, we made use of SILO and MITO. SILO produces and updates the synthetic population for the study area, i.e., the city of Munich in Germany, using geographical data available from micro census and travel times applying an iterative proportional updating algorithm [35]. The travel demand model MITO, using the synthetic persons generated in the previous phase by SILO, distributes all trips returning the plans file needed in MATSim. Using this approach and starting from the German census data of 2011, we obtained the population updated to 2020 ready to be run in MATSim. The information regarding the households for the German population is available in the 2011 Household Census [36]. The census takes place every 10 years.


#### 2.1.2. Simulation Calibration

Once we obtained the pool of members, we passed to a calibration phase in order to make the base scenario of the simulation match Oply’s performance for a given typical day. The two indicators that we needed to match in order to calibrate our simulation were: the number of bookings and daily revenue. The value of these two indicators is obtained by averaging them over a fortnight's service. The procedure chosen to carry out the calibration is an iterative bilevel calibration approach. Using a quadratic regression, two constants are iteratively estimated in order to match the number of bookings and the daily revenue.Booking Time. An average weekday of operations in Munich could reach an amount of around 130 bookings resulting in a total time of 508.5 hours (0 s). In MATSim, a booking is a function of many variables. First of all, all agents, including carsharing members, do not have carsharing as their predefined transportation mode. During every iteration, a specific “random trip to carsharing” module assigns, with a probability of 20%, the carsharing mode to a member.This means that this specific strategy prompts agents “to use the carsharing service by randomly substitute a leg mode which should not be a chain-based mode, by a carsharing mode” [37]. Additionally, another strategy called “CarsharingSubtourModeChoiceStrategy” is enabled. This strategy “changes the transportation mode of all the legs of a sub-tour to a different mode” [37], in this case, a two-way carsharing vehicle.At the end of the iteration, the scoring is calculated, and the modal choice is kept performing a multinomial logit model selection between plans. The scoring of traveling with the carsharing mode is described in (1), where αcs is a constant which can be used as a calibration parameter. The description of all the other parameters is in Table 1 and is directly taken from the MATSim manual [29]. The second and third terms refer to the time-dependent and the distance-dependent parts of the fee, respectively. The fourth term takes into account the walking path to and from the station. The latter represents the marginal utility of an additional unit of time spent traveling with the carsharing service.(1)Strav,q,cs=αcs+βc,cs∗pt∗tr+βc,cs∗pd∗d+βt,walk∗ta+te+βt,cs∗t.Table 1
Notation.
NotationDefinitionαcsCalibration parameterqActivityβc,csMarginal utility of moneypPrice of one hour of reservationtr,TrReservation time, cumulative of all reservation timespdPrice of one kilometer traveleddTotal reservation distanceβt,walkMarginal utility of walkingtaAccess timeteEgress timeβt,csMarginal utility of traveling with carsharingtIn vehicle timer,RRevenuePProfitDPotential demandQDemandSSupplyThe number of bookings is dependent on the score, which is why the Carsharing Constant (CsC) αcs is used as a calibration parameter.Daily Revenue. An average weekday of operations in Munich brings a revenue of 3500 €. The revenue is directly dependent on the booking time, given that the service price is offered as euro per unit of time. Also, the time a vehicle is booked and depends on the utility (i.e., the score) an agent gets using the carsharing service, which depends, in turn, on theCsC. That describes in what measure the cost of the carsharing impacts the users and, indirectly, modifies the final revenue.Calibration Process. The calibration process consists of a procedure in which five simulations are run in parallel with different values of theCsC.The goal of the calibration is to find aCsC that generates a total booking time similar to the one observed during Oply’s daily operations.The first step consists in running five simulations, each with a differentCsC to retrieve the booking times (Table 2).Table 2
CsC calibration phase one.
SimulationαcsBooking time (s)15.011 97227.0102 11739.0498 955411.0887 936513.02 035 090We plot these points as shown in Figure1.Figure 1
Booking Time vs CsC plot.We fit the point with two power trend lines described by the following:(2)t^r=23.85∗αcs4.423.In order to find the values of booking time we are looking for, we use the function of the power trend line to find theCsC when the booking time is of 508 hours (1828800 s). This way, we are able to find αcs = 12.7. Using this value (i.e., the CsC), we were able to get the same booking time as the prefixed target. The number of bookings does not coincide with the average number of bookings experienced by Oply. Since the calibration is done on the booking hours and not on the booking number, it is extremely unlikely to get a booking number that has an identical match since there is no one-to-one correspondence between these two elements. The revenue does not strictly depend on the number of bookings, while it does depend on the number of hours booked.


#### 2.1.3. Profit Maximization

In carsharing operations, we can calculate the profit (P) as the difference between the revenue generated renting the vehicles and all the fixed and variable costs (c) sustained by the company. Revenue (R) is the gross income generated from the business operations and, in our case, is a function of the following:(i)
Demand (Q), the number of members that will carry out a booking on a given day. It is a subgroup of the potential demand (D), all members of the carsharing service that can make a booking;(ii)
Supply (S), the number of hours we are able to sell to our customer base;(iii)
Price (p), the cost of renting a vehicle by a unit of time (i.e., rental hours).It is clear that, once the supply is fixed and the potential demand is known, different prices will lead to a different revenue that, once the fixed and the variable costs are known, will return a profit curve whereP = f(D,p). The same can be said if the potential demand is considered fixed and the supply varies. Once the fixed and the variable costs are known, we can obtain a profit curve where P = f(S,p). The two types of costs (obtained from Oply) considered are as follows:(i)
Variable costs linked to the utilization of one vehicle, including maintenance, fuel, wear of the vehicle estimated with an amount of 1.5 €/h;(ii)
Fixed costs for one vehicle, including insurance and leasing costs, estimated with an amount of 3 €/day.Following the research question stated in the introduction, we created an experimental method in order to calculate the two afore-mentioned functions (i.e.,P = f(D,p) for several D values and P = f(S,p) for several S values.


### 2.2. Case Study

#### 2.2.1. Scenario Setup

In Figure2 we show the network and the distribution of the stations. The actual offer from Oply consists of 186 vehicles (4464 equivalent rental hours) distributed along 79 stations. Oply introduces a slight modification of the round-trip system: it does not have well-defined landmarked carsharing stations, but the customers are required to return the vehicle back to the zone, or a neighborhood, where the rent started. These areas were imported in QGIS and then converted into a MATSim-readable file where vehicles for every virtual station were introduced. A virtual station, hereafter defined as a station, is a centroid representing a carsharing parking zone.Figure 2
Network and carsharing stations.Regarding the population, we have generated the equivalent of the adult population of Munich, roughly 1385000 citizens. It is computationally challenging to simulate this number of agents, running a MATSim simulation of such a population took almost 25 days. Considering that the scope of this paper is to assess indicators exclusively related to carsharing, we opted to simulate only the carsharing population, 14747 people, that is, the agents who are members of Oply in the study area. This assumption is considered reasonable given the goal already stated. Results may be limited since the use of a population smaller than the actual population of Munich will not generate any congestion at all. Simulating only the mobility choices of the sole carsharing population of Oply will not trigger phenomena related to congestion since the demand on the road will be necessarily smaller than the one for which the real network is built. To fix that, we scale down the capacity of the network. To do so, we set the parameters “flowCapacityFactor” and “storageCapacityFactor” [29] in the configuration file to 0.011. It has to be pointed out that we are not simulating the shared-car users only but the members of the carsharing service. These agents are not going to necessarily use the service but are just subscribed to it as they will always have the possibility to use different modes. Of course, to be a recipient of the “RandomTripToCarsharing” the agent needs to be a member of the carsharing service. The probability given to the strategy is conceived as a way to randomly try different mobility services and see if they can be beneficial for the agent’s score while, at the same time, not exerting an excessive load on the simulator and avoiding longer computational times. The sampling rate of this strategy is not linked to a specific type of agent, and it is not related to the type of user.


#### 2.2.2. Oply’s Members

Oply was a carsharing company operating in some major German and British cities until February 2020. Using the anonymized information of their members' database, we treated this data to fit the scope of our simulation. Using QGIS, a free and open-source geographic information system (GIS) [38], we imported the location of the agents obtained in the previous subsection. After that, we cropped down our population to the one living inside the Munich border. Once our synthetic population was ready, we imported the residence location of all members of Oply into our geographic platform. In order to be able to simulate a typical day with MATSim, we needed to infer the activity chain of these members and, moreover, we needed to make this activity chain readable by MATSim. To do this, we proceeded to apply an Iterative Linking Algorithm (ILA) (Figure 3) based on the Euclidean distance within an agent created in the previous subsection and Oply’s members. The ILA allocates one agent’s properties (drawn from the whole population set) to the closest member (e.g., The ILA assigns the home location of an agent where the closest Oply member lives) and, once done so, it deletes the agent leaving only the member with all the desired attributes.Figure 3
Example of the Iterative Linking Algorithm. (a) The agents, with their relative geographic coordinates and any attributes, are imported into the GIS software. (b) ILA searches for the agent n closest (in terms of Euclidean distance) to member m. (c) ILA assigns the attributes of agent n to member m then deletes agent n so that its attributes are not assigned to a possible memberm + i.
(a)(b)(c)This instance is repeated until all the members are embedded into the synthetic population of Munich (Figure4).Figure 4
Distribution of the synthetic population and Oply members.


#### 2.2.3. Fixing the Supply

In this experiment set, the supply is fixed for an equivalent offer of 4464 rental hours (the actual offer from Oply). In order to vary the quantity of booked hours, which is an output of the simulation, we can change the number of members creating five different inputs (Table3).Table 3
Scenarios definition for demand variation.
Scenario codeNumber of membersDifference from the original pool1194620% fewer1327310% fewer14747Original pool1622110% more1784320% moreThe supply has been distributed following the same distribution chosen by Oply. We modified the supply by adding one or two cars per station (i.e., 24 or 48 hours supply), respectively, in and , and removing one or two cars per station (when possible), respectively, in  and .). Furthermore, we introduce ten different prices (Table 4).Table 4
Price.
Price [€/h]Price [€/min]Note30.054.20.075.40.0960.1Original Oply’s pricing6.60.117.80.1390.1510.20.1711.40.19120.2The set of prices is conceived around Oply’s pricing model. Currently, Oply offers a base reservation price of 6 €/h and unlimited mileage. Combining these inputs, we obtain 50 simulations that we run in parallel on a High Performance Computing Platform (HPC) [39] using 4 cores and 40 GB for each instance.


#### 2.2.4. Fixing the Potential Demand

Keeping the same prices, we set up another experiment in which we fixed the potential demand of 14747 members while changing the supply (Table5). The supply has been distributed following the same distribution chosen by Oply.Table 5
Scenario definition for supply variation.
Scenario codeSupply (h)Supply [car]Difference from the original supply9363980% fewer256810742% fewer4464186Original supply643226846% more832834782% moreCombining these inputs with the 10 pricing values shown in Table2, we obtain 50 simulations run in parallel on the HPC using the same above-mentioned computing power.


## 2.1. Methodology

Even though carsharing has been around for quite some time, models able to fully assess its functionalities are not yet fully developed. A conventional four-step model makes use of data that is too aggregated, not allowing researchers to assess the peculiarities of a carsharing service. That is why, to appraise round-trip carsharing, an aggregated trip-based model cannot be able to reliably assess fundamental Key Performance Indicators (KPIs) such as service availability at a precise point in space and time [26], users spending, activities, service profitability, and usage during a typical business day. Taking into account the limited number of carsharing vehicles and users, a mesoscopic or microscopic simulation is possibly the most suited approach. The most popular way to apply this criterion in order to capture trends and indicators resulting from individuals’ activity travel behaviors is through agent-based modeling [27].Addressing a relocation problem, agent-based simulation was used for choosing the fleet size of a carsharing service in Texas. Comparisons of a calibrated simulation with actual data from Austin’s car2go confirm the applicability of the simulation approach, as stated in [28]. A similar approach was applied to estimate travel demand for carsharing through an activity-based microsimulation. A phase of validation against customer data of a Swiss carsharing company following the simulation was shown to be able to give plausible results in terms of overall carsharing usage [24]. The simulation of innovative transport modes with agent-based models has been proven useful because of their microscopic nature. That is, regarding carsharing, the peculiarity of the services offered can be modeled in a realistic way and can capture car availability at a given location at a given time. Among the various agent-based simulation platforms, MATSim (Multi-Agent Transport Simulation), while applicable on large-scale scenarios, is capable of providing a disaggregated representation of carsharing operations and use (i.e., single vehicle and single user level [29]). For all of the above reasons, this approach has also been used in this study.Even though the agent-based simulators offered available in the literature is relatively vast, we selected MATSim since, up to date, it is one of the few that already allows simulating carsharing services [24, 30, 31]. Its use related to the users’ activity chain and its integration with the microscopic land-use simulation system SILO (Simple Integrated Land-Use Orchestrator) [32] makes this agent-based simulator suited to our task. Carsharing in MATSim is modeled as a private car with the addition of a reservation phase and an auxiliary monetary payment [26]. At every iteration, the simulator assigns to carsharing members a carsharing leg or a carsharing subtour with a predefined probability. Thanks to this strategy, a plan with the carsharing mode is executed. At the end of the iteration, the score is evaluated and the goodness of the plan with the carsharing alternative for a specific agent is evaluated. The use of carsharing in simulation is modeled following a specific process: first of all, after having finished their activity, the agent looks for the closest car carrying out a reservation; then, they proceed to reach the station where there is the reserved vehicle by foot. The vehicle is then taken and driven towards the next activity, where the vehicle will be parked. This phase is repeated for all the activities that need to be executed until the last one, where the agent will end the rental and leave the vehicle in the same station where they picked up the vehicle. From now on, the vehicle will be available for the other agents.MATSim simulation is based on the coevolutionary principle, for which “every agent repeatedly optimizes its daily activity schedule while in competition for space-time slots with all other agents on the transportation infrastructure” [29]. That is, a MATSim simulation is based on multiple iterations of the same day with the goal of reaching a user equilibrium since the optimization is based on an individual scoring function. It should be noted that one of the fundamental properties of carsharing is the uncertainty generated by the probability of not finding an available vehicle. In reality, this would be solved with a quick replanning of the modal choice by the carsharing user. In the case of MATSim (even if it is possible to simulate the user’s adaptation to unexpected events), the user who manages to rent the vehicle at iteration i will try to keep it also in the next iterations i+1. In the event that this is not possible (e.g., another user books the same vehicle in an earlier time), the plan will be heavily penalized and the probability of reusing carsharing very low. Ultimately, it is argued that it is not necessary to represent the competition generated by the research of car sharing machines since this process is still represented by the coevolutionary process integrated in MATSim [33]. One of the features of this simulator is that agents have memory. In this case, every agent can remember up to five different plans and choose among them at the end of every iteration using a logit model as a decisional model. In case agents do not find a car in one iteration and then find it in the next one, they will try to keep the plan with the best score. Here, there are two rules involved: first-come, first-served, and scoring maximization. If an agent n finds the car in iteration I, they can carry out their activities. In the moment they do not find a car anymore at iteration i+1, they will not carry out their activities. This means that a low score will be assigned to the agent that, in the future, will change their mode of transport. In the end, if an agent finds a vehicle in a prior iteration, it will receive a certain score. If in the following iteration it does not find any vehicle (meaning that someone already took it), it will receive a low score since it cannot carry out their activities. Since MATSim as a whole tends to evolve to a stable state, and given the fact that the first-come, first-served behavior could lead to problems in reaching this stability at the last iterations, we set up specific strategies to guarantee convergence. MATSim strategies can be deactivated when the simulation reaches a specific iteration. In order to reach a stable state when carsharing is simulated, it is important to deactivate (in case they have been activated by the user) two specific strategies towards the end of the simulation: TimeAllocationMutator and RandomTripToCarsharingStrategy. The former introduces a time shift that, in the moment, is deactivated will guarantee that times (departure, arrival) will not be modified by the agent. The latter makes one carsharing member reserve a carsharing vehicle. In the moment it gets deactivated, no new trip with the carsharing service will be proposed. This precaution helps the achievement of a stable state at the end of the simulation.The methods section is structured in three main parts: the first section concerns the methodology. The first subsection explains the setup of an agent-based simulator and the generation of the synthetic population using SILO and a microscopic travel demand model (MITO) [34], the second one debates the calibration method, while the third subsection explains the maximization method. The second section is dedicated to the case study and explains how the scenario is set up. It discusses the introduction of Oply’s members in the simulation and, finally, explains the framework of the two experiments that will be carried out.


### 2.1.1. Simulation Setup

MATSim is an open-source software, written in the Java programming language, used to run large-scale agent-based transport simulations. The basic input files used by MATSim are the following:(1) Network. The network file is usually obtained by importing OSM (Open Street Map) data into JOSM (Java Open Street Map). This time, however, since we used SILO and MITO in order to generate the synthetic population that best suits our needs, we use the Munich network available in the SILO repository.(2) CSStations. A CSStations file consists of a list of all the stations and the vehicles available at the beginning of the simulation day. In our case, the station and vehicle distribution used by the company was employed.(3) Plans. A plans file (or population file) consists of a synthetic population representing the ones living in the study area, usually generated using census data.(4) Synthetic Population Generation. As an agent-based simulator, one of the MATSim fundamental inputs is the synthetic population of agents that will move in our simulated network accomplishing tasks as written in their activity chain file (i.e., plans). To generate this file, we made use of SILO and MITO. SILO produces and updates the synthetic population for the study area, i.e., the city of Munich in Germany, using geographical data available from micro census and travel times applying an iterative proportional updating algorithm [35]. The travel demand model MITO, using the synthetic persons generated in the previous phase by SILO, distributes all trips returning the plans file needed in MATSim. Using this approach and starting from the German census data of 2011, we obtained the population updated to 2020 ready to be run in MATSim. The information regarding the households for the German population is available in the 2011 Household Census [36]. The census takes place every 10 years.


### 2.1.2. Simulation Calibration

Once we obtained the pool of members, we passed to a calibration phase in order to make the base scenario of the simulation match Oply’s performance for a given typical day. The two indicators that we needed to match in order to calibrate our simulation were: the number of bookings and daily revenue. The value of these two indicators is obtained by averaging them over a fortnight's service. The procedure chosen to carry out the calibration is an iterative bilevel calibration approach. Using a quadratic regression, two constants are iteratively estimated in order to match the number of bookings and the daily revenue.Booking Time. An average weekday of operations in Munich could reach an amount of around 130 bookings resulting in a total time of 508.5 hours (0 s). In MATSim, a booking is a function of many variables. First of all, all agents, including carsharing members, do not have carsharing as their predefined transportation mode. During every iteration, a specific “random trip to carsharing” module assigns, with a probability of 20%, the carsharing mode to a member.This means that this specific strategy prompts agents “to use the carsharing service by randomly substitute a leg mode which should not be a chain-based mode, by a carsharing mode” [37]. Additionally, another strategy called “CarsharingSubtourModeChoiceStrategy” is enabled. This strategy “changes the transportation mode of all the legs of a sub-tour to a different mode” [37], in this case, a two-way carsharing vehicle.At the end of the iteration, the scoring is calculated, and the modal choice is kept performing a multinomial logit model selection between plans. The scoring of traveling with the carsharing mode is described in (1), where αcs is a constant which can be used as a calibration parameter. The description of all the other parameters is in Table 1 and is directly taken from the MATSim manual [29]. The second and third terms refer to the time-dependent and the distance-dependent parts of the fee, respectively. The fourth term takes into account the walking path to and from the station. The latter represents the marginal utility of an additional unit of time spent traveling with the carsharing service.(1)Strav,q,cs=αcs+βc,cs∗pt∗tr+βc,cs∗pd∗d+βt,walk∗ta+te+βt,cs∗t.Table 1
Notation.
NotationDefinitionαcsCalibration parameterqActivityβc,csMarginal utility of moneypPrice of one hour of reservationtr,TrReservation time, cumulative of all reservation timespdPrice of one kilometer traveleddTotal reservation distanceβt,walkMarginal utility of walkingtaAccess timeteEgress timeβt,csMarginal utility of traveling with carsharingtIn vehicle timer,RRevenuePProfitDPotential demandQDemandSSupplyThe number of bookings is dependent on the score, which is why the Carsharing Constant (CsC) αcs is used as a calibration parameter.Daily Revenue. An average weekday of operations in Munich brings a revenue of 3500 €. The revenue is directly dependent on the booking time, given that the service price is offered as euro per unit of time. Also, the time a vehicle is booked and depends on the utility (i.e., the score) an agent gets using the carsharing service, which depends, in turn, on theCsC. That describes in what measure the cost of the carsharing impacts the users and, indirectly, modifies the final revenue.Calibration Process. The calibration process consists of a procedure in which five simulations are run in parallel with different values of theCsC.The goal of the calibration is to find aCsC that generates a total booking time similar to the one observed during Oply’s daily operations.The first step consists in running five simulations, each with a differentCsC to retrieve the booking times (Table 2).Table 2
CsC calibration phase one.
SimulationαcsBooking time (s)15.011 97227.0102 11739.0498 955411.0887 936513.02 035 090We plot these points as shown in Figure1.Figure 1
Booking Time vs CsC plot.We fit the point with two power trend lines described by the following:(2)t^r=23.85∗αcs4.423.In order to find the values of booking time we are looking for, we use the function of the power trend line to find theCsC when the booking time is of 508 hours (1828800 s). This way, we are able to find αcs = 12.7. Using this value (i.e., the CsC), we were able to get the same booking time as the prefixed target. The number of bookings does not coincide with the average number of bookings experienced by Oply. Since the calibration is done on the booking hours and not on the booking number, it is extremely unlikely to get a booking number that has an identical match since there is no one-to-one correspondence between these two elements. The revenue does not strictly depend on the number of bookings, while it does depend on the number of hours booked.


### 2.1.3. Profit Maximization

In carsharing operations, we can calculate the profit (P) as the difference between the revenue generated renting the vehicles and all the fixed and variable costs (c) sustained by the company. Revenue (R) is the gross income generated from the business operations and, in our case, is a function of the following:(i)
Demand (Q), the number of members that will carry out a booking on a given day. It is a subgroup of the potential demand (D), all members of the carsharing service that can make a booking;(ii)
Supply (S), the number of hours we are able to sell to our customer base;(iii)
Price (p), the cost of renting a vehicle by a unit of time (i.e., rental hours).It is clear that, once the supply is fixed and the potential demand is known, different prices will lead to a different revenue that, once the fixed and the variable costs are known, will return a profit curve whereP = f(D,p). The same can be said if the potential demand is considered fixed and the supply varies. Once the fixed and the variable costs are known, we can obtain a profit curve where P = f(S,p). The two types of costs (obtained from Oply) considered are as follows:(i)
Variable costs linked to the utilization of one vehicle, including maintenance, fuel, wear of the vehicle estimated with an amount of 1.5 €/h;(ii)
Fixed costs for one vehicle, including insurance and leasing costs, estimated with an amount of 3 €/day.Following the research question stated in the introduction, we created an experimental method in order to calculate the two afore-mentioned functions (i.e.,P = f(D,p) for several D values and P = f(S,p) for several S values.


## 2.1.1. Simulation Setup

MATSim is an open-source software, written in the Java programming language, used to run large-scale agent-based transport simulations. The basic input files used by MATSim are the following:(1) Network. The network file is usually obtained by importing OSM (Open Street Map) data into JOSM (Java Open Street Map). This time, however, since we used SILO and MITO in order to generate the synthetic population that best suits our needs, we use the Munich network available in the SILO repository.(2) CSStations. A CSStations file consists of a list of all the stations and the vehicles available at the beginning of the simulation day. In our case, the station and vehicle distribution used by the company was employed.(3) Plans. A plans file (or population file) consists of a synthetic population representing the ones living in the study area, usually generated using census data.(4) Synthetic Population Generation. As an agent-based simulator, one of the MATSim fundamental inputs is the synthetic population of agents that will move in our simulated network accomplishing tasks as written in their activity chain file (i.e., plans). To generate this file, we made use of SILO and MITO. SILO produces and updates the synthetic population for the study area, i.e., the city of Munich in Germany, using geographical data available from micro census and travel times applying an iterative proportional updating algorithm [35]. The travel demand model MITO, using the synthetic persons generated in the previous phase by SILO, distributes all trips returning the plans file needed in MATSim. Using this approach and starting from the German census data of 2011, we obtained the population updated to 2020 ready to be run in MATSim. The information regarding the households for the German population is available in the 2011 Household Census [36]. The census takes place every 10 years.


## 2.1.2. Simulation Calibration

Once we obtained the pool of members, we passed to a calibration phase in order to make the base scenario of the simulation match Oply’s performance for a given typical day. The two indicators that we needed to match in order to calibrate our simulation were: the number of bookings and daily revenue. The value of these two indicators is obtained by averaging them over a fortnight's service. The procedure chosen to carry out the calibration is an iterative bilevel calibration approach. Using a quadratic regression, two constants are iteratively estimated in order to match the number of bookings and the daily revenue.Booking Time. An average weekday of operations in Munich could reach an amount of around 130 bookings resulting in a total time of 508.5 hours (0 s). In MATSim, a booking is a function of many variables. First of all, all agents, including carsharing members, do not have carsharing as their predefined transportation mode. During every iteration, a specific “random trip to carsharing” module assigns, with a probability of 20%, the carsharing mode to a member.This means that this specific strategy prompts agents “to use the carsharing service by randomly substitute a leg mode which should not be a chain-based mode, by a carsharing mode” [37]. Additionally, another strategy called “CarsharingSubtourModeChoiceStrategy” is enabled. This strategy “changes the transportation mode of all the legs of a sub-tour to a different mode” [37], in this case, a two-way carsharing vehicle.At the end of the iteration, the scoring is calculated, and the modal choice is kept performing a multinomial logit model selection between plans. The scoring of traveling with the carsharing mode is described in (1), where αcs is a constant which can be used as a calibration parameter. The description of all the other parameters is in Table 1 and is directly taken from the MATSim manual [29]. The second and third terms refer to the time-dependent and the distance-dependent parts of the fee, respectively. The fourth term takes into account the walking path to and from the station. The latter represents the marginal utility of an additional unit of time spent traveling with the carsharing service.(1)Strav,q,cs=αcs+βc,cs∗pt∗tr+βc,cs∗pd∗d+βt,walk∗ta+te+βt,cs∗t.Table 1
Notation.
NotationDefinitionαcsCalibration parameterqActivityβc,csMarginal utility of moneypPrice of one hour of reservationtr,TrReservation time, cumulative of all reservation timespdPrice of one kilometer traveleddTotal reservation distanceβt,walkMarginal utility of walkingtaAccess timeteEgress timeβt,csMarginal utility of traveling with carsharingtIn vehicle timer,RRevenuePProfitDPotential demandQDemandSSupplyThe number of bookings is dependent on the score, which is why the Carsharing Constant (CsC) αcs is used as a calibration parameter.Daily Revenue. An average weekday of operations in Munich brings a revenue of 3500 €. The revenue is directly dependent on the booking time, given that the service price is offered as euro per unit of time. Also, the time a vehicle is booked and depends on the utility (i.e., the score) an agent gets using the carsharing service, which depends, in turn, on theCsC. That describes in what measure the cost of the carsharing impacts the users and, indirectly, modifies the final revenue.Calibration Process. The calibration process consists of a procedure in which five simulations are run in parallel with different values of theCsC.The goal of the calibration is to find aCsC that generates a total booking time similar to the one observed during Oply’s daily operations.The first step consists in running five simulations, each with a differentCsC to retrieve the booking times (Table 2).Table 2
CsC calibration phase one.
SimulationαcsBooking time (s)15.011 97227.0102 11739.0498 955411.0887 936513.02 035 090We plot these points as shown in Figure1.Figure 1
Booking Time vs CsC plot.We fit the point with two power trend lines described by the following:(2)t^r=23.85∗αcs4.423.In order to find the values of booking time we are looking for, we use the function of the power trend line to find theCsC when the booking time is of 508 hours (1828800 s). This way, we are able to find αcs = 12.7. Using this value (i.e., the CsC), we were able to get the same booking time as the prefixed target. The number of bookings does not coincide with the average number of bookings experienced by Oply. Since the calibration is done on the booking hours and not on the booking number, it is extremely unlikely to get a booking number that has an identical match since there is no one-to-one correspondence between these two elements. The revenue does not strictly depend on the number of bookings, while it does depend on the number of hours booked.


## 2.1.3. Profit Maximization

In carsharing operations, we can calculate the profit (P) as the difference between the revenue generated renting the vehicles and all the fixed and variable costs (c) sustained by the company. Revenue (R) is the gross income generated from the business operations and, in our case, is a function of the following:(i)
Demand (Q), the number of members that will carry out a booking on a given day. It is a subgroup of the potential demand (D), all members of the carsharing service that can make a booking;(ii)
Supply (S), the number of hours we are able to sell to our customer base;(iii)
Price (p), the cost of renting a vehicle by a unit of time (i.e., rental hours).It is clear that, once the supply is fixed and the potential demand is known, different prices will lead to a different revenue that, once the fixed and the variable costs are known, will return a profit curve whereP = f(D,p). The same can be said if the potential demand is considered fixed and the supply varies. Once the fixed and the variable costs are known, we can obtain a profit curve where P = f(S,p). The two types of costs (obtained from Oply) considered are as follows:(i)
Variable costs linked to the utilization of one vehicle, including maintenance, fuel, wear of the vehicle estimated with an amount of 1.5 €/h;(ii)
Fixed costs for one vehicle, including insurance and leasing costs, estimated with an amount of 3 €/day.Following the research question stated in the introduction, we created an experimental method in order to calculate the two afore-mentioned functions (i.e.,P = f(D,p) for several D values and P = f(S,p) for several S values.


## 2.2. Case Study

### 2.2.1. Scenario Setup

In Figure2 we show the network and the distribution of the stations. The actual offer from Oply consists of 186 vehicles (4464 equivalent rental hours) distributed along 79 stations. Oply introduces a slight modification of the round-trip system: it does not have well-defined landmarked carsharing stations, but the customers are required to return the vehicle back to the zone, or a neighborhood, where the rent started. These areas were imported in QGIS and then converted into a MATSim-readable file where vehicles for every virtual station were introduced. A virtual station, hereafter defined as a station, is a centroid representing a carsharing parking zone.Figure 2
Network and carsharing stations.Regarding the population, we have generated the equivalent of the adult population of Munich, roughly 1385000 citizens. It is computationally challenging to simulate this number of agents, running a MATSim simulation of such a population took almost 25 days. Considering that the scope of this paper is to assess indicators exclusively related to carsharing, we opted to simulate only the carsharing population, 14747 people, that is, the agents who are members of Oply in the study area. This assumption is considered reasonable given the goal already stated. Results may be limited since the use of a population smaller than the actual population of Munich will not generate any congestion at all. Simulating only the mobility choices of the sole carsharing population of Oply will not trigger phenomena related to congestion since the demand on the road will be necessarily smaller than the one for which the real network is built. To fix that, we scale down the capacity of the network. To do so, we set the parameters “flowCapacityFactor” and “storageCapacityFactor” [29] in the configuration file to 0.011. It has to be pointed out that we are not simulating the shared-car users only but the members of the carsharing service. These agents are not going to necessarily use the service but are just subscribed to it as they will always have the possibility to use different modes. Of course, to be a recipient of the “RandomTripToCarsharing” the agent needs to be a member of the carsharing service. The probability given to the strategy is conceived as a way to randomly try different mobility services and see if they can be beneficial for the agent’s score while, at the same time, not exerting an excessive load on the simulator and avoiding longer computational times. The sampling rate of this strategy is not linked to a specific type of agent, and it is not related to the type of user.


### 2.2.2. Oply’s Members

Oply was a carsharing company operating in some major German and British cities until February 2020. Using the anonymized information of their members' database, we treated this data to fit the scope of our simulation. Using QGIS, a free and open-source geographic information system (GIS) [38], we imported the location of the agents obtained in the previous subsection. After that, we cropped down our population to the one living inside the Munich border. Once our synthetic population was ready, we imported the residence location of all members of Oply into our geographic platform. In order to be able to simulate a typical day with MATSim, we needed to infer the activity chain of these members and, moreover, we needed to make this activity chain readable by MATSim. To do this, we proceeded to apply an Iterative Linking Algorithm (ILA) (Figure 3) based on the Euclidean distance within an agent created in the previous subsection and Oply’s members. The ILA allocates one agent’s properties (drawn from the whole population set) to the closest member (e.g., The ILA assigns the home location of an agent where the closest Oply member lives) and, once done so, it deletes the agent leaving only the member with all the desired attributes.Figure 3
Example of the Iterative Linking Algorithm. (a) The agents, with their relative geographic coordinates and any attributes, are imported into the GIS software. (b) ILA searches for the agent n closest (in terms of Euclidean distance) to member m. (c) ILA assigns the attributes of agent n to member m then deletes agent n so that its attributes are not assigned to a possible memberm + i.
(a)(b)(c)This instance is repeated until all the members are embedded into the synthetic population of Munich (Figure4).Figure 4
Distribution of the synthetic population and Oply members.


### 2.2.3. Fixing the Supply

In this experiment set, the supply is fixed for an equivalent offer of 4464 rental hours (the actual offer from Oply). In order to vary the quantity of booked hours, which is an output of the simulation, we can change the number of members creating five different inputs (Table3).Table 3
Scenarios definition for demand variation.
Scenario codeNumber of membersDifference from the original pool1194620% fewer1327310% fewer14747Original pool1622110% more1784320% moreThe supply has been distributed following the same distribution chosen by Oply. We modified the supply by adding one or two cars per station (i.e., 24 or 48 hours supply), respectively, in and , and removing one or two cars per station (when possible), respectively, in  and .). Furthermore, we introduce ten different prices (Table 4).Table 4
Price.
Price [€/h]Price [€/min]Note30.054.20.075.40.0960.1Original Oply’s pricing6.60.117.80.1390.1510.20.1711.40.19120.2The set of prices is conceived around Oply’s pricing model. Currently, Oply offers a base reservation price of 6 €/h and unlimited mileage. Combining these inputs, we obtain 50 simulations that we run in parallel on a High Performance Computing Platform (HPC) [39] using 4 cores and 40 GB for each instance.


### 2.2.4. Fixing the Potential Demand

Keeping the same prices, we set up another experiment in which we fixed the potential demand of 14747 members while changing the supply (Table5). The supply has been distributed following the same distribution chosen by Oply.Table 5
Scenario definition for supply variation.
Scenario codeSupply (h)Supply [car]Difference from the original supply9363980% fewer256810742% fewer4464186Original supply643226846% more832834782% moreCombining these inputs with the 10 pricing values shown in Table2, we obtain 50 simulations run in parallel on the HPC using the same above-mentioned computing power.


## 2.2.1. Scenario Setup

In Figure2 we show the network and the distribution of the stations. The actual offer from Oply consists of 186 vehicles (4464 equivalent rental hours) distributed along 79 stations. Oply introduces a slight modification of the round-trip system: it does not have well-defined landmarked carsharing stations, but the customers are required to return the vehicle back to the zone, or a neighborhood, where the rent started. These areas were imported in QGIS and then converted into a MATSim-readable file where vehicles for every virtual station were introduced. A virtual station, hereafter defined as a station, is a centroid representing a carsharing parking zone.Figure 2
Network and carsharing stations.Regarding the population, we have generated the equivalent of the adult population of Munich, roughly 1385000 citizens. It is computationally challenging to simulate this number of agents, running a MATSim simulation of such a population took almost 25 days. Considering that the scope of this paper is to assess indicators exclusively related to carsharing, we opted to simulate only the carsharing population, 14747 people, that is, the agents who are members of Oply in the study area. This assumption is considered reasonable given the goal already stated. Results may be limited since the use of a population smaller than the actual population of Munich will not generate any congestion at all. Simulating only the mobility choices of the sole carsharing population of Oply will not trigger phenomena related to congestion since the demand on the road will be necessarily smaller than the one for which the real network is built. To fix that, we scale down the capacity of the network. To do so, we set the parameters “flowCapacityFactor” and “storageCapacityFactor” [29] in the configuration file to 0.011. It has to be pointed out that we are not simulating the shared-car users only but the members of the carsharing service. These agents are not going to necessarily use the service but are just subscribed to it as they will always have the possibility to use different modes. Of course, to be a recipient of the “RandomTripToCarsharing” the agent needs to be a member of the carsharing service. The probability given to the strategy is conceived as a way to randomly try different mobility services and see if they can be beneficial for the agent’s score while, at the same time, not exerting an excessive load on the simulator and avoiding longer computational times. The sampling rate of this strategy is not linked to a specific type of agent, and it is not related to the type of user.


## 2.2.2. Oply’s Members

Oply was a carsharing company operating in some major German and British cities until February 2020. Using the anonymized information of their members' database, we treated this data to fit the scope of our simulation. Using QGIS, a free and open-source geographic information system (GIS) [38], we imported the location of the agents obtained in the previous subsection. After that, we cropped down our population to the one living inside the Munich border. Once our synthetic population was ready, we imported the residence location of all members of Oply into our geographic platform. In order to be able to simulate a typical day with MATSim, we needed to infer the activity chain of these members and, moreover, we needed to make this activity chain readable by MATSim. To do this, we proceeded to apply an Iterative Linking Algorithm (ILA) (Figure 3) based on the Euclidean distance within an agent created in the previous subsection and Oply’s members. The ILA allocates one agent’s properties (drawn from the whole population set) to the closest member (e.g., The ILA assigns the home location of an agent where the closest Oply member lives) and, once done so, it deletes the agent leaving only the member with all the desired attributes.Figure 3
Example of the Iterative Linking Algorithm. (a) The agents, with their relative geographic coordinates and any attributes, are imported into the GIS software. (b) ILA searches for the agent n closest (in terms of Euclidean distance) to member m. (c) ILA assigns the attributes of agent n to member m then deletes agent n so that its attributes are not assigned to a possible memberm + i.
(a)(b)(c)This instance is repeated until all the members are embedded into the synthetic population of Munich (Figure4).Figure 4
Distribution of the synthetic population and Oply members.


## 2.2.3. Fixing the Supply

In this experiment set, the supply is fixed for an equivalent offer of 4464 rental hours (the actual offer from Oply). In order to vary the quantity of booked hours, which is an output of the simulation, we can change the number of members creating five different inputs (Table3).Table 3
Scenarios definition for demand variation.
Scenario codeNumber of membersDifference from the original pool1194620% fewer1327310% fewer14747Original pool1622110% more1784320% moreThe supply has been distributed following the same distribution chosen by Oply. We modified the supply by adding one or two cars per station (i.e., 24 or 48 hours supply), respectively, in and , and removing one or two cars per station (when possible), respectively, in  and .). Furthermore, we introduce ten different prices (Table 4).Table 4
Price.
Price [€/h]Price [€/min]Note30.054.20.075.40.0960.1Original Oply’s pricing6.60.117.80.1390.1510.20.1711.40.19120.2The set of prices is conceived around Oply’s pricing model. Currently, Oply offers a base reservation price of 6 €/h and unlimited mileage. Combining these inputs, we obtain 50 simulations that we run in parallel on a High Performance Computing Platform (HPC) [39] using 4 cores and 40 GB for each instance.


## 2.2.4. Fixing the Potential Demand

Keeping the same prices, we set up another experiment in which we fixed the potential demand of 14747 members while changing the supply (Table5). The supply has been distributed following the same distribution chosen by Oply.Table 5
Scenario definition for supply variation.
Scenario codeSupply (h)Supply [car]Difference from the original supply9363980% fewer256810742% fewer4464186Original supply643226846% more832834782% moreCombining these inputs with the 10 pricing values shown in Table2, we obtain 50 simulations run in parallel on the HPC using the same above-mentioned computing power.


## 3. Results

The average computational time for every simulation, which consists of 500 iterations, is of 32 hours. Once the results are obtained, they are processed with MATLAB and gathered in a spreadsheet.


### 3.1. Fixing the Supply

Once the supply has been fixed and the number of members is varied according to Table3, we evaluate the revenue and the profit reached for every set of simulations (Figure 5).Figure 5
Revenue and profit by potential demand variation.It is noticeable how the shape of the profit function is not significantly affected by the variation of the potential demand. All the maximum points are always around 2000€. This result is reasonable and possibly caused by the fact that the potential demand is not varying significantly even though the range considered, especially the 3000 members of the difference between the actual and the highest increment in the number of members, cannot be considered modest. This means that it could still be possible that with a greater increment of members, an increment in profit could still be reached; however, an increment of 3000 members for a carsharing service is not trivial and, especially in reality, would be met with a different supply than the one used in this paper. Of course, this result is also related to the equilibrium reached with the available supply and even though a few more vehicles are rented, the marginal profit does not vary significantly as the additional number of members is not compensating the increase in operational costs.In order to further assess the trend of the profit once the number of members varies, we show in Figure6 the profit curve in the function of the potential demand and the price offered.Figure 6
Dual perspective of profit as a function of the potential demand and price variation.The maximum profit is always reached when the price is between 5.4 €/h and 6 €/h. Anyway, for what concerns the profile of the surface, the profit slightly depends on the swing of the potential demand. The peak in the middle of the crest makes it clear that there is not a monotonic correlation. This makes it difficult to formalize a function that describes the relation between the two variables.In Figure7, we display the elasticity of the demand and how the amount of booking time (i.e., the total hours for which the fleet is booked) is not affected by the different quantities of members.Figure 7
Demand elasticity.This specific shape of Figure7 it is plausibly a result of the method used to create more demand. The members generated to increase Oply’s customer base are randomly spawned in the Munich area and linked to the closest agent following the procedure shown in paragraph 2.2.2.


### 3.2. Fixing the Potential Demand

Once the number of members is fixed and the supply is varied according to Table5, we assess the revenue and the profit generated for every set of simulations (Figure 8).Figure 8
Revenue and profit by supply variation.Looking at how the diagrams change while the supply increase, it is clear how the profit is strongly affected by the change of the supply. Scaling up the supply generates an increment of the revenue. This hints to a stronger relationship between these two variables (profit and supply) if compared to the relation of the variables shown above in the previous paragraph (profit and potential demand)”. In Figure9 we show the profit curve in the function of the supply and the price offered.The maximum profit is always reached when the price is between 5.4 €/h and 7.8 €/h. In this case, concerning the profile of the surface, the profit has a stronger dependence on the amount of supply offered, and it does not change only in function of the price. Given the monotonic shape of the crest, we assess the relation between the two variables (supply and profit) in a bidimensional space (Figure10). This is done using the price that allows reaching the maximum profit.Figure 9
Profit in function of supply and price variation.Figure 10
Linear regression of the profit in function of the supply.By performing a simple linear regression, it is possible to model the relationship between the dependent variable, the profit, and the explanatory variable, the supply. This model shows how every hour of supply offered generates a profit of 0.40 €. However, the prices that are generated by this line are various, as shown in Figure9. That is why to show how the unitary profit changes throughout all the stages of the supply, we show the maximum profit divided by the total number of hours supplied (Figure 11).Figure 11
Profit gained for one hour of service offered.The trend of the marginal profit shown in Figure11 is less than linear. An explanation of this behavior can be found in the overall usage rate. The usage rate (Figure 12), which is obtained as the ratio between the total amount of hours booked when the profit is the highest and the number of hours supplied in the same simulation.Figure 12
Usage rate.In these last three figures, we see that the supply increases and together with it, the demand increases. The potential demand, on the contrary, remains the same. For this reason, at some point, the profit per hour sold will decrease with increasing supply. In the presented cases, not all vehicle hours are sold and the demand grows slower than the supply. This is why the usage rate varies this way (Figure13). We can see that the marginal profit (Figure 12) has a slower growth compared to the net profit (Figure 11) because the hours sold have a slower increment rate than the proposed hours (as can be seen by the decrease in Figure 13). These extreme cases are not shown because of the connection with the realistic existing carsharing supplier (the ratio between demand and supply is limited as the catchment area remains the same).”Figure 13
Demand elasticity.The decrease in the overall usage rate explains the less than linear growth of the marginal profit. Along with the increment of the supply and profit, the demand intercepted by the service moves towards an inelastic state, the usage drops since only people that must travel with the carsharing will use the service (i.e., all the people that could not complete their activity chain without carsharing).In Figure13, we display the elasticity of the demand once the supply varies. The three-dimensional graph in Figure 13 left displays the elasticity of the demand in a continuous fashion, while the right figure shows its projection on the price-booking time plan. The five functions can be considered homothetic with the elasticity of the demand decreasing together with the supply: a lower supply intercepts an inelastic demand while a higher amount of supply induces a strong elastic demand intercepted for a price lower than 8 €/h and a less elastic demand intercepted for a price higher than that.Being the profit function of both the supply and the price offered, we fit the data shown in Figure10 as a three-dimensional surface (Figure 14).Figure 14
Three-dimensional plane of Profit-Supply‐Price.Once the points of maximum profit are connected using a polynomial fitting function, we obtained a concave surface. With the use of this figure, it is possible to define the highest profit reachable for any given price once the supply is given. Through a quadratic interpolation, we define the model in (3) for p ∈ [5.4, 7.8] (that is, the range where the maximum profit was observed) and S ∈ [936, 8328](3)Pp,S=−60.29p2+739.9p−2287+S0.027p+0.194,where P is the profit, p is the price proposed per hour of service, and S is the supply expressed in the number of hours. Once the supply that can be offered is known, given the concave shape of the surface, it is possible to define the price solving (3) as an optimization problem as shown in the following equation:(4)maxPp5.4≤p≤7.8∉h.SinceS is known at the moment of the booking, we treated it as an “undefined constant” in order to identify the line of maximum profit. We evaluate all the points where the derivative is equal to zero.We calculate the first derivative which is set to zero in order to obtain the line of maximum profit as shown in the following equation:(5)dPdp=−120.52p+0.027S+739.9=0.In (6), we obtained the maximum profit line and in Figure 15 it is shown the corresponding curve for p∈ [5.4, 7.8] and S ∈ [936, 8328].(6)p=0.027S+739.9120.52=0.00022S+6.13.Figure 15
Line of maximum profit.The functional form here proposed links a state of the supply to a specific price. Given the specificity of the application, the equation is valid only for the scanned region of supply comprised between 936 and 8328 hours. The result can be applied by a carsharing company in two different ways:(i)
Every time a vehicle is requested, the company scans its fleet, retrieves the number of hours that can be offered (i.e., determines the remaining supply), and offers the price that leads to the maximum profit.(ii)
Know how and how much the price should change if new vehicles are introduced or removed from their fleet.


## 3.1. Fixing the Supply

Once the supply has been fixed and the number of members is varied according to Table3, we evaluate the revenue and the profit reached for every set of simulations (Figure 5).Figure 5
Revenue and profit by potential demand variation.It is noticeable how the shape of the profit function is not significantly affected by the variation of the potential demand. All the maximum points are always around 2000€. This result is reasonable and possibly caused by the fact that the potential demand is not varying significantly even though the range considered, especially the 3000 members of the difference between the actual and the highest increment in the number of members, cannot be considered modest. This means that it could still be possible that with a greater increment of members, an increment in profit could still be reached; however, an increment of 3000 members for a carsharing service is not trivial and, especially in reality, would be met with a different supply than the one used in this paper. Of course, this result is also related to the equilibrium reached with the available supply and even though a few more vehicles are rented, the marginal profit does not vary significantly as the additional number of members is not compensating the increase in operational costs.In order to further assess the trend of the profit once the number of members varies, we show in Figure6 the profit curve in the function of the potential demand and the price offered.Figure 6
Dual perspective of profit as a function of the potential demand and price variation.The maximum profit is always reached when the price is between 5.4 €/h and 6 €/h. Anyway, for what concerns the profile of the surface, the profit slightly depends on the swing of the potential demand. The peak in the middle of the crest makes it clear that there is not a monotonic correlation. This makes it difficult to formalize a function that describes the relation between the two variables.In Figure7, we display the elasticity of the demand and how the amount of booking time (i.e., the total hours for which the fleet is booked) is not affected by the different quantities of members.Figure 7
Demand elasticity.This specific shape of Figure7 it is plausibly a result of the method used to create more demand. The members generated to increase Oply’s customer base are randomly spawned in the Munich area and linked to the closest agent following the procedure shown in paragraph 2.2.2.


## 3.2. Fixing the Potential Demand

Once the number of members is fixed and the supply is varied according to Table5, we assess the revenue and the profit generated for every set of simulations (Figure 8).Figure 8
Revenue and profit by supply variation.Looking at how the diagrams change while the supply increase, it is clear how the profit is strongly affected by the change of the supply. Scaling up the supply generates an increment of the revenue. This hints to a stronger relationship between these two variables (profit and supply) if compared to the relation of the variables shown above in the previous paragraph (profit and potential demand)”. In Figure9 we show the profit curve in the function of the supply and the price offered.The maximum profit is always reached when the price is between 5.4 €/h and 7.8 €/h. In this case, concerning the profile of the surface, the profit has a stronger dependence on the amount of supply offered, and it does not change only in function of the price. Given the monotonic shape of the crest, we assess the relation between the two variables (supply and profit) in a bidimensional space (Figure10). This is done using the price that allows reaching the maximum profit.Figure 9
Profit in function of supply and price variation.Figure 10
Linear regression of the profit in function of the supply.By performing a simple linear regression, it is possible to model the relationship between the dependent variable, the profit, and the explanatory variable, the supply. This model shows how every hour of supply offered generates a profit of 0.40 €. However, the prices that are generated by this line are various, as shown in Figure9. That is why to show how the unitary profit changes throughout all the stages of the supply, we show the maximum profit divided by the total number of hours supplied (Figure 11).Figure 11
Profit gained for one hour of service offered.The trend of the marginal profit shown in Figure11 is less than linear. An explanation of this behavior can be found in the overall usage rate. The usage rate (Figure 12), which is obtained as the ratio between the total amount of hours booked when the profit is the highest and the number of hours supplied in the same simulation.Figure 12
Usage rate.In these last three figures, we see that the supply increases and together with it, the demand increases. The potential demand, on the contrary, remains the same. For this reason, at some point, the profit per hour sold will decrease with increasing supply. In the presented cases, not all vehicle hours are sold and the demand grows slower than the supply. This is why the usage rate varies this way (Figure13). We can see that the marginal profit (Figure 12) has a slower growth compared to the net profit (Figure 11) because the hours sold have a slower increment rate than the proposed hours (as can be seen by the decrease in Figure 13). These extreme cases are not shown because of the connection with the realistic existing carsharing supplier (the ratio between demand and supply is limited as the catchment area remains the same).”Figure 13
Demand elasticity.The decrease in the overall usage rate explains the less than linear growth of the marginal profit. Along with the increment of the supply and profit, the demand intercepted by the service moves towards an inelastic state, the usage drops since only people that must travel with the carsharing will use the service (i.e., all the people that could not complete their activity chain without carsharing).In Figure13, we display the elasticity of the demand once the supply varies. The three-dimensional graph in Figure 13 left displays the elasticity of the demand in a continuous fashion, while the right figure shows its projection on the price-booking time plan. The five functions can be considered homothetic with the elasticity of the demand decreasing together with the supply: a lower supply intercepts an inelastic demand while a higher amount of supply induces a strong elastic demand intercepted for a price lower than 8 €/h and a less elastic demand intercepted for a price higher than that.Being the profit function of both the supply and the price offered, we fit the data shown in Figure10 as a three-dimensional surface (Figure 14).Figure 14
Three-dimensional plane of Profit-Supply‐Price.Once the points of maximum profit are connected using a polynomial fitting function, we obtained a concave surface. With the use of this figure, it is possible to define the highest profit reachable for any given price once the supply is given. Through a quadratic interpolation, we define the model in (3) for p ∈ [5.4, 7.8] (that is, the range where the maximum profit was observed) and S ∈ [936, 8328](3)Pp,S=−60.29p2+739.9p−2287+S0.027p+0.194,where P is the profit, p is the price proposed per hour of service, and S is the supply expressed in the number of hours. Once the supply that can be offered is known, given the concave shape of the surface, it is possible to define the price solving (3) as an optimization problem as shown in the following equation:(4)maxPp5.4≤p≤7.8∉h.SinceS is known at the moment of the booking, we treated it as an “undefined constant” in order to identify the line of maximum profit. We evaluate all the points where the derivative is equal to zero.We calculate the first derivative which is set to zero in order to obtain the line of maximum profit as shown in the following equation:(5)dPdp=−120.52p+0.027S+739.9=0.In (6), we obtained the maximum profit line and in Figure 15 it is shown the corresponding curve for p∈ [5.4, 7.8] and S ∈ [936, 8328].(6)p=0.027S+739.9120.52=0.00022S+6.13.Figure 15
Line of maximum profit.The functional form here proposed links a state of the supply to a specific price. Given the specificity of the application, the equation is valid only for the scanned region of supply comprised between 936 and 8328 hours. The result can be applied by a carsharing company in two different ways:(i)
Every time a vehicle is requested, the company scans its fleet, retrieves the number of hours that can be offered (i.e., determines the remaining supply), and offers the price that leads to the maximum profit.(ii)
Know how and how much the price should change if new vehicles are introduced or removed from their fleet.


## 4. Discussion

The results of this paper suggest that enlarging the supply leads to higher profit but, at the same time, the marginal profit gets smaller. The highest possible profit is reached when the system is able to capture the part of the potential demand that is more elastic, that is, more sensitive to vehicles’ availability.Results show that, when the supply (i.e., the number of hours supplied) is fixed and the number of members of the carsharing service varies, the profit variable is not sensitive to changes in potential demand; the change in profit is mainly led by the pricing offer. One possible way to interpret this is that, given the daily schedule of the agents, it is not possible to find vehicles available at the right time for the additional members. In other words, it would be possible to have more demand if the potential demand (the additional members) had schedules compatible (without overlapping) with those already using carsharing. The finding potentially has important implications for an operator. Once the operator should find itself on the desired point of the marginal profit curve, it should not invest too much (or even at all) in trying to attract other customers as it would not increase the usage rate of the vehicles and then of the profit. Instead, it would potentially generate unsatisfied customers. It should be noted, though, that this is possibly, or at least partly, the result of the method used to create more potential demand. In the scenarios with additional Oply members, they are randomly generated, picking from the synthetic population. As a result, although the method per se keeps being valid, in order to completely trust the results, the mechanism through which additional agents become members should be properly modeled instead of using a random draw.When the potential demand is fixed and the supply varies, results show that the obtained profit is linearly dependent on the supply while depending on the price in a parabolic fashion. Another important observation is also that one will expect a deterioration of profit at some point if they keep adding cars with fixed demand. Although the image in Figure10 seems to contradict this, it should be noted that in that figure, the ascending part of a curve that later descents is represented. The range considered in this research is subject to the constraint of not increasing the number of stations. This is because the profit maximization application is designed to increase the profit of an existing company. However, a potential positive impact of supply growth would be the creation of new stations (in order to increase the attractiveness of the service by reaching unexplored demand of a typical day). In addition, in order to remain in this reasonable range, the number of cars per station was limited as well. From a practical perspective, it was relevant to remain in the “best region” identified in terms of usage rate because the profit drop can be predicted in an analytical way and is of no interest in terms of profit maximization.The range considered in this research is subject to the constraint of not increasing the number of stations. This is because the profit maximization application is designed to increase the profit of an existing company. However, a potential positive impact of supply growth would be the creation of new stations (in order to increase the attractiveness of the service by reaching unexplored demand of a typical day). In addition, in order to remain in this reasonable range, the number of cars per station was limited as well. From a practical perspective, it was relevant to remain in the “best region” identified in terms of usage rate, in particular, because the profit drop can be predicted in an analytical way and is of no interest in terms of profit maximization.One may argue that the functional form chosen leads to prices that, if offered to real carsharing customers, could generate confusion. To avoid this problem and offer a more user-friendly price, a round-off could help simplify operations and the customers’ understanding of the service. The calibration here proposed is made on Oply carsharing operation. In order to apply this methodology to a different company and to maximize their profit, a possible tabled solution could be tailored.It has to be noted that MATSim simulations depend on random seeds, but despite using random numbers, we still want the simulations to be deterministic so that results can be reproduced by running the same scenario a second time. At the same time, it is true that the number of iterations could potentially affect the outcome of a simulation. To avoid or mitigate this problem, there are different precautions that need to be taken. For instance, concerning the number of iterations, innovation strategies (e.g., rerouting strategies and mode changing strategies) can be deactivated before the end of the simulation. This way, once the score has converged, it is sure that agents will choose their plan drawing from the best choice set they developed during the simulation. Concerning the seed, a common way to overcome the issue of having an outcome heavily depending on an arbitrary input is to average the results of different simulations. However, this comes at the theoretical risk that the resulting (averaged) solution is not an equilibrium solution [40]. While choosing different seeds tends to moderately affect (larger) links load, the variability of the mode markets shares remains negligible [40]. Given that the main focus of this paper is to identify the price that maximizes profit, we controlled the possible variability of the outcome by running a second set of simulations, thus verifying the comparability of the outcome analyzed in this paper.The solution here proposed employs a functional link between the three main variables: profit, supply, and price. This results in a price that can change dynamically during the day, is defined when a vehicle is booked, and functions on the number of vehicles available at the moment of the booking. The way this price is determined is by checking the state of the supply (known by the operator)—that is the number of hours that the operator can offer—and to set the price in order to reach the maximum profit for that pair. Either way, even though the robustness of this function should be further assessed before its eventual application in business operations, it is interesting to know that such a number exists and that we can calculate it if we can measure all the other values empirically.


## 5. Conclusions

The idea behind this paper is that modeling the profit as function of the price and the potential demandP = f(p,D), and as a function of price and supply P = f(p,S), it is possible to identify a maximum profit for a specific price p, potential demand D and supply S. A novel calibration method for carsharing use in the agent-based simulator MATSim has been proposed. This method employs data fetched from the carsharing operator Oply in order to define a main constant used for the evaluation of the number of bookings and the cost of the trip, respectively CsC (carsharing constant).The function in Figure15 has been calculated on the whole city. Therefore, a lot of attributes are naturally embedded in it, such as the density of the members around the station, proximity with other stations, and modal offer in the surrounding area. Questions that easily follow are how much these attributes affect the price or if focusing on one station can return different prices. Answering these questions is out of the scope of this paper but future research will provide an application of the same process on the singular station. Future contributions will focus on another feature of this procedure: reproducibility. While it is clear that this paper focuses on a particular case study in a specific city and on a precise carsharing company, it is true; however, that the same procedure can be applied, with similar results types, on other case studies. As described in the methodology section, the input needed is the potential demand (i.e., the number of members of the carsharing service) and the supply (i.e., the number of cars that make up the fleet) and the daily travel plans. These are essential to the simulation, which in turn, needs to be calibrated using data describing shared-car rental in space and time.The model presented here is scalable and replicable in different contexts. First of all, the scalability can be done in different ways: to scale down the procedure applied to the city to a station level or to scale up the procedure for bigger cities or bigger fleets. However, even though it could be theoretically possible to apply the same method for different carsharing models (e.g., one-way or free-floating), the procedure should be subject to modification. When applied to one-way carsharing models, different costs such as relocation costs should be taken into account. Furthermore, even relocation procedures could be taken into account in order to increase profit and, in general, such strategies could be not as beneficial as they could be for the carsharing model in exam.The replicability of the model is given by the fact that the formulation of the price that generates a maximum profit is based only on the state of the supply. Obviously, to apply the procedure described here in another context, it is necessary to have a synthetic population and a carsharing service already active with a number of active members and with a fleet already defined in the area.The very concept of dynamic pricing clashes with the idea that the customer can precisely know the price of the service he would like to purchase. This is due to the fact that the price changes continuously over time. The result is that the user has lower control over their decisions since they cannot know the hourly price of the trip before making the reservation. First of all, it should be noted that this paper is about a two-way service. This means that when the user reserves the car, the hourly price is defined by the system without this being able to be updated further during the booking (which ends with the delivery of the vehicle at the departure station). This type of offer allows having an identical hourly monetary cost for each trip made under a single reservation. Other future work can focus on a more punctual calibration taking into account bookings in a single station or taking into account other attributes such as the density of members, modal offer, accessibility. This method can bring a more precise maximization function that considers the station attractiveness as independent from the others allowing for a punctual pricing strategy. In addition, future research will link parameter values to measurable characteristics such as population density, zonal distribution of city areas, and accessibility of carsharing stations in terms of average walking distance.From an operational point of view, future works can take into account the diversity of the offer considering the different composition of the fleet (i.e., different vehicle models) and possibly different kinds of features such as specific on-board service, different cancellation policies, and number of vehicles in a specific area or station. Furthermore, one issue that can be seen in offering this kind of dynamic pricing is that the client is not able to know the price until a rental request is made and that this type of pricing is suited only for spontaneous bookings. Planned bookings (usually made hours or days before the start of the rental) cannot be supplied with this kind of approach. To fix that, future research can focus on specific hybrid dynamic pricing based on supply availability and time of the day in order to maximize profit.



---

*Source: 8042044-2022-04-21.xml*