Products quantities: Difference between revisions

From Open Food Facts wiki
No edit summary
Line 45: Line 45:
To test this approach the examples found in France have translated to this formal approach:
To test this approach the examples found in France have translated to this formal approach:


=== France ===
 


{| class="wikitable sortable"
{| class="wikitable sortable"
Line 52: Line 52:
|-
|-
| 1 kg (8 pots) - [2 x (4 x 125 g)] || - || 1 || kg || -
| 1 kg (8 pots) - [2 x (4 x 125 g)] || - || 1 || kg || -
|-
| || 8 || - || - || pots
| || 8 || - || - || pots
|-
|-
| Emmental Coeur de Meule (28 % MG) || 275 g [250 g + 25 g (10 %) gratuit] || [http://fr.openfoodfacts.org/produit/3228023940098 (link)]
|- || 2x4 || 125 || g || -
|-
| 275 g [250 g + 25 g (10 %) gratuit] ||  
|-
|-
| Basilico || 2 * 400 g (800 g) || [http://fr.openfoodfacts.org/produit/8076809536868 (link)]
| 2 * 400 g (800 g) ||  
|-
|-
| Frais Malo Sucré || 4X100g || [http://fr.openfoodfacts.org/produit/3278691130017 (link)]
| 4X100g || 4 || 100 || g || -
|-
|-
| Twix || 2*25g || [http://fr.openfoodfacts.org/produit/5000159459228 (link)]
| 2*25g || 2 || 25 || g || -
|-
|-
| 16 mini-nems Poulet, menthe, Légumes, coriandre - Précuits - Surgelés || 200 g [160 g (2 x 8 pièces) mini-nems + 40 g sauce nuoc mâm] || [http://fr.openfoodfacts.org/produit/3270160727315 (link)]
| 16 mini-nems Poulet, menthe, Légumes, coriandre - Précuits - Surgelés || 200 g [160 g (2 x 8 pièces) mini-nems + 40 g sauce nuoc mâm] || [http://fr.openfoodfacts.org/produit/3270160727315 (link)]

Revision as of 21:20, 21 December 2015

How to handle it

Logic to handle it

Existing libraries to parse weights and quantities

Using Wikidata

Possible calculations

  • Weight per item
    • Is the same item always the same weight (ham slices)
    • Useful if you eat one of the cakes in the packaging, and want to know how many calories you ate without having to weight the cake
  • Percentage of water
    • Useful to calculate actual cost if we know the price
    • Useful to fix calorie calculation for some products
  • Calculate packaging weight by making the difference between actual weight and advertised weight
  • Calculate weight per volume for products (1dL of water is 1kg, but this changes for various products that also have a mention of their volume)
  • Some products will have multilingual weights
    • we can check that the conversion is well done if we have both values
    • we can display the value in several metrics if we have a sanitized value in one metric

Generic approach

The real-world quantities for products as used by the users us a far from ideal. However it is possible to find some common approach. (At least we try here)

  • to indicate times, either a "*" or a "x" can be used;
  • the generic formula is: multiplier * quantity size_unit for units
  • multiple formulas are distinguished by a ";"
    • multiplier indicates how often a quantity unit is used, i.e. 6 (25 cl bottles). This is a number.
    • quantity the size of the units in size_units, i.e. 25 (size) cl (size_unit) bottles (units). This is a number.
    • size_units is the unit for the size parameter, i.e. kg, ml or cl. This is an enumerated?
    • unit is the element the numbers and sizes refer to, i.e. pot, bottle, sack, etc.

Some remarks:

  • not all 4 elements are always specified, eg 250 g means 1*250 g for the entire product
  • sometimes more than one quantity is specified, e.g. 250 g (5x50 g) might mean 1x250g for the entire product OR 5 50g pots
  • there are exceptions, such as multiple multipliers.
  • naturally users do not use this formal approach, but most quantities can be translated to this approach.

Test: To test this approach the examples found in France have translated to this formal approach:


Quantity as stated by user Multiplier Quantity Size_unit Units
1 kg (8 pots) - [2 x (4 x 125 g)] - 1 kg -
8 - - pots
275 g [250 g + 25 g (10 %) gratuit]
2 * 400 g (800 g)
4X100g 4 100 g -
2*25g 2 25 g -
16 mini-nems Poulet, menthe, Légumes, coriandre - Précuits - Surgelés 200 g [160 g (2 x 8 pièces) mini-nems + 40 g sauce nuoc mâm] (link)
9 barres au chocolat au lait et aux céréales 211,5 g (9x23,5g) (link)
Fondant au chocolat 220g (2 unités, 2 x (60 g + 50 g)) (link)
Kinder Bueno 2 x 21.5 g = 43 g (link)
Prince Goût Chocolat 300 g (15 biscuits de 20 g) (link)
Eau minérale Contrex 1 Litre (link)
Brioche Harrys Tranchée la recette Originale 18tranche (link)
FERRERO ROCHER Boîte de 30 375 g, 30 pièces (link)
Kiri® (32 % MG) à la crème de lait 240 g (12 Portions) (link)
Bouchées de Poulet à la provençale 400 g (12 à 18 bouchées) (link)
Thon entier au naturel Poids net 190 g, poids net égoutté 140 g (link)
Haricots beurre très fins contenance : 4250ml, poids net total : 4000g, poids net égoutté : 2210g (link)
Lentilles (Lot de 3 boîtes) 3 x [200 g (130 g net égoutté), 212 ml] (link)
Délices du Potager - Mini poireaux 330 g (dont 180 g net), 370 mL (link)
Chewing Gum Hollywood 28 g - 20 dragées (link)
Fruit d'Or pro-activ® (35% MG) Tartine 260 g - Unilever 260 g (26 portions de 10 g) (link)
Galettes, tout au beurre 130 g pour 20 galettes (link)
Ketchup P'tits Heinz 280 ml - 310 g (link)
Original Earl Grey 25 sachets (link)
Cappellettis Tofu, Epinards Bio - 220 g - Céréal Bio 220 g (1 personne) (link)
KUB ® Or 128 g (16 bâtonnets de 2 cubes) (link)
Oeufs de poules Elevées en Plein Air (x 12) calibre Moyen - Carrefour 12 (calibre Moyen => 53 à 63 g) (link)
Belvita sablé lait 8 sachets de 4 (link)
Escargots de Bourgogne Extra Gros - 400 g - E 400 g, 425 ml (3 douzaines) (link)
nestle 228g (4x57g) / 48 cl (4x12cl) (link)

Countries

France

Product name Quantity as stated by user Product page URL
Brassé nature 1 kg (8 pots) - [2 x (4 x 125 g)] (link)
Emmental Coeur de Meule (28 % MG) 275 g [250 g + 25 g (10 %) gratuit] (link)
Basilico 2 * 400 g (800 g) (link)
Frais Malo Sucré 4X100g (link)
Twix 2*25g (link)
16 mini-nems Poulet, menthe, Légumes, coriandre - Précuits - Surgelés 200 g [160 g (2 x 8 pièces) mini-nems + 40 g sauce nuoc mâm] (link)
9 barres au chocolat au lait et aux céréales 211,5 g (9x23,5g) (link)
Fondant au chocolat 220g (2 unités, 2 x (60 g + 50 g)) (link)
Kinder Bueno 2 x 21.5 g = 43 g (link)
Prince Goût Chocolat 300 g (15 biscuits de 20 g) (link)
Eau minérale Contrex 1 Litre (link)
Brioche Harrys Tranchée la recette Originale 18tranche (link)
FERRERO ROCHER Boîte de 30 375 g, 30 pièces (link)
Kiri® (32 % MG) à la crème de lait 240 g (12 Portions) (link)
Bouchées de Poulet à la provençale 400 g (12 à 18 bouchées) (link)
Thon entier au naturel Poids net 190 g, poids net égoutté 140 g (link)
Haricots beurre très fins contenance : 4250ml, poids net total : 4000g, poids net égoutté : 2210g (link)
Lentilles (Lot de 3 boîtes) 3 x [200 g (130 g net égoutté), 212 ml] (link)
Délices du Potager - Mini poireaux 330 g (dont 180 g net), 370 mL (link)
Chewing Gum Hollywood 28 g - 20 dragées (link)
Fruit d'Or pro-activ® (35% MG) Tartine 260 g - Unilever 260 g (26 portions de 10 g) (link)
Galettes, tout au beurre 130 g pour 20 galettes (link)
Ketchup P'tits Heinz 280 ml - 310 g (link)
Original Earl Grey 25 sachets (link)
Cappellettis Tofu, Epinards Bio - 220 g - Céréal Bio 220 g (1 personne) (link)
KUB ® Or 128 g (16 bâtonnets de 2 cubes) (link)
Oeufs de poules Elevées en Plein Air (x 12) calibre Moyen - Carrefour 12 (calibre Moyen => 53 à 63 g) (link)
Belvita sablé lait 8 sachets de 4 (link)
Escargots de Bourgogne Extra Gros - 400 g - E 400 g, 425 ml (3 douzaines) (link)
nestle 228g (4x57g) / 48 cl (4x12cl) (link)