Project:Open-Prices: Difference between revisions
(→Current status: add link to open-prices-frontend, reword) |
(→Data sources: rewording) |
||
Line 6: | Line 6: | ||
We currently consider the following data sources: | We currently consider the following data sources: | ||
* crowdsourced price data | |||
* 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 | * 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. | 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: | 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 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. | * 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. |
Revision as of 20:41, 1 December 2023
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) | |
Leverage the other Open Food Facts databases (products, beauty) to store prices for products other than food |
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 |