Controls
Block
0
Scale
Chart type
Mode
Configuration
cloud_upload Drop file
Start here

When the ridehail simulator has loaded, click the arrow ("Play") button, above. The simulator runs entirely in your browser (not on a server), so you cannot break it and nobody tracks what you do.

The map shows a model city as a square of blocks. Ridehail vehicles drive the streets, waiting to be assigned a trip. When a passenger requests a trip, it is assigned to a vehicle, which takes them to their destination.

Here are some things you can try to start with...

Choose a community Scale of village, town, or city to set a starting point.

There are some keyboard shortcuts: press h to see a list.

Choose a Chart type of "Statistics" to show wait times, how driver time is split between different activities, and driver income (before and after expenses).

With the Mode to "Simple Model" the stats are just calculated per-block. If you set the Mode to "Costs & Incomes" you can set fares and costs based on kilometers and minutes.

The simulation outcomes depend on many factors. Experiment with changing the size of the community, the number of vehicles, and the rate of requests. If you check "Free entry & exit" then drivers will become active if there is money to be made (over and above their 'reservation wage'), and leave it if there is not. Choose "Costs & Incomes" to set fares and driver costs.

How do wait times, driver "busy" times, and incomes change with the ridehail environment? Set up a simulation here, then go to the What If? tab to explore how policy or other changes affect the outcoms.

For more information, click Read in the coloured title bar (under construction!). If things go wrong, press the "reset" button at the top left.

Costs & incomes

You have chosen the "Costs & Incomes" mode, which lets you link the model to more real-world values. In this mode, each block represents a minute of travel time. At an average speed of 30 km/h (which is realistic, as it includes all stopping times and pickup times) each block is 0.5km. You can set the following monetary parameters:

  • "Per km" fare component. In Toronto this is roughly $0.80 for UberX.
  • "Per minute" fare component. In Toronto this is roughly $0.20 for UberX.

At an average speed of 30 km/h, these two values produce a fare of $0.60 per minute (per block, in this model). In addition to these components, UberX fares include a fixed "booking fee". As this is not passed on to the driver, it has no effect on driver income and is ignored here, for now.

  • "Vehicle operating cost per km". One estimate of this would be $0.50/km, which is the lower end of the Revenue Canada "reasonable allowance rates" for reimbursement of employee use of a vehicle for business purposes. However, the model does not currently allow for the fact that drivers drive more slowly (or park) while in P1 phase (waiting for a ride). A $0.30/km estimate may be more reasonable until the slower driving in P1 is included.
  • "Vehicle opportunity cost per hour". This is the money, after all expenses, that a driver would need to make in order to work.

Adding these together gives the "reservation wage".

Each block = distance traveled in one minute

Active vehicles in the area (changes with "Free entry & exit")

Requests per vehicle block time (changes with "Free entry & exit")

0=even distribution, 1=all requests in central zone

Maximum distance for trip destinations

Average speed including stops and pickups

Time in blocks that vehicles pause at pickup location

How request rate responds to fare changes (0=no change)

Vehicles enter when there is money to be made above the "reservation wage", and leave when they cannot make money

The fare paid by passengers, per block

Distance component of fare

Time component of fare

Fraction of fare kept by platform

Minimum income per block worth driving for

Minimum income per hour worth driving for, before costs.

Cost of running a vehicle per kilometer

Lower values speed up animation

Rolling average window for statistics charts