Where the bikes are at 8am
Which Citi Bike stations bleed out before you get there, and which fill up — reconstructed from every trip the system has recorded since 2013, and cross-checked against the live feed.
Built by @Lopezmay0 · data from Citi Bike’s public trip archive and live GBFS feed
Heavy line is a 12-month rolling average; the faint line is the monthly count. Every marker is computed from the data, not annotated by hand.
The archive carries no rider identity — and should not, since trip endpoints plus a stable id would show where individual people live and work. It does carry rider attributes, and different ones in each era.
What the data is. Every trip Citi Bike has published, from June 2013 onward, for New York and Jersey City. Files are identified by the timestamps inside them, never by filename — the published archive contains files whose names disagree with their contents, duplicate months under different names, and three different timestamp formats.
What is measured. For each station and each weekday, arrivals minus departures between midnight and the hour you choose. A station reading “14 out” has, on a typical weekday, handed out fourteen more bikes than it received by then. It is a flow, never an inventory, so it is always shown as a magnitude and a direction — a station cannot hold a negative number of bikes.
What is not known. Historical dock occupancy has never been published, so the starting inventory at midnight is unknown. Capacity comes from the live feed, which also reports disabled bikes — broken machines that still occupy docks and are invisible in the trip archive.
Rebalancing. Before 2020 each trip carries a bike ID, so a bike that starts somewhere other than where it last finished was moved by a truck. The field was dropped in 2020, so this signal covers the legacy era only.
Trip data © NYC Bike Share, LLC, under its Data Use Policy. Independent project, not affiliated with Citi Bike or Lyft.