Exploring time series
bike share data with duckdb
@citybikes@floss.social
https://eskerda.com/fosdem2026-gis
availability data
https://citibikenyc.com/system-data
trip data
{
"id": "00028670e3d01438515caba403ffd680",
"name": " PL JOANIC - C / BRUNIQUER, 59",
"latitude": 41.4055198,
"longitude": 2.1622548,
"timestamp": "2026-01-28T18:55:53.259151+00:00Z",
"free_bikes": 0,
"empty_slots": 19,
"extra": {
"uid": 106,
"online": true,
"normal_bikes": 0,
"has_ebikes": true,
"ebikes": 0
}
}
time series availability data
{
"ride_id": "ACCC919B5A3CD9AD",
"rideable_type": "electric_bike",
"started_at": "2025-01-01 14:52:26.542",
"ended_at": "2025-01-01 14:59:53.427",
"start_station_name": "W 20 St & 7 Ave",
"start_station_id": "6182.02",
"end_station_name": "E 10 St & 2 Ave",
"end_station_id": "5746.02",
"start_lat": 40.74238787,
"start_lng": -73.99726235,
"end_lat": 40.72970805644994,
"end_lng": -73.9865979552269,
"member_casual": "casual",
}
┌──────────────────────────────────┬─────────────────────┬───────┬───────┐
│ id │ timestamp │ bikes │ free │
│ varchar │ timestamp │ int32 │ int32 │
├──────────────────────────────────┼─────────────────────┼───────┼───────┤
│ 00028670e3d01438515caba403ffd680 │ 2025-11-01 00:02:18 │ 0 │ 16 │
│ 00028670e3d01438515caba403ffd680 │ 2025-11-01 00:05:18 │ 1 │ 15 │
│ 00028670e3d01438515caba403ffd680 │ 2025-11-01 00:17:19 │ 0 │ 16 │
│ 00028670e3d01438515caba403ffd680 │ 2025-11-01 00:20:18 │ 1 │ 15 │
│ 00028670e3d01438515caba403ffd680 │ 2025-11-01 00:23:18 │ 0 │ 16 │
│ 00028670e3d01438515caba403ffd680 │ 2025-11-01 00:29:18 │ 1 │ 15 │
│ 00028670e3d01438515caba403ffd680 │ 2025-11-01 00:35:18 │ 2 │ 14 │
│ 00028670e3d01438515caba403ffd680 │ 2025-11-01 00:38:18 │ 1 │ 15 │
│ 00028670e3d01438515caba403ffd680 │ 2025-11-01 00:44:18 │ 0 │ 16 │
│ 00028670e3d01438515caba403ffd680 │ 2025-11-01 00:47:18 │ 1 │ 15 │
├──────────────────────────────────┴─────────────────────┴───────┴───────┤
https://data.citybik.es
https://api.citybik.es
1
New frame
New frame
New frame
New frame
New frame
New frame
New frame
New frame