4_output_data - TUM-VT/FleetPy GitHub Wiki

Output Data

Request Statistics

tbc

Vehicle Trajectory Statistics

tbc

Standard Evaluations

In this section, we provide an overview of the output file parameters.

General notes about units:

  • Time: Measured in seconds from midnight, where 0 represents 12 am (midnight), 16871.94 is approximately 4:40 am, and 36600.32 corresponds to around 10:07 am.
  • Distance: Measured in meters, unless specified otherwise.
  • Fare: Expressed in cents, with 100 cents equaling 1 Euro.

Output file on user statistics

In the following table, parameters of the file 1_user_stats.csv are described.

parameter data type description
request_id If request is for passenger: int, if request if for parcel: string, starting with “p_” The unique ID of the request
rq_type str The name of the request module based on in the simulation: - BasicRequest (passenger request) - BasicParcelRequest (parcel request)
number_passenger int The number of passengers (set in the input request file)
rq_time int Time of the request in seconds
earliest_pickup_time int Constrain for the earliest pick-up time. Is only filled if different to rq_time, which is the case if in the passenger demand file an extra column is filled for this, see 2_input_data/trips_X.csv
start str Network position representation of the start location. For example, 959;-1;-1 means that the start node is 959 and the starting position is exactly at this node.
end str Network position representation of end location, see “start”
pickup_location str The pick-up location. Generally, this field is not filled as it does not differ from “start”. In order for it to be filled, one had to create a fleet control module.
dropoff_location str The drop-off location. Analogous logic as pickup_location
access_time float The time from start to pickup_location. This is only filled if pickup_location is filled
egress_time float The time from end to dropoff_location. This is only filled if dropoff_location is filled
direct_route_travel_time float Fastest travel time from start to end at request_time (in seconds)
direct_route_distance float Distance of the fastest route from start to end at request_time (in meters)
offers str A list of offers that have been made. For example, if only one offer has been made: 0:t_wait:12.3;t_drive:98.2;fare:100 Operator 0 offers to pickup the costumer in 12.3 seconds, drive her to the destination in 98.2 seconds and demand 1 Euro for it.
decision_time float Time that a request accepts an offer (request time if not specified)
chosen_operator_id id TODO Only filled if request has been served
operator_id id Operator id that served the request Only filled if request has been served
vehicle_id id The id of the vehicle that executed the request Only filled if request has been served
pickup_time float Time of the actual pick-up in seconds Only filled if request has been served
dropoff_time float Time of the actual drop-off in seconds Only filled if request has been served
fare integer Fare in cents Only filled if request has been served
modal_state integer 0 if monomodal trip, else TODO

Output file for general evaluations

The parameters in the file standard_eval.csv are described in the following table:

parameter data type description
operator_id int Unique ID of the operator
number users int Number of bookings made with the operator
number travelers int Number of travellers. This can be different from the number of users if there were group bookings (i.e. more than one person is on a booking)
modal split float Fraction of travellers that have been served by the operator
modal split rq float Fraction of bookings that have been served by the operator
reservation users int Number of pre-booked bookings
reservation pax int Number of pre-booked travellers
served reservation users [%] float Fraction of those pre-booked bookings, that the operator served
served reservation pax [%] float Fraction of those pre-booked traveller bookings, that the operator served
online users int Number of on-demand bookings
online pax int Number of on-demand travellers
served online users [%] float Fraction of those on-demand bookings, that the operator served
served online pax [%] float Fraction of those on-demand travellers, that the operator served
% created offers float Fraction of bookings that have received an offer by the operator. This is different to the parameter modal_split, since passengers can also reject the offer by the operator.
utility float  TODO (outdated)
travel time float Average travel time for all bookings served by this operator in seconds ($ \frac{1}{number_users} \sum_{i \in R_{served}} (\text{drop_off_time}_i - \text{pick_up_time}_i)$ )
travel distance float Average distance for all bookings served by this operator in seconds TODO (Currently not computed)
waiting time float Average waiting time (difference between request and pickup time) in seconds ($ \frac{1}{number_users} \sum_{i \in R_{served}} (\text{pick_up_time}_i - \text{rq_time}_i)$ )
waiting time (median) float Median waiting time (difference between request and pickup time) in seconds
waiting time (90% quantile) float 90% quantile for waiting time (difference between request and pickup time) in seconds
waiting time from ept float Average waiting time (difference between earliest pickup and pickup time) in seconds ($ \frac{1}{number_users} \sum_{i \in R_{served}} (\text{pick_up_time}_i - \text{earliest_pick_up_time}_i)$ )
detour time float Average detour time (difference between travel time and direct travel time) in seconds ($ \frac{1}{number_users} \sum_{i \in R_{served}} (\text{drop_off_time}_i - \text{pick_up_time}_i - \text{direct_travel_time}_i) - \text{boarding_time}$ )
rel detour float Average relative detour ($ \frac{100 [%]}{number_users} \sum_{i \in R_{served}} ( (\text{drop_off_time}_i - \text{pick_up_time}_i - \text{direct_travel_time}_i - \text{boarding_time} ) / \text{direct_travel_time}_i )$ )
% fleet utilization float Fraction of simulation time fleet vehicles are not idle
vehicle revenue hours [Fzg h] float Overall vehicle hours spent by vehicles actively serve bookings (states: boarding, waiting, route, repositioning)
rides per veh rev hours float The number of travellers divided by the revenue hours
rides per veh rev hours rq float The number of bookings divided by the revenue hours
total vkm float Total kilometres driven by all vehicles of the operator
occupancy float Distance weighted average number of passengers in the vehicle ($\sum_{i \in vehicle_driving_legs}N_i^{passengers} \cdot \text{driven_distance}i / \sum{i \in vehicle_driving_legs} \text{driven_distance}_i$)
occupancy rq float Distance weighted average number of bookings in the vehicle ($\sum_{i \in vehicle_driving_legs}N_i^{bookings} \cdot \text{driven_distance}i / \sum{i \in vehicle_driving_legs} \text{driven_distance}_i$)
% empty vkm float Percentage of km that vehicles drove around empty. This includes both repositioning (see next parameter) and empty trips when approaching to a booking.
% repositioning vkm float Percentage of vehicle km only used for repositioning
customer direct distance [km] float Sum of all served traveller distances on their corresponding fastest route
saved distance [%] float Meassure for pooling efficiency. This is computed in this way: $\frac{\text{customer direct distance} - \text{fleet vkm}}{\text{customer direct distance}}$
trip distance per fleet distance float This is computed in this way: $\frac{\text{customer direct distance}}{\text{total vehicle km}}$
trip distance per fleet distance (no reloc) float This is computed in this way: $\frac{\text{customer direct distance}}{\text{total vehicle km} * (1 - \% \text{ reposition vkm})}$
avg driving velocity [km/h] float Average vehicle velocity
avg trip velocity [km/h] float This is computed in this way: $\frac{\text{customer direct distance}}{\text{total travel times}}$ This can be useful for comparing travel speeds of different modes of transport
total toll int If there is a toll in a region, then this is the total toll that has been paid by the operator during the simulation
mod revenue int Sum of all booking fares
mod fix costs int Sum of fixed costs of the operator
mod var costs int Sum of variable costs of the operator. This is computed based on the driven distance
total CO2 emissions [t] float OUTDATED
total external emission costs int OUTDATED
parking cost int OUTDATED
toll int OUTDATED
customer in vehicle distance float Sum of kilometres travelled by costumers. Note that is is different to the distance that vehicles drove with a costumer in them: If two costumers shared a ride, this ride is counted double into this parameter.
shared rides [%] float Percentage of bookings that shared part of their ride with at least one other booking