Comment on calcule ces prix

Cette page décrit exactement ce que KOSTO compare, avec quelles données, et selon quels critères. Elle est là pour que tu puisses vérifier nos chiffres — et juger de ce qu'ils valent.

État de la base à l'instant où cette page a été générée

  • 10 033 relevés de prix au total
  • dont 2 208 datant de moins de 30 jours
  • dernier relevé intégré le 1 novembre 2026
  • synchronisation automatique une fois par jour

D'où viennent nos prix

Chaque prix affiché dans KOSTO porte sa source et sa date. Voici ce qui alimente la base aujourd'hui, avec les volumes lus en base à la génération de cette page, puis ce qui est identifié mais pas encore branché.

Ce qui tourne

  1. Open Prices (prices.openfoodfacts.org), la base de prix ouverte et contributive d'Open Food Facts : des relevés faits en magasin par des contributeurs, avec l'enseigne et la date. Licence ODbL. Synchronisation automatique une fois par jour. Pour chaque relevé, la contenance réelle du produit (288 g, 1 kg, 75 cl…) est lue dans la fiche Open Food Facts associée — sans contenance, pas de prix au kilo possible, et le relevé est écarté plutôt que complété au hasard. 9 012 relevés en base.
  2. Des relevés saisis à la main par l'équipe au lancement, les 13 et 14 juillet 2026, chez E.Leclerc et Carrefour — ce ne sont pas des contributions d'utilisateurs. Ils ne sont pas re-synchronisés : ils vieillissent, et chaque ligne qui en vient affiche sa date (« ancien » au-delà de 60 jours). 400 relevés en base, dont 186 rattachés à aucun ingrédient de nos recettes — ceux-là ne servent à aucun calcul.
  3. Les tickets de caisse photographiés par les utilisateurs de KOSTO dans l'application, relus et validés à la main avant d'entrer dans la base. 2 relevés en base — c'est presque rien, et on le dit.
  4. Le prix moyen national d'un ingrédient : la médiane de tous nos relevés au kilo (ou au litre) pour cet ingrédient, toutes enseignes confondues, recalculée chaque nuit dès qu'il existe au moins deux relevés. C'est le repli utilisé quand une enseigne n'a pas de relevé pour un article ; la ligne est alors marquée « moyenne nationale ». 478 ingrédients sur 589 ont ce prix moyen ; les autres apparaissent « prix inconnu » et ne sont pas comptés dans les totaux.

Techniquement : prices.source ne prend jamais que ces six valeurs (base vérifiable, migration 095) — Open Prices (base ouverte) = open_prices · RNM/FranceAgriMer = rnm · INSEE = insee · Ticket de caisse = ticket_utilisateur · Relevé manuel de l'équipe (juillet 2026) = seed_manual_2026-07 · Relevé manuel de l'équipe — E.Leclerc (juillet 2026) = seed_leclerc_2026-07 · Prix affiché sur le drive de l'enseigne (relevé par l'équipe) = drive_scrape · Amorçage de l'équipe (juillet 2026, valeurs indicatives) = seed_amorcage_2026-07.

619 relevés en base viennent d'une source que cette page ne décrit pas. Tant que cette phrase est visible, la liste ci-dessus est incomplète : c'est un défaut de notre part, pas une source cachée volontairement.

Les cotations publiques, à part

Deux sources publiques alimentent uniquement le prix moyen national décrit ci-dessus : elles ne sont pas des relevés en magasin, ne portent aucune enseigne, et ne sont donc comptées ni dans les relevés ci-dessus ni dans la comparaison entre enseignes.

  • RNM — FranceAgriMer : cotations hebdomadaires des fruits et légumes en grande distribution (marché « Légumes France détail GMS », € TTC/kg). Licence ouverte Etalab, usage commercial autorisé.
  • INSEE — prix moyens de détail (indices de prix à la consommation, séries de prix moyens en euros pour viandes, poissons, fruits, pain ; pas de lait, beurre, œufs, riz ni pâtes). Licence ouverte Etalab.

1 194 cotations en base.

Il n'existe aucune API officielle de prix chez Carrefour, Leclerc, Lidl ou les autres enseignes, et nous n'aspirons pas leurs sites. Nos prix ne sont donc jamais des prix « officiels » engagés par une enseigne : ce sont des relevés réels, datés et sourcés — et quand nous n'en avons pas, l'application écrit « prix inconnu », jamais un nombre inventé.

Ce qui est comparé, et ce qui ne l'est pas

La comparaison porte sur ta liste de courses : pour chaque ingrédient, on retient le conditionnement le plus adapté à la quantité dont ta recette a besoin, puis on additionne le panier complet enseigne par enseigne.

Les limites, dites franchement :

  • La comparaison se fait au niveau de l'enseigne, pas du magasin. Nos relevés ne portent pas de ville : nous ne pouvons pas te dire que tel Carrefour précis près de chez toi est moins cher qu'un autre. Les prix varient réellement d'un magasin à l'autre.
  • Tous les ingrédients n'ont pas de relevé chez chaque enseigne. Quand il manque, on utilise le prix moyen national décrit plus haut, et la ligne est marquée « moyenne nationale » dans ta liste. Chaque enseigne du comparateur indique combien d'articles sont à son prix relevé.
  • Un relevé peut avoir plusieurs semaines. Chaque ligne de ta liste affiche la date de son relevé (« relevé il y a 12 j »), et au-delà de 60 jours elle est marquée « ancien ». La date du dernier relevé intégré est affichée en haut de cette page.

Comment le classement est établi

Un seul critère, mécanique et sans pondération éditoriale : le coût total de ton panier, enseigne par enseigne. L'enseigne présentée en premier est celle dont le total est le plus bas. Aucune enseigne n'est favorisée, remontée ou écartée manuellement.

Quand trop d'articles de ta liste n'ont pas de prix relevé chez une enseigne, celle-ci est écartée du classement plutôt que d'être comparée sur un panier incomplet — comparer 40 % d'un panier contre 100 % d'un autre produirait un gagnant faux.

Des paquets entiers, pas un prorata

Le chiffre principal affiché sur ton plan (la jauge budget) est ce que tu paies en caisse : pour l'essentiel de la liste, le moteur achète des paquets entiers — 187 g de pâtes, c'est un paquet de 500 g au prix du paquet, parce que les magasins ne vendent pas 187 g de pâtes. Parmi les conditionnements relevés chez une enseigne, il retient celui qui coûte le moins cher pour couvrir le besoin de la semaine (le petit paquet pour une pincée, le gros quand plusieurs recettes s'en servent), et écarte les formats absurdes pour la quantité demandée. Les produits vendus au kilo (fruits, légumes en vrac) sont pesés : la quantité utile, arrondie aux 100 g.

Deux exceptions restent au prorata (prix du paquet divisé par sa contenance, multiplié par la quantité utilisée) : le fond de placard (sel, huile, épices — tu vérifies chez toi, tu ne rachètes pas) et les herbes fraîches pour servir. La fiche de chaque recette, elle, reste au prorata de ses propres quantités, sur nos prix moyens nationaux : c'est pourquoi la somme des fiches est plus basse que le ticket du plan.

L'écart entre le ticket et ce que le plan consomme réellement des paquets — « dont X € qui restent dans les paquets » sous la jauge — n'est pas du gaspillage : c'est de la matière pour les plans suivants, calculée ligne par ligne sur le paquet réellement acheté.

Personne ne nous paie pour ce classement

Aucune enseigne ne rémunère KOSTO, sous aucune forme : ni référencement payant, ni commission d'apport d'affaires, ni affiliation, ni partenariat commercial. Aucune enseigne n'a de droit de regard sur le classement, et aucune n'est informée à l'avance de sa position.

KOSTO est financé uniquement par ses utilisateurs, via l'abonnement Premium. C'est un choix structurant : un comparateur payé par ceux qu'il compare ne peut pas être neutre.

Une erreur, un prix qui te paraît faux ?

C'est possible, et c'est utile de nous le dire — la base s'améliore avec les relevés réels. Tu peux photographier ton ticket de caisse dans l'application : les prix qu'il contient viennent corriger et dater nos relevés. Tu peux aussi nous écrire à bonjour@kostoapp.fr.