Controls
Block
0
Presets
info_outline
Sample settings to help you start exploring the Laboratory. Each preset sets area, vehicle count, and trip requests so that about half the vehicles are carrying passengers at any time.
Display
Mode
Saved
info_outline
Saved here only in this browser (localStorage) — not on a server or account. Clearing browser data, using private/incognito mode, or switching browsers or devices will lose them. For a copy you can keep or move elsewhere, use the download button instead.
Upload/Download
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.

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

Choose a Display of "Map" to show vehicles moving along the roads, or "Statistics" to show metrics such as wait times, how driver time is split between different activities, and driver earnings.

Set the Mode to "Simple" to focus on the basics of ridehail geometry, where all calculations are "per block". Set the Mode to "Costs & Incomes" to set fares and costs based on kilometers and minutes.

Press ? to see a list of keyboard shortcuts.

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 enter the system if there is money to be made (over and above their 'reservation wage'), and leave 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 outcomse.

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")

More settings expand_more
City & trips

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

Mean distance for trip destinations

Time in blocks that vehicles pause at pickup location

Fraction of time idle vehicles spend moving (0 = stationary, 1 = full cruising speed)

Average speed including stops and pickups

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

Economics

The fare paid by passengers, per block

Distance component of fare

Time component of fare

Fixed amount charged per trip

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

Display

Lower values speed up animation

Rolling average window for statistics charts

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