Project:Open-Prices
The goal of this project is to store prices of food products and to make them available to the public, through a REST API and web interface.
The data is licensed under OdBL 1.0, images (proof) are licensed under CC-BY-SA 4.0.
Data sources
We currently consider the following data sources:
- crowdsourced price data
- via a frontend application, filling in a simple form. With ideally a proof (either a store receipt, or a picture of the product with its price tag)
- via the import of past purchases, obtained through GDPR request to stores (fidelity cards :)
- prices obtained from users on the web using a web extension
- prices provided by retailers, through the API
Crowdsourcing the data collect has the advantage of mobilizing the community around the project and of getting traction and visibility. We want to reach a critical mass of data to make the project useful, and we think that crowdsourcing is the best way to achieve this goal. Scan parties in stores can be organized to collect data.
We currently don't allow scraping as a data source for a first version, as it bears some legal concerns and technical challenges to overcome:
- the database protection law in Europe may prevent us from extracting the price from the website, if we don't have the authorization of the website owner
- the price can be different depending on the user selected store. Furthermore, some retailers (in the UK for example) start to adapt their prices depending on the user profile (if they are identified as a regular customer, or if they are a new customer). This makes it difficult to have a consistent price for a product.
Current status
A POC developed during Open Food Facts Days 2023 is currently running here: https://open-prices.osc-fr1.scalingo.io (Github repo)
A migration is in progress to rebuild and deploy the service on Open Food Facts servers
- a FastAPI backend to store data: https://prices.openfoodfacts.net (pre-prod) & https://prices.openfoodfacts.net (prod) (Github code)
- a Vue.js frontend to add prices: no link yet (Github code)
- an integration in the existing https://openfoodfacts-explorer.vercel.app application
We're not displaying the price on Open Food Facts website or application yet, as it has to be thoroughly considered first (the website and the application attract a lot of traffic).
Challenges
- On receipt images, there may be some personal data (name, fidelity card number, etc.). We need to find a way to remove this data before publishing the image.
- Find a way to collect efficiently prices (probably through a mobile app)
Usage ideas
In a few words | Details |
---|---|
Price trends for a specific product | |
Price comparison between stores for a specific product | |
For a given product, know in which stores it is sold | |
Better compare similar products (in addition to Nutri-score, NOVA & Eco-score) - price per kilo - Should I take the national brand, the retailer brand, the budget retailer brand ? | |
Leverage the other Open Food Facts databases (products, beauty, pet food) to store prices for products other than food | |
Spot geographic price differences for the same product, or for a product category | |
See if ingredient composition aligns linearly with price (eg: more meat= pricier) | |
Support shrinkflation investigation | |
See if quality labels (eg organic) have an effect on prices | |
Help gather information about which products are available in your nearby store, as a side effect of price collection |
Documentation and communication
Slack channel: #prices
Weekly meeting: every Wednesday at 2PM (CET), feel free to join if you're interested in the project: https://meet.google.com/oin-hiqp-tmd
Timeline
Date | Description |
---|---|
08/11/2023 |