How the score works
R = Σ ( polarity × normalized value × weight )
The sum runs over 19 features. Each feature contributes one term.
- The polarity is +1 or −1. It sets whether more of the feature helps or hurts.
- The normalized value is the min-max scaled measurement. It falls in [0, 1].
- The weight comes from the expert survey. All weights sum to 1.
The pipeline measures every feature at sample points spaced 50 feet apart along each sidewalk segment. It computes the score at each point. It then averages the point scores into one score per segment. The map shows the segment scores.
Feature weights
The survey produced one weight per feature. The table lists all 19. The raw values are copied verbatim from feature_weights.csv in the study repository.
| Feature | Weight | Weight (raw) | Polarity | Source |
|---|---|---|---|---|
| Sidewalk Width | 6.81% | 0.06806833613639274 | +1 | NYC OpenData |
| Pedestrian Density | 9.45% | 0.09445576675004053 | -1 | In-house (lab data) |
| Density of Street Furniture | 6.75% | 0.06752114455511304 | -1 | NYC OpenData |
| Sidewalk Roughness | 4.59% | 0.04593514200834298 | -1 | Constant |
| Surface Condition | 7.68% | 0.07682933579593197 | +1 | NYC OpenData |
| Wireless Communication Infrastructure | 5.85% | 0.05845165469318187 | +1 | Other public data |
| Slope Gradient | 4.83% | 0.04832231448153131 | -1 | Other public data |
| Proximity to Charging Stations | 2.53% | 0.025316489931061576 | +1 | Other public data |
| Curb Ramp Availability | 6.01% | 0.060102970276542725 | +1 | NYC OpenData |
| Crowd Dynamics | 7.62% | 0.07621927189475182 | +1 | NYC OpenData |
| Traffic Management Systems | 4.64% | 0.04638333896814371 | +1 | NYC OpenData |
| Surveillance Coverage | 2.28% | 0.02281272971765975 | +1 | In-house (lab data) |
| Zoning Laws and Regulation | 4.15% | 0.04146601033693057 | +1 | NYC OpenData |
| Bike Lane Availability | 2.26% | 0.022603749599280413 | +1 | NYC OpenData |
| GPS Signal Strength | 4.84% | 0.048359700811054354 | +1 | Constant |
| Bicycle Traffic | 3.07% | 0.03068282361247861 | -1 | In-house (lab data) |
| Vehicle Traffic | 4.75% | 0.04745443062510741 | -1 | In-house (lab data) |
| Existence of Detailed Digital Maps | 4.85% | 0.04850786858987462 | +1 | Constant |
| Intersection Safety | 7.05% | 0.07050692121657998 | -1 | NYC OpenData |
Feature sources
Nine features use NYC OpenData datasets. Three features use other public data. Four features use in-house lab data. Three features are constants in the current New York City score.
| Feature | Source type | Data |
|---|---|---|
| Sidewalk Width | NYC OpenData | |
| Pedestrian Density | In-house (lab data) | Computed by the lab cluster. Not served by a public API. |
| Density of Street Furniture | NYC OpenData | |
| Sidewalk Roughness | Constant | Fixed at 1 for every segment in the current score. |
| Surface Condition | NYC OpenData | |
| Wireless Communication Infrastructure | Other public data | Source data |
| Slope Gradient | Other public data | Source data |
| Proximity to Charging Stations | Other public data | Source data |
| Curb Ramp Availability | NYC OpenData | |
| Crowd Dynamics | NYC OpenData | |
| Traffic Management Systems | NYC OpenData | |
| Surveillance Coverage | In-house (lab data) | Computed by the lab cluster. Not served by a public API. |
| Zoning Laws and Regulation | NYC OpenData | |
| Bike Lane Availability | NYC OpenData | |
| GPS Signal Strength | Constant | Fixed at 1 for every segment in the current score. |
| Bicycle Traffic | In-house (lab data) | Computed by the lab cluster. Not served by a public API. |
| Vehicle Traffic | In-house (lab data) | Computed by the lab cluster. Not served by a public API. |
| Existence of Detailed Digital Maps | Constant | Fixed at 1 for every segment in the current score. |
| Intersection Safety | NYC OpenData |
Live scores and snapshots
What refreshes live
The map offers an opt-in live refresh. It recomputes nine features from NYC OpenData through the Socrata API. It also recomputes the charging station feature from the live CitiBike station feed. These ten features rely on public APIs that the browser can query.
What stays pinned
The snapshot scores stay pinned. The weights stay pinned. The four in-house features stay pinned. The three constants stay pinned. The FCC broadband feature and the elevation slope feature also stay pinned. The lab cluster computes these features. They need lab storage and heavy computation, so the browser cannot recompute them.
Why the split exists
The cluster runs the full pipeline on a schedule and publishes one snapshot per run. The browser refreshes only what public APIs can serve. Live values always use the normalization stats of the viewed snapshot. This keeps live scores comparable with snapshot scores.
Normalization
Each feature is scaled into [0, 1] before the weighted sum. The scaling is min-max normalization:
normalized = (value − min) / (max − min)
The min and max come from the snapshot manifest. Each snapshot ships one min and one max per feature. The manifest records the stats of the run that produced the snapshot. Live refresh uses the stats of the viewed snapshot, never new stats. Results are clamped to [0, 1].
NYC OpenData attribution
This site uses data from NYC OpenData . The data comes from the NYC OpenData Terms of Use :
The City of New York can not vouch for the accuracy or completeness of data provided by this web site or application or for the usefulness or integrity of the web site or application. This site provides applications using data that has been modified for use from its original source, NYC.gov, the official web site of the City of New York.