Plassic

Scoring methodology · v1.0

Methodology

How Plassic computes a score, in detail. The five packaging attributes, their weights, where the inputs come from, and the limits of what the score can — and cannot — tell you.

Score formula

Weighted average of five packaging attributes

Every Plassic score is a weighted average — 0 to 100 — calculated across five packaging attributes. Higher score = less plastic / more recyclable. The weights are expert-judgment, chosen to give intuitive polarity — they are not statistically derived (see limitations).

Score formula

Score = (mass × 0.35) + (polymers × 0.25) + (recyclable × 0.20) + (multilayer × 0.15) + (refill × 0.05)

Each term is normalised 0–100 within its attribute before weighting. Where a per-product input is unknown, a category default is substituted (see limitations); weights are never rebalanced.

Packaging attributeWeightInputsSource
Packaging mass · plastic35%Share of total packaging mass that is plastic. Sub-score = 100 − plastic-%.Open Food Facts packaging tags where present; otherwise a category default
Polymer count25%Number of distinct polymer types in the packaging. Each extra polymer costs 15 points (mixed-polymer packs are harder to recycle).Open Food Facts packaging tags where present; otherwise a category default
Curbside recyclability20%Share of packaging mass accepted in kerbside recycling. A single national figure — not resolved per postcode.Category-level recyclability estimate
Multilayer / contamination15%Whether the packaging is multilayer / laminated and not recoverable. Hard yes/no: yes → 0, no → 100.Open Food Facts packaging tags where present; otherwise a category default
Refill / return scheme5%Whether a refill or take-back scheme exists. none → 0, partial → 50, full → 100.Brand / scheme disclosure where known; otherwise none assumed
Total100%

Packaging attributes in depth

What each attribute measures

A₁

Packaging mass · plastic · 35%

The highest-weight attribute. Measures the share of total packaging mass that is plastic. Sub-score = 100 − plastic-%; so zero plastic packaging scores 100 and all-plastic scores 0. This is not a measurement of microplastic content in the product itself.

Inputs come from Open Food Facts packaging tags where a product carries them, and from per-category defaults otherwise.

A₂

Polymer count · 25%

The number of distinct polymer types in the packaging. Sub-score = 100 − (count − 1) × 15: a single polymer type scores 100, and each additional polymer costs 15 points. Mixed-polymer packaging is harder to recycle because streams must be separated before processing.

Inputs come from Open Food Facts packaging tags where a product carries them, and from per-category defaults otherwise.

A₃

Curbside recyclability · 20%

The share of packaging mass that is accepted in kerbside recycling, used directly as a 0–100 sub-score. This is a single national figure — it is not resolved per postcode or local council area. Per-region kerbside data is not yet available on the scoring request path.

Category-level recyclability estimate.

A₄

Multilayer / contamination · 15%

Whether the packaging is multilayer, laminated, or otherwise contaminated in a way that prevents recovery. This is a hard binary: packaging that is not multilayer scores 100; multilayer packaging scores 0. Laminated films and foil-lined pouches fall into this class.

Inputs come from Open Food Facts packaging tags where a product carries them, and from per-category defaults otherwise.

A₅

Refill / return scheme · 5%

The availability of a refill or take-back scheme for the product. Scored as: none → 0, partial → 50, full → 100. This is the lowest-weight attribute and is absent for the majority of products.

Brand / scheme disclosure where known; otherwise none assumed.

Score bands

Four bands, three colours rearranged

The score (0–100) maps to one of four bands. The bands use only three brand colours — rearranged — so the app stays visually coherent rather than defaulting to a red/yellow/green stoplight.

80 – 100

Clean

Minimal-plastic, easily-recyclable packaging — often a carton, glass, or a single recyclable polymer with no multilayer film.

60 – 79

Low

Mostly recyclable packaging with one or two drawbacks — a higher plastic share, an extra polymer, or no refill option.

30 – 59

Medium

Meaningful packaging-plastic burden: multiple polymers, low kerbside recyclability, or partial multilayer film.

0 – 29

High

Heavily plastic, hard-to-recycle packaging — high plastic mass, multilayer/contaminated film, and no refill route.

Colour is never the sole signal — the verdict word and score number are always present alongside the band colour (WCAG 2.2 AA compliant).

Normalisation

How each attribute is scaled to 0–100

Packaging mass (A₁)

Sub-score = 100 − plastic-%. Zero plastic packaging scores 100; 100% plastic scores 0. Intermediate values scale linearly.

Polymer count (A₂)

Sub-score = 100 − (count − 1) × 15. A single polymer = 100; two polymers = 85; three = 70; and so on. The floor is 0.

Curbside recyclability (A₃)

Used directly as a 0–100 sub-score: the percentage of packaging mass curbside-recyclable is the sub-score.

Multilayer (A₄) · Refill (A₅)

Multilayer is a hard binary: not-multilayer → 100, multilayer → 0. Refill is a three-step scale: none → 0, partial → 50, full → 100.

Missing inputs

When a per-product input is unavailable, a category default is substituted. Weights are never rebalanced. Two products in the same category will receive identical scores when both rely on category defaults.

Limitations

What the score cannot tell you

Intellectual honesty is load-bearing for Plassic. The limitations below are not disclaimers buried in a terms page — they are part of the product.

Scores are inference, not lab measurement

Plassic does not test physical samples. Scores are computed from packaging attributes sourced from product databases or category defaults. A product scoring 90 may still have plastic-contact surfaces; a product scoring 30 is not necessarily unsafe. The score quantifies packaging-recyclability signals — nothing more.

Most inputs are category defaults, not per-product measurements

For most products, the five packaging inputs are category defaults, not per-product measurements — two products in the same category receive identical inputs unless Open Food Facts carried specific packaging tags. The response carries a confidence value (0–1) reflecting this.

Packaging changes may lag

Packaging changes are picked up when a product's record is refreshed in our catalogue; between refreshes a score reflects the most recent record.

Scores are versioned

Scoring weights and attribute definitions evolve as the engine is refined. Each score record carries a score_version identifier. When a version bump changes a product's score materially (≥ 5 points), affected users receive an in-app notification. Historical scores are preserved and accessible via the API.

The weights are not empirically validated

The five weights are hand-set for intuitive polarity and have not been checked against an independent ground-truth dataset. The four published reference scores (e.g. oat-milk 94, cola 12) are authored anchors, verified at ±5 in CI — they are not evidence the formula is accurate.

The score is usually about packaging, not microplastic content

By default the 0–100 number is a packaging-recyclability score. Where Open Food Facts identifies the specific polymer a product is packaged in, Plassic shows an indicative content-exposure estimate as the headline instead — a modelled estimate of microplastic-exposure risk from that polymer and the product's category, always labelled 'indicative estimate — not a per-product measurement', with the packaging score kept visible as a component. Where only a generic material class (e.g. 'plastic') is known, the packaging score stays the headline and the estimate appears as a low-confidence component; where no material is known, the packaging score stands alone. The estimate is modelled, never measured, and no number is fabricated when signal is missing. The separate, citation-backed microplastic-exposure panel (where peer-reviewed evidence maps) is reported alongside the score and never folded into it.

Data currency

How we keep scores current

Trigger 01

Barcode re-scan

When a user scans a barcode, Plassic checks whether the product's packaging record has changed since the last score was computed. Any change triggers a re-score.

Trigger 02

Catalogue refresh

When a product's packaging record is updated in our catalogue, its score is recomputed on the next scan.

Trigger 03

Weight-version bump

When scoring weights change (a versioned update), all affected products are re-scored in bulk. Users whose product scores change by ≥ 5 points receive an in-app notification.

More reading

Need the plain-English version?

/how-it-works explains the same methodology without the formula notation — written for people who want to understand, not audit.