Loading content...
A mobility analytics team wants a month-by-month 2020 operations report that combines supply capacity and fulfilled demand.
Table: driver_registry
Table: trip_requests
Table: completed_trips
Task: For every month in calendar year 2020 (month = 1 through 12), return:
Clarifications:
Output requirements:
Supported submission environments:
driver_registry:
| driver_id | onboard_date |
|-----------|--------------|
| 1 | 2019-12-20 |
| 2 | 2020-02-10 |
| 3 | 2020-02-28 |
| 4 | 2020-06-01 |
| 5 | 2021-01-01 |
trip_requests:
| trip_id | rider_id | requested_at |
|---------|----------|--------------|
| 101 | 900 | 2020-01-15 |
| 102 | 901 | 2020-02-20 |
| 103 | 902 | 2020-02-26 |
| 104 | 903 | 2020-06-02 |
| 105 | 904 | 2020-06-15 |
| 106 | 905 | 2020-12-31 |
| 107 | 906 | 2021-01-01 |
completed_trips:
| trip_id | driver_id | trip_miles | trip_minutes |
|---------|-----------|------------|--------------|
| 102 | 2 | 11 | 19 |
| 104 | 4 | 7 | 14 |
| 106 | 1 | 23 | 31 |
| 107 | 5 | 9 | 13 |[
{"month":1,"active_drivers":1,"accepted_trips":0},
{"month":2,"active_drivers":3,"accepted_trips":1},
{"month":3,"active_drivers":3,"accepted_trips":0},
{"month":4,"active_drivers":3,"accepted_trips":0},
{"month":5,"active_drivers":3,"accepted_trips":0},
{"month":6,"active_drivers":4,"accepted_trips":1},
{"month":7,"active_drivers":4,"accepted_trips":0},
{"month":8,"active_drivers":4,"accepted_trips":0},
{"month":9,"active_drivers":4,"accepted_trips":0},
{"month":10,"active_drivers":4,"accepted_trips":0},
{"month":11,"active_drivers":4,"accepted_trips":0},
{"month":12,"active_drivers":4,"accepted_trips":1}
]Driver capacity grows when new onboard dates are crossed (February and June). Accepted trips count only completed request IDs whose request date is in 2020.
driver_registry:
| driver_id | onboard_date |
|-----------|--------------|
| 11 | 2020-01-01 |
| 12 | 2020-12-31 |
| 13 | 2019-05-20 |
| 14 | 2021-03-01 |
trip_requests:
| trip_id | rider_id | requested_at |
|---------|----------|--------------|
| 201 | 1 | 2019-12-31 |
| 202 | 2 | 2020-01-01 |
| 203 | 3 | 2020-12-31 |
| 204 | 4 | 2021-01-01 |
completed_trips:
| trip_id | driver_id | trip_miles | trip_minutes |
|---------|-----------|------------|--------------|
| 201 | 13 | 8 | 10 |
| 202 | 11 | 9 | 11 |
| 203 | 12 | 10 | 12 |
| 204 | 14 | 5 | 8 |[
{"month":1,"active_drivers":2,"accepted_trips":1},
{"month":2,"active_drivers":2,"accepted_trips":0},
{"month":3,"active_drivers":2,"accepted_trips":0},
{"month":4,"active_drivers":2,"accepted_trips":0},
{"month":5,"active_drivers":2,"accepted_trips":0},
{"month":6,"active_drivers":2,"accepted_trips":0},
{"month":7,"active_drivers":2,"accepted_trips":0},
{"month":8,"active_drivers":2,"accepted_trips":0},
{"month":9,"active_drivers":2,"accepted_trips":0},
{"month":10,"active_drivers":2,"accepted_trips":0},
{"month":11,"active_drivers":2,"accepted_trips":0},
{"month":12,"active_drivers":3,"accepted_trips":1}
]Boundary dates matter: 2020-01-01 contributes from January onward, while 2020-12-31 contributes only in December. Requests outside 2020 do not affect accepted_trips.
driver_registry:
| driver_id | onboard_date |
|-----------|--------------|
| 21 | 2020-11-20 |
| 22 | 2021-02-01 |
trip_requests:
| trip_id | rider_id | requested_at |
|---------|----------|--------------|
| 301 | 500 | 2020-03-10 |
| 302 | 501 | 2020-11-22 |
| 303 | 502 | 2020-12-30 |
completed_trips:
| trip_id | driver_id | trip_miles | trip_minutes |
|---------|-----------|------------|--------------|
| (no rows) |[
{"month":1,"active_drivers":0,"accepted_trips":0},
{"month":2,"active_drivers":0,"accepted_trips":0},
{"month":3,"active_drivers":0,"accepted_trips":0},
{"month":4,"active_drivers":0,"accepted_trips":0},
{"month":5,"active_drivers":0,"accepted_trips":0},
{"month":6,"active_drivers":0,"accepted_trips":0},
{"month":7,"active_drivers":0,"accepted_trips":0},
{"month":8,"active_drivers":0,"accepted_trips":0},
{"month":9,"active_drivers":0,"accepted_trips":0},
{"month":10,"active_drivers":0,"accepted_trips":0},
{"month":11,"active_drivers":1,"accepted_trips":0},
{"month":12,"active_drivers":1,"accepted_trips":0}
]Even with requests in 2020, accepted_trips remains zero when no request is completed. Driver activity starts only after the onboarding month arrives.
Constraints