Qualité des données
Provenance et fraîcheur d’une observation de prix
Comment lire producteur, magasin, canal, date, preuve, expiration et statut sans transformer une observation locale en vérité nationale.
Un prix est un fait situé
Une observation relie un produit, un montant, un point de vente ou canal et une date. Elle peut être exacte au moment du relevé tout en étant déjà dépassée lors de la consultation.
La provenance permet de relire ou corriger. La fraîcheur indique l’âge. La couverture dit ce qui a effectivement été observé. Ces trois dimensions restent visibles avec le résultat.
Champs minimaux
| Champ | Question | Limite |
|---|---|---|
| Produit | Quelle référence et quantité ? | Nom seul ambigu |
| Magasin | Quel point de vente ? | Pas toute l’enseigne |
| Canal | Rayon, Drive ou autre ? | Prix distinct possible |
| Date | Quand observé ? | Pas le prix courant garanti |
| Preuve | Comment relire ? | Peut contenir des données à expurger |
| Expiration | Quand masquer ? | Règle dépendante de la source |
Sources possibles
Étiquette de rayon, ticket, catalogue, API d’enseigne et base contributive ne prouvent pas la même chose. Le ticket prouve un achat passé ; l’étiquette décrit un affichage local ; le catalogue annonce une offre et ses dates ; une API fournit son propre contrat.
Conservez le type de source. Une image doit éviter identité, moyen de paiement, numéro de fidélité ou détail de panier non nécessaire.
Fraîcheur et expiration
Une durée fixe ne convient pas à toutes les sources. Une promotion possède une fin annoncée. Un prix de carburant porte sa date de mise à jour. Une observation alimentaire isolée peut exiger une vérification plus prudente.
Après expiration, le système peut conserver l’historique mais ne le classe plus comme courant. Il ne modifie jamais la date pour rajeunir une donnée.
Donnée absente, prix absent et stock inconnu
Aucune observation admissible signifie qu’aucun prix comparable n’est disponible dans le périmètre. Cela ne signifie ni rupture, ni prix élevé, ni produit absent du magasin.
Le stock est une donnée distincte et reste inconnu tant qu’une source autorisée ne le qualifie pas. L’interface doit afficher l’absence au lieu de classer une valeur zéro.
Interpréter les données manquantesPublication atomique
- Importer une seule fois par source.
- Valider schéma et unités.
- Dédupliquer par identité et observation.
- Mettre les anomalies en quarantaine.
- Construire le snapshot complet.
- Vérifier empreinte et couverture.
- Publier atomiquement.
- Conserver rollback et âge réel.
Cas concret — trois magasins, une seule ville observée
Un snapshot contient des magasins dans plusieurs zones, mais seules des observations courantes à Nancy. Le catalogue des magasins ne devient pas une couverture de prix de toutes les zones.
Le bon affichage sépare points de vente connus et zones effectivement observées, puis date le constat. PaniPrix ne revendique aucune couverture nationale.
Séparer date d’observation, preuve, ingestion et correction
Une donnée peut porter plusieurs dates sans contradiction. La date d’observation dit quand le prix a été vu ; la date de preuve date le ticket ou la photographie ; l’ingestion indique l’arrivée dans le système ; la mise à jour technique signale une correction ou un enrichissement. Seule la première décrit directement l’âge du prix.
Un export actualisé aujourd’hui peut contenir une observation ancienne. Le comparateur ne rajeunit donc jamais toutes les lignes à la date du fichier. Il expose la date propre à chaque observation et utilise ingestion ou correction pour l’audit, pas pour prétendre à une fraîcheur commerciale.
| Date | Question | Usage |
|---|---|---|
| Observation | Quand le prix a-t-il été vu ? | Fraîcheur métier |
| Preuve | Quand le justificatif a-t-il été produit ? | Cohérence du fait |
| Ingestion | Quand le système l’a-t-il reçu ? | Suivi du pipeline |
| Mise à jour | Quand la fiche a-t-elle été corrigée ? | Traçabilité |
| Expiration | Jusqu’à quand classer ? | Règle annoncée |
Modèle preuve–prix–lieu–produit
Open Prices structure son cœur autour de la preuve, du prix, du lieu et du produit. Cette séparation évite qu’une photographie devienne une vérité sans contexte ou qu’un prix flotte sans magasin ni référence. Une preuve peut être un ticket, une étiquette, un import boutique ou un export conforme au contrat de la source.
Le site conserve le type et l’identifiant de preuve nécessaires à la relecture, mais n’expose pas de données personnelles inutiles. Un ticket publié doit être expurgé des éléments tels que moyen de paiement, identifiant de fidélité ou autres achats. La preuve soutient l’observation locale ; elle ne certifie pas un tarif national.
Mesurer la couverture avant de publier un classement
La couverture se décrit par produits, magasins, zones, canaux et fenêtre temporelle réellement observés. Compter des magasins référencés ne suffit pas si aucun prix actuel n’y est attaché. De même, vingt observations peuvent porter sur deux produits répétés et ne couvrir presque rien d’un panier courant.
Un résultat utile affiche le nombre de lignes comparables, le nombre attendu, les lieux couverts et la plage de dates. Si Nancy possède des observations mais pas les autres villes déclarées dans le catalogue, la conclusion reste limitée à Nancy. Le silence d’une zone n’est pas extrapolé à la France.
- Produits distincts effectivement observés
- Points de vente et canaux effectivement couverts
- Zone géographique déclarée
- Date la plus ancienne et la plus récente
- Part des lignes expirées ou rejetées
- Stock qualifié séparément, ou inconnu
Corriger sans effacer l’histoire
Une erreur d’unité, de produit ou de lieu doit pouvoir être mise en quarantaine puis corrigée avec motif, date et provenance. Réécrire silencieusement l’observation détruit la possibilité d’expliquer un ancien résultat. La version publiée courante exclut l’anomalie, tandis que l’audit conserve la relation entre valeur initiale et correction.
Une publication atomique évite de servir un mélange de données anciennes et nouvelles pendant l’import. Le manifeste courant référence un snapshot complet vérifié ; en cas d’erreur, le rollback revient au snapshot précédent sans attribuer à celui-ci une date plus récente.
Fiche de lecture d’une observation
- Identifier exactement le produit ou la catégorie.
- Lire prix, unité et devise sans conversion implicite.
- Vérifier magasin, zone et canal.
- Chercher la date d’observation plutôt que la date du fichier.
- Qualifier la preuve et expurger les données inutiles.
- Appliquer la règle de fraîcheur annoncée.
- Vérifier la couverture avant toute comparaison.
- Conserver stock et disponibilité comme inconnus sans source dédiée.
Limites et date
La qualité d’une observation n’établit pas une représentativité statistique. Un prix local n’est pas une moyenne nationale et un ensemble contributif n’est pas exhaustif.
Dernière révision humaine : 16 septembre 2026. Les chiffres produit volatils sont consultables dans la page de transparence PaniPrix plutôt que figés dans ce guide de méthode.
Sources
- Documentation de l’API Open Prices · Open Food Facts · vérifié le 9 septembre 2026
- Open Prices — modèle de données principal · Open Food Facts · vérifié le 16 septembre 2026
- Code officiel géographique 2026 · Insee · vérifié le 9 septembre 2026
- L’information sur les prix · DGCCRF · vérifié le 9 septembre 2026
- Minimiser les données collectées · CNIL · vérifié le 16 septembre 2026