Skip to content

Latest commit

 

History

History
61 lines (47 loc) · 3.28 KB

File metadata and controls

61 lines (47 loc) · 3.28 KB

NTD reporter coverage snapshot

What is in this directory, where it came from, and what it may be used for.

Files

reporter-coverage-ry2024.csv — one row per NTD reporter that operated at least one fixed-route mode in Report Year 2024, with the match tier the inverted join placed it in and the evidence for that tier. 1,253 rows.

reporter-coverage-ry2024.json — the counts, the tier breakdown, the source hashes, and the retrieval timestamp for the run that produced the CSV.

Both are regenerated by pipeline/scripts/ntd_reporter_coverage.py. Neither is read by the pipeline, the site, or the public API. They are analysis output, and docs/findings/2026-08-15-ntd-reporters-without-a-discoverable-feed.md is the write-up.

Sources

Source Retrieved Terms
FTA NTD Annual Database, Agency Information (Socrata dataset ccvf-fykn) 2026-08-15 Public domain, US Government work. Attribution: Federal Transit Administration.
FTA NTD Annual Data View, Service by Mode (Socrata dataset 4fir-qbim) 2026-08-15 Public domain, US Government work. Attribution: Federal Transit Administration.
Transitland Atlas, main branch tarball 2026-08-15 CC-BY 4.0, Interline Technologies and contributors.
Mobility Database catalog, storage.googleapis.com copy of sources.csv 2026-08-15 mobilitydatabase.org terms; per-feed licences vary.

The Mobility Database leg reads the storage.googleapis.com catalog that scorecard discover already reads on a weekly schedule. It does not read files.mobilitydatabase.org/feeds_v2.csv, whose host serves User-agent: * / Disallow: / (checked 2026-08-15). The v2 catalog is the better data and would widen the join; the write-up records how much by, and PR #276 is where that access decision belongs.

The two FTA tables are the Socrata mirrors of the annual-database products on transit.dot.gov. That host sits behind an edge filter that returns HTTP 403 to non-browser clients, verified on 2026-08-15 with and without a browser user-agent string. The Socrata copies are the same products, are documented as such by FTA, and are machine-readable, so the script pins those.

The exact SHA-256 of each retrieved body is recorded in the JSON. A caution on reading those hashes: the Socrata CSV export is not byte-stable between requests, so two downloads minutes apart can hash differently while carrying identical rows. The hash records what one run read. It is not a stable identifier for the dataset, and a changed hash is not evidence that FTA published anything new. Row counts and report year are the fields to compare.

Unit

Every count in these files is a count of NTD reporters. The GTFS Scorecard registry counts feed records, which is a different unit: a regional feed, a modal variant, and a retired alias are separate feed records for what a reader would call one agency. The two are never added, never subtracted, and never put in the same sentence as though they measured the same thing.

What these files do not say

A reporter in the no_candidate tier has no feed this run could find in three open catalogues. That is a statement about catalogue coverage. It is not a finding that the agency publishes nothing, and it is not a compliance determination. Nobody is graded on it, and no score moves because of it.