C’est un side project solo né de la frustration de voir le prix du carburant baisser le lendemain d’un plein.
Avec les données publiques d’Opinet, on peut savoir « où c’est moins cher aujourd’hui », mais pas « s’il faut faire le plein aujourd’hui ou attendre ». J’ai donc pris les prix quotidiens de 11 500 stations-service dans tout le pays depuis 2022, je les ai enrichis avec des variables comme les cours internationaux du pétrole (WTI et Dubaï), le taux de change et les taxes sur les carburants, puis j’ai créé un modèle qui prédit l’évolution des prix sur 7 jours et l’affiche chaque matin sous forme de feu tricolore. Il ne dit pas « ça risque de monter ? », mais parle en montant concret, par exemple « si vous attendez, vous économiserez environ 40 wons par litre ».
Le cœur de la conception, ce n’est pas le modèle, mais ceci : un service de prévision est fini s’il ne peut pas répondre à « pourquoi devrais-je y croire ? ». Chaque jour, il note donc automatiquement les prédictions de la veille et publie le bulletin tel quel dans l’app. Plus de 30 000 évaluations cumulées, 99 % de réussite sur les prédictions « ça ne montera pas », et même la proportion de recommandations « c’est moins cher ici » qui se sont effectivement révélées moins chères. Si le service se trompe, les chiffres baissent et les utilisateurs le voient ; grâce à ça, je ne peux pas non plus bâcler le modèle.
L’architecture est simple, avec le principe de 0 won de coûts fixes :
CSV quotidien d’Opinet → DuckDB (série temporelle de 4,6 Go, en local) → features → prédiction → notation → snapshot de serving, entièrement automatisé tous les jours à 07:30 avec launchd
Le serving repose sur FastAPI + une page HTML unique en vanilla JS (90 Ko), avec uniquement les comptes et snapshots sur Supabase, hébergement sur le plan gratuit de Render (ping UptimeRobot pour éviter la mise en veille)
6 473 stations-service acceptant la monnaie locale sont reliées via les données publiques de KOMSCO, par correspondance sur coordonnées à 150 m + nom commercial
Un seul gros bricolage à signaler : un jour, 57 % des stations-service ont été mises en « attente », et j’ai passé deux jours à creuser. Le seuil d’anomalie fixé à « variation prédite de 40 wons » correspondait en fait au p75 de la distribution réalisée. Je traitais donc 1 cas sur 4 comme une anomalie. Je l’ai relevé à p99,5 et le problème a été résolu. J’ai vraiment compris que les seuils doivent être définis par quantiles, pas au feeling. (Récit détaillé du développement : lien Velog)
La semaine dernière, j’ai publié un post dans une communauté d’économies, et 730 personnes sont passées en deux jours ; 82 % des inscrits étaient des navetteurs de 30 à 40 ans. Toutes les fonctions sont utilisables sans inscription et tout est gratuit.
Je réfléchis encore à beaucoup de choses, comme la prévision pour le diesel (actuellement disponible uniquement en consultation) ou des zones plus fines que les villes, districts et arrondissements. Essayez-le, et si vous avez des retours du type « la prévision dans mon quartier est bizarre », je les corrigerai en les vérifiant via le bulletin de performances.
Aucun commentaire pour le moment.