Products quantities: Difference between revisions

From Open Food Facts wiki
Line 43: Line 43:


Test:
Test:
To test this approach the examples found in France have translated to this formal approach:
=== France ===
{| class="wikitable sortable"
|-
! Quantity as stated by user !! Multiplier !! Quantity !! Size_unit !! Units
|-
| 1 kg (8 pots) - [2 x (4 x 125 g)] || - || 1 || kg || -
| || 8 || - || - || pots
|-
| Emmental Coeur de Meule (28 % MG) || 275 g [250 g + 25 g (10 %) gratuit] || [http://fr.openfoodfacts.org/produit/3228023940098 (link)]
|-
| Basilico || 2 * 400 g (800 g) || [http://fr.openfoodfacts.org/produit/8076809536868 (link)]
|-
| Frais Malo Sucré || 4X100g || [http://fr.openfoodfacts.org/produit/3278691130017 (link)]
|-
| Twix || 2*25g || [http://fr.openfoodfacts.org/produit/5000159459228 (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)]
|-
| 9 barres au chocolat au lait et aux céréales || 211,5 g (9x23,5g) || [http://fr.openfoodfacts.org/produit/80176831 (link)]
|-
| Fondant au chocolat || 220g (2 unités, 2 x (60 g + 50 g)) || [http://fr.openfoodfacts.org/produit/3184670001554 (link)]
|-
| Kinder Bueno || 2 x 21.5 g = 43 g || [http://fr.openfoodfacts.org/produit/8000500037560 (link)]
|-
| Prince Goût Chocolat || 300 g (15 biscuits de 20 g) || [http://fr.openfoodfacts.org/produit/7622210245281 (link)]
|-
| Eau minérale Contrex || 1 Litre || [http://fr.openfoodfacts.org/produit/3179730115821 (link)]
|-
| Brioche Harrys Tranchée la recette Originale || 18tranche || [http://fr.openfoodfacts.org/produit/3228850003928 (link)]
|-
| FERRERO ROCHER Boîte de 30 || 375 g, 30 pièces || [http://fr.openfoodfacts.org/produit/8000500167113 (link)]
|-
| Kiri® (32 % MG) à la crème de lait || 240 g (12 Portions) || [http://fr.openfoodfacts.org/produit/3073780258098 (link)]
|-
| Bouchées de Poulet à la provençale || 400 g (12 à 18 bouchées) || [http://fr.openfoodfacts.org/produit/3270160202621 (link)]
|-
| Thon entier au naturel || Poids net 190 g, poids net égoutté 140 g || [http://fr.openfoodfacts.org/produit/3019080067015 (link)]
|-
| Haricots beurre très fins || contenance : 4250ml, poids net total : 4000g, poids net égoutté : 2210g || [http://fr.openfoodfacts.org/produit/3112940002642 (link)]
|-
| Lentilles (Lot de 3 boîtes) || 3 x [200 g (130 g net égoutté), 212 ml] || [http://fr.openfoodfacts.org/produit/3263851355812 (link)]
|-
| Délices du Potager - Mini poireaux || 330 g (dont 180 g net), 370 mL || [http://fr.openfoodfacts.org/produit/3459223171337 (link)]
|-
| Chewing Gum Hollywood || 28 g - 20 dragées || [http://fr.openfoodfacts.org/produit/30034105 (link)]
|-
| Fruit d'Or pro-activ® (35% MG) Tartine 260 g - Unilever || 260 g (26 portions de 10 g) || [http://fr.openfoodfacts.org/produit/8712100408359 (link)]
|-
| Galettes, tout au beurre || 130 g pour 20 galettes || [http://fr.openfoodfacts.org/produit/3023470001015 (link)]
|-
| Ketchup P'tits Heinz || 280 ml - 310 g || [http://fr.openfoodfacts.org/produit/8715700033235 (link)]
|-
| Original Earl Grey || 25 sachets || [http://fr.openfoodfacts.org/produit/0070177052706 (link)]
|-
| Cappellettis Tofu, Epinards Bio - 220 g - Céréal Bio || 220 g (1 personne) || [http://fr.openfoodfacts.org/produit/3175681061460 (link)]
|-
| KUB ® Or || 128 g (16 bâtonnets de 2 cubes) || [http://fr.openfoodfacts.org/produit/7613033586101 (link)]
|-
| Oeufs de poules Elevées en Plein Air (x 12) calibre Moyen - Carrefour || 12 (calibre Moyen => 53 à 63 g) || [http://fr.openfoodfacts.org/produit/3270190205685 (link)]
|-
| Belvita sablé lait || 8 sachets de 4 || [http://fr.openfoodfacts.org/produit/3017760307499 (link)]
|-
| Escargots de Bourgogne Extra Gros - 400 g - E || 400 g, 425 ml (3 douzaines) || [http://fr.openfoodfacts.org/produit/3459222677281 (link)]
|-
| nestle || 228g (4x57g) / 48 cl (4x12cl) || [http://fr.openfoodfacts.org/produit/2000000003897 (link)]
|}
[[Category:ProductOpener]]


== Countries ==
== Countries ==

Revision as of 21:16, 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:

France

Quantity as stated by user Multiplier Quantity Size_unit Units
1 kg (8 pots) - [2 x (4 x 125 g)] - 1 kg - 8 - - pots
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)

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)