À propos
VéloCast prévoit le nombre de vélos disponibles dans chacune des quelque 450 stations VélôToulouse, dans 15, 30 et 60 minutes. Les prévisions sont recalculées toutes les cinq minutes et comparées publiquement à ce qui s'est réellement passé.
Comment ça marche
- Toutes les 5 minutes, l'état de chaque station est relevé auprès de JCDecaux, et la météo auprès d'Open-Meteo.
- Trois modèles calculent chacun une prévision pour chaque station et chaque horizon.
- Le site affiche, horizon par horizon, celui qui s'est le moins trompé sur les dernières 24 heures. Les deux autres restent visibles en petit sur la fiche d'une station.
- Chaque prévision est enregistrée, puis comparée au nombre de vélos réellement observé une fois l'heure passée.
Les trois modèles
- Persistance
- « Dans une heure, ce sera comme maintenant. » Simple, mais difficile à battre sur un quart d'heure : la plupart du temps, une station bouge peu.
- Moyenne historique
- Le nombre moyen de vélos observé dans cette station, au même jour de la semaine et à la même heure, d'abord sur nos propres relevés puis, à défaut, sur trois ans d'archive publique. Elle connaît les habitudes de la station, mais ignore son état du moment.
- LightGBM (modèle appris)
- Un modèle d'apprentissage automatique entraîné chaque semaine sur deux ans de relevés. Il part de l'état actuel de la station et corrige avec ses habitudes, l'heure, le jour (férié ou vacances scolaires compris), la météo prévue et le remplissage des stations voisines.
Un nouveau modèle appris commence toujours « en observation » : ses prévisions sont calculées et vérifiées sans être affichées. Après environ 17 heures d'observation, il ne passe en gros chiffres que là où il fait mieux que les deux autres sur les dernières 24 heures.
Lire une prévision
- Le chiffre est le nombre de vélos attendu ; une décimale (« 3,4 ») traduit une incertitude entre 3 et 4.
- « 2 à 5 » est un intervalle à 80 % : huit fois sur dix, la réalité tombe dedans. Il apparaît une fois assez de prévisions vérifiées.
- « vide » / « pleine » signale qu'on attend moins d'un demi-vélo, ou moins d'une demi-place libre.
Des chiffres vérifiables
L'erreur de chaque modèle est mesurée en continu et publiée sur la page Performance, y compris quand elle n'est pas flatteuse. Avant sa mise en service, le modèle appris est aussi testé sur six mois d'historique qu'il n'a jamais vus, en ne lui donnant que les informations disponibles à l'instant de chaque prévision.
Limites connues
- Une prévision reste une estimation : un groupe qui emprunte cinq vélos d'un coup ne se prévoit pas.
- Les événements inhabituels (grève, match, travaux, station déplacée) ne sont pas connus du modèle.
- Les données viennent de JCDecaux telles quelles : une borne hors service ou un vélo signalé en panne peut fausser l'état d'une station.
- Le nombre total de vélos est prévu, pas la répartition entre mécaniques et électriques.
- Une station fermée ou sans signal depuis plus de deux heures n'a pas de prévision.
Données et crédits
- Disponibilité des stations
- API JCDecaux Developer (VélôToulouse)
- Météo observée et prévue
- Open-Meteo, licence CC BY 4.0
- Historique 2023-2026
- bike-sharing-history (Max Halford), utilisé sous forme de moyennes agrégées
- Vacances scolaires
- Calendrier officiel de l'Éducation nationale, via vacances-scolaires-france (MIT)
- Fond de carte
- OpenFreeMap, © OpenMapTiles, © contributeurs OpenStreetMap
Projet indépendant, sans lien avec JCDecaux, Tisséo ou VélôToulouse.
Vie privée
Pas de compte, pas de cookie, pas de mesure d'audience. Le fond de carte est chargé depuis OpenFreeMap, qui voit donc l'adresse IP de votre navigateur comme n'importe quel site consulté.
Sous le capot
Collecte et API en Python (FastAPI) et site en Next.js, hébergés sur Vercel ; base PostgreSQL sur Supabase ; entraînement LightGBM, archivage, surveillance de la dérive des données (Evidently) et alertes sur GitHub Actions. Le tout tourne sur des offres gratuites, sans serveur à administrer.