Comments (3)
@kpwebb I took your metrics list and attempted to normalize it into a set of key features per metric for the official specification. Outstanding questions below.
Metrics Specification
- Vehicles
- description: count of unique vehicles
- spatial: global, h3, shst
- temporal: 1h
- filter: >=2
- source:
/trips
- Pickups
- description: count of unique trips
- spatial: global, h3, shst
- temporal: 1h
- filter: >=2
- source:
/trips
- Dropoffs
- description: count of unique trips
- spatial: global, h3, shst
- temporal: 1h
- filter: >=2
- source:
/trips
- Pickups Via
- description: per zone count of trips originating in target zone
- spatial: h3+h3
- temporal: 1h
- filter: >=5
- source:
/trips
- Dropoffs Via
- description: per zone count of trips ending in target zone
- spatial: h3+h3
- temporal: 1h
- filter: >=5
- source:
/trips
- Utilization
- description: aggregate % of time any vehicles in zone were in use
- spatial: global, h3
- temporal: live
- filter: N/A
- source:
/status_changes
- Availability
- description: aggregate % of time any vehicles in zone were not in use
- spatial: global, h3
- temporal: live
- filter: N/A
- source:
/status_changes
Questions
- Availability/Utilization both require a definition of "in zone", since a vehicle would normally cross many zones without registering a status event. One way to do this would be to assign every vehicle a single zone at all times of day, with the zone changing only at time of dropoff. We should poke holes in this to make sure the metrics would not be statistically meaningless.
- I added a spatial aggregation called "global", but had not heard this discussed before. Is a city-wide aggregation useful for the metrics I have it labeled for?
- I was liberal in my interpretation of "X per hour" where referenced. "X per hour" is an instantaneous rolling metric, where as the metrics I described are more like "in hour X". These metrics would be updated at the top of the hour and would not change depending on when a query was run within the hour. Either aggregation strategy is feasible, but "in hour X" requires less storage and compute, and the two are mostly functionally equivalent.
- OD segment flows per pair may not be viable with the volumes of data a micromobility service would be generating, which may mean not enough useful data being reported. As an illustration, imagine a small city with about 50k street edges, such as Honolulu. If we had medium-low resolution binning with ~100 zones, we would split our dimensions
10,000 dimensions = 100 zones * 100 zones
we would already have significant fragmentation of aggregates, made impossibly small when including roads500,000,000 dimensions = 10,000 OD combinations * 50,000 street edges
. With that much fragmentation, edge volume mode would be 0, with just a few lighting up with volume of 1, essentially reconstructing a raw GPS map. There will be some amount of concentration on OD pairs and edges, but I think we would still need millions of trips within the query window to show any useful patterns.
from mobility-metrics.
Update: I have edited the specification draft to include the MDS provider endpoint source for each metric.
from mobility-metrics.
These have all shipped in one form or another, and are documented on the readme. There is work in progress on utilization & availability metrics as I am rewriting those today based on user feedback. I will track additional work in smaller issues.
from mobility-metrics.
Related Issues (20)
- vehicle type filter HOT 1
- docker based deployment HOT 1
- [Nodejs 12] Problem with Mapbox dependency during installation HOT 2
- --version,-v flag HOT 1
- Zones optionality brakes geo aggregation
- Problem installing mobility-metrics on Linux HOT 1
- Add User-Agent to Header HOT 2
- trip & status hashing HOT 1
- report hashing HOT 1
- Add report signature to report interface HOT 1
- export all dump failure HOT 1
- bug in weekly aggregates
- Map visualizations over an arbitrary date range HOT 2
- Make the timezone configurable
- Add ability to specify MDS version HOT 2
- document config options HOT 1
- Ability to configure which summary statistics appear HOT 2
- MDS specifies min_end_time query parameter for trips, but this uses start_time & end_time HOT 5
- add hover popup showing stats on maps
- polygon filter HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mobility-metrics.