Reporting Tool

So how does the reporting tool work? We're glad you asked! Let's break down the main functions of the reporting tool and we'll give you the methodology we use to collect, compile, and publish data.


Submitting Reports

How does the Coalition collect data from residents about scooter violations happening in their area?

On our web application, users have the ability to report violations on our Report page. By filling out this form, the Coalition receives data from the user on a perceived violation. Once the report has been submited, the submitting user receives a receipt of submission and can track their report.

Verifying Reports

When the user submits that data to the Coalition, our team is notified of a report in the queue. All reports must be manually verified by our team as to their validity (that is: noncompliance with City Code and/or rules).

If our team member verifies that the report is, indeed, a violation of the Code and/or rules, then the report is accepted by the team member via our Content Management System (CMS). If the report is not accepted, the team member must issue a reason for rejecting the report. The report cannot be rejected without a reason.

If the report is accepted, then the violating operator's operations teams (who are all registered into the Ops Team Portal on the site, as well as a team application the Coalition maintains) receives a notice of violation. The submitter also receives an email that their report has been accepted.

Remedying Reports

Operators have two hours upon receipt of notification to fix their violation (per City Code) until the report becomes a violation. After two hours, the report gets marked as "closed" and "closed as a violation." Once that report gets marked as a violation, the submitter, operator, and Coalition staff receive a notification that the report was added to the operator's grade.

If an operator submits a fix through our Ops Team Portal, then the report won't count against them. Reports automatically close after two hours and ops teams cannot enter fixes after that time has elapsed. Once the team submits a fix for a report, the submitter, operator, and Coalition staff receive a notification that the report has been fixed.

Administrative Complaints

The Coalition reserves the right to routinely audit operators' compliance with rules and regulations set by the City as well as those implemented by the Coalition's governing body.

The most common type of administrative complaint is fleet cap size violations which result in heavy deductions from operators' point totals. Fleet size is approximately calculated using operators' public GBFS feeds, which includes all available scooters at the time of query; what that means is that if an operator's fleet size is over cap on GBFS, it is likely to be over on MDS as well due to scooters out of service or in use which are not included in GBFS. (Learn more about GBFS here)

Fleet size numbers are then passed to the City to double check numbers routinely to verify the accuracy of the data we are receiving from operators.

Operators are required to provide feeds to the City per section 8-15 of the City Code.

Administrative complaints can also include:

  • Devices ignoring speed limits or no parking zones
  • Operator staff submitting reports through this system (per our Terms of Use)
  • Operators allowing users outside of the Scooter Service Area

Calculating Grades

Each violation is weighted differently based on egregiousness--for example: a scooter blocking an ADA ramp weighs more than a scooter parked on a sidewalk less than 6' in width but not necessarily impeding access for those in wheelchairs or with mobility impairments.

Administrative Complaints will carry differing weights for the type of violation as well. Fleet cap violations will carry a significant per-scooter deduction that will remain on the operator's grade for one month, then it will be weighed less. Complaints are cumulative and an operator who frequently does not adhere to City regulations may experience a significant drop in their point total.

We calculate grades automatically about every five minutes and add up all of the violations and deduct the points from operators for each violation. That means one report may have multiple violations; for example, if a scooter is parked on private property as well as blocking a business' entryway.

The calculation of the grade also takes into consideration the time since a report was filed. Reports are fully weighted for the first month since reporting. After a month, the report weighs less, and after three months the report is weighted even less. This is to ensure that operators have a chance to improve their grade by taking extra care to not let reports become violations.


Creating the data reports

Every week (usually on a Monday), our team compiles reports of all the submissions to our tool which we publish on our Data Page. Beginning 7.6.2021 we began releasing the cumulative point average (grade) of each operator aside from a visible letter grade. Since 7.12.2021 we have published this figure in relation to fleet size and the rate of violations with regard to fleet size.

We calculate fleet size via the public General Bikeshare Feed Specification (GBFS) feeds from each operator. This figure includes all available devices at the time of query. This is not a complete number of all devices, but provides a transparent number that is easily auditable for third-parties like ourselves without relying on operators to not obfuscate or manipulate data.

Of course, the feed on its own doesn't provide us much in the way of easily-viewable data. We forked Tim Black's Swarm of Scooters project on GitHub to create Swarm Remastered which includes more scooter operators with a focus on the Miami market. Our scooter tracker tool is public at and is open-source (available on GitHub here).

For documentation on our Scooter Tracker, please visit its GitHub Repository here

So, basically, we export the raw scooter report data and calculate statistics in Excel including (but not exclusive to) the following:

  • Total Reports (accepted, rejected, and pending reports)
  • Total Valid Reports (accepted reports, verified by our team)
  • Total Invalid Reports (reports that were determined to not be a violation by our team)
  • Total Reports Closed (reports whose grace period of two hours expired)
  • Total Fixed Reports (reports with a fix submitted within the grace period)
  • Total Violations (reports whose grace period expired with no submitted fix)
  • Validity Rate (the percentage of reports that were accepted as valid reports by our team)
  • Fix Rate (the percentage of reports that were fixed by their respective operator)
  • Violation Rate (the percentage of reports that were not fixed by their respective operator)
  • Reports Per Vendor (total reports per vendor)
  • Rate of Reports (the total number of reports divided by the fleet size, represented as a percent)
  • Violations Per Vendor (total violations for each vendor)
  • Rate of Violation (the total number of violations divided by the fleet size, represented as a percent)
  • Fleet Size (calculated using our Scooter Tracker, queried at the time of export)
  • Operator Size Rank (ordered by the size of their fleet)

We then publish each operator's grade based on the violations filed against them. We provide context on this report by providing data like the ranking of grades, the change in rank, the vendor's rank with regard to size, the total fleet size, the letter grade, and the change in their grade.

We then publish the raw scooter report data so you can see individual reports. This includes the submitted image and the submitted fix image for auditing purposes.


How and where we publish this data

We publish the data to our site every week (on our Data Page) and announce when we've done so on our Twitter. We usually publish every Monday.

The data is shared with the City of Miami as well as Miami-Dade County.

Founding Partners

Coalition Members