Retail Methodology

Scope Boundary

Retail Scope Boundary

This diagram communicates the scope boundary as aligned with the Food Loss and Waste Accounting and Reporting Standard[17]. Note that ReFED’s analysis also includes food sent to donations, although donations are not considered a destination within the Standard.

NOTES
  • “Food Donation” has been added as a Destination

  • “Biomaterial Processing is referred to as “Industrial Uses” in our model

  • “Co/anaerobic digestion” is referred to as “Anaerobic digestion” in our model

  • “Controlled Combustion” is referred to as “Incineration” in our model

  • “Refuse/discards” is referred to as “Dumping” in our model

Calculations

Unsold Food Calculations

Master Unsold Food Equation:
Tons Unsold Food = Tons Purchased by Retailers - Tons Sold

In ReFED’s data model, the following calculations are repeated for every state, year, and grocery retail food category before any aggregation is done.

Table 9. Calculations Performed to Quantify U.S. Retail Surplus Food Surplus

Table 1. Calculations Performed to Quantify U.S. Retail Surplus Food

DATA ITEM

DATA SOURCE OR CALCULATION

EXAMPLE

US Dollars Sold

Nielsen Retail Point-of Sale (POS) Data[38]

$ __retail_example_us_dollars_sold__ __retail_example_refed_food_category__ sold by grocery retailers in __retail_example_state__ in __retail_example_year__

Tons Sold

Nielsen Retail Point-of Sale (POS) Data[38]

__retail_example_tons_sold__ tons __retail_example_refed_food_category__ sold by grocery retailers in __retail_example_state__ in __retail_example_year__

Unsold Food Rate

USDA Supermarket Shrink Estimates for ERS Loss-Adjusted Food Availability Data (LAFA)[52],[5]

Unsold food rates from the FMI Supermarket Security and Loss Prevention Report[13] were used for categories not covered by the USDA LAFA study

See Appendix K and L for unsold food rates

According to USDA LAFA study, __retail_example_unsold_food_rate__% by weight of fresh __retail_example_refed_food_category__ goes unsold

Tons Purchased by Retailers

= Tons Sold / ( 100% - Unsold Food Rate )

= __retail_example_tons_sold__ tons sold / ( 100% - __retail_example_unsold_food_rate__% )
= __retail_example_tons_supply__ tons purchased by retailers

US Dollars Purchased by Retailers

= US Dollars Sold / ( 100% - Unsold Food Rate)

= $__retail_example_us_dollars_sold__ sold / ( 100% - __retail_example_unsold_food_rate__% )
= $__retail_example_us_dollars_supply__ retail value purchased from suppliers

Tons Unsold

= Tons Purchased by Retailers - Tons Sold

= __retail_example_tons_supply__ tons purchased - __retail_example_tons_sold__ tons sold
= __retail_example_tons_surplus__ tons unsold

US Dollars Unsold

= US Dollars Purchased - US Dollars Sold

= $__retail_example_us_dollars_supply__ retail value purchased - $__retail_example_us_dollars_sold__ sold
= $__retail_example_dollars_surplus__ unsold

Cause Calculations

Master Cause Equation:
Tons Unsold Food due to Cause = Tons Unsold Food * % Unsold Food due to Cause

Table 10. Calculations Performed to Quantify the Causes of U.S. Retail Surplus Food

Table 2. Calculations Performed to Quantify the Causes of U.S. Retail Surplus Food

DATA ITEM

DATA SOURCE OR CALCULATION

EXAMPLE

% Unsold Food due to Cause

Expert Interviews Data[11]
See Appendix M
% Breakdown of retail unsold food causes for Produce:
Date label concerns: __retail_example_percent_surplus_due_to_cause_date_label_concerns__%
Equipment issues: __retail_example_percent_surplus_due_to_cause_equipment_issues__%
Food safety recall: __retail_example_percent_surplus_due_to_cause_food_safety_recall__%
Handling errors: __retail_example_percent_surplus_due_to_cause_handling_errors__%
Spoiled: __retail_example_percent_surplus_due_to_cause_spoiled__%
Theft: __retail_example_percent_surplus_due_to_cause_theft__%
—————————–
Total: 100%

Tons Unsold due to Cause

= Tons Unsold * % Unsold Food due to Cause

Date label concerns:
= __retail_example_tons_surplus__ tons unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_date_label_concerns__%
= __retail_example_tons_surplus_due_to_cause_date_label_concerns__ tons
Equipment issues:
= __retail_example_tons_surplus__ tons unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_equipment_issues__%
= __retail_example_tons_surplus_due_to_cause_equipment_issues__ tons

Food safety recall:
= __retail_example_tons_surplus__ tons unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_food_safety_recall__%
= __retail_example_tons_surplus_due_to_cause_food_safety_recall__ tons

Handling errors:
= __retail_example_tons_surplus__ tons unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_handling_errors__%
= __retail_example_tons_surplus_due_to_cause_handling_errors__ tons

Spoiled:
= __retail_example_tons_surplus__ tons unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_spoiled__%
= __retail_example_tons_surplus_due_to_cause_spoiled__ tons

Theft:
= __retail_example_tons_surplus__ tons unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_theft__%
= __retail_example_tons_surplus_due_to_cause_theft__ tons

US Dollars Unsold due to Cause

= US Dollars Unsold * % Unsold Food due to Cause

Date label concerns:
= $__retail_example_dollars_surplus__ unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_date_label_concerns__%
= $__retail_example_us_dollars_surplus_due_to_cause_date_label_concerns__

Equipment issues:
= $__retail_example_dollars_surplus__ unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_equipment_issues__%
= $__retail_example_us_dollars_surplus_due_to_cause_equipment_issues__

Food safety recall:
= $__retail_example_dollars_surplus__ unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_food_safety_recall__%
= $__retail_example_us_dollars_surplus_due_to_cause_food_safety_recall__

Handling errors:
= $__retail_example_dollars_surplus__ unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_handling_errors__%
= $__retail_example_us_dollars_surplus_due_to_cause_handling_errors__

Spoiled:
= $__retail_example_dollars_surplus__ unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_spoiled__%
= $__retail_example_us_dollars_surplus_due_to_cause_spoiled__

Theft:
= $__money_var__ unsold __retail_example_refed_food_category__ * __retail_example_percent_surplus_due_to_cause_theft__%
= $__retail_example_us_dollars_surplus_due_to_cause_theft__

Destination Calculations

Master Destination Equation:
Tons Unsold Food sent to Destination ‘= Tons Unsold Food * % Unsold Food Sent to Destination

Table 11. Calculations Performed to Quantify the Destinations of U.S. Retail Surplus Food

Table 3. Calculations Performed to Quantify the Destinations of U.S. Retail Surplus Food

DATA ITEM

DATA SOURCE OR CALCULATION

EXAMPLE

Destination Breakdown of Retail Surplus Food

FWRA Surveys[25]

According to the FWRA Surveys, this was the destination breakdown of retail surplus (See Appendix N):

% Donations: __retail_example_percent_donated__%
% Animal Feed: __retail_example_percent_animal_feed__%
% Biomaterials / processing: __retail_example_percent_biomaterial_processing__%
% Co/anaerobic Digestion: __retail_example_percent_anaerobically_digested__%
% Composting: __retail_example_percent_composted__%
% Land Application: __retail_example_percent_land_application__%
% Sewer: __retail_example_percent_sewer__%
% Trash: __retail_example_percent_trash__%
% Refuse / discards: __retail_example_percent_refuse_discards__%
————————————————
Total: 100%

% of Trash that is Landfilled vs Incinerated in __retail_example_state__ (Biocycle/Columbia University Survey[8]) (See Appendix Z)

% of Trash that is Landfilled = __retail_example_percent_of_trash_landfilled__%
% of Trash that is Incinerated = __retail_example_percent_of_trash_incinerated__%
Breaking “Trash” into Landfill vs Incineration:

% Landfilled = % Trash * % of Trash that is Landfilled

% Incinerated = % Trash * % of Trash that is Incinerated
% Landfilled:
= __retail_example_percent_trash__% * __retail_example_percent_of_trash_landfilled__%
= __percent_var__%

% Incinerated:
= __retail_example_percent_trash__% * __retail_example_percent_of_trash_incinerated__%
= __percent_var__%

Tons Donated

= Tons Surplus * % Donated

= __retail_example_tons_surplus__ tons __retail_example_refed_food_category__ surplus * __retail_example_percent_donated__% donated
= __retail_example_tons_donated__ tons __retail_example_refed_food_category__ donated

Tons Animal Feed

= Tons Surplus * % Animal Feed

= __retail_example_tons_surplus__ tons __retail_example_refed_food_category__ surplus * __retail_example_percent_animal_feed__% animal feed
= __retail_example_tons_animal_feed__ tons __retail_example_refed_food_category__ sent to animal feed

Tons Biommaterials / processing

= Tons Surplus * % Biomaterials / processing

= __retail_example_tons_surplus__ tons __retail_example_refed_food_category__ surplus * __retail_example_percent_biomaterial_processing__% biomaterials / processing
= __retail_example_tons_biomaterial_processing__ tons __retail_example_refed_food_category__ sent to biomaterials / processing

Tons Co/anaerobic digestion

= Tons Surplus * % Co/anaerobic digestion

= __retail_example_tons_surplus__ tons __retail_example_refed_food_category__ surplus * __retail_example_percent_anaerobically_digested__% co/ anaerobic digestion
= __retail_example_tons_anaerobically_digested__ tons __retail_example_refed_food_category__ sent to co/anaerobic digestion

Tons Composted

= Tons Surplus * % Composted

= __retail_example_tons_surplus__ tons __retail_example_refed_food_category__ surplus * __retail_example_percent_composted__% composted
= __retail_example_percent_composted__ tons __retail_example_refed_food_category__ composted

Tons Land application

= Tons Surplus * % Land applications

= __retail_example_tons_surplus__ tons __retail_example_refed_food_category__ surplus * __retail_example_percent_land_application__% land application
= __retail_example_tons_land_application__ tons __retail_example_refed_food_category__ sent to land application

Tons Sewer

= Tons Surplus * % Sewer

= __retail_example_tons_surplus__ tons __retail_example_refed_food_category__ surplus * __retail_example_percent_sewer__% disposed down the drain
= __retail_example_tons_sewer__ tons __retail_example_refed_food_category__ disposed via sewer

Tons Landfilled

= Tons Surplus * % Landfilled

= __retail_example_tons_surplus__ tons __retail_example_refed_food_category__ surplus * __percent_var__% landfilled
= __retail_example_tons_landfilled__ tons ___retail_example_refed_food_category__ landfilled

Tons Incineration

= Tons Surplus * % Incineration

= __retail_example_tons_surplus__ tons __retail_example_refed_food_category__ surplus * __percent_var__% incinerated
= __retail_example_tons_incinerated__ tons __retail_example_refed_food_category__ incinerated

US Dollars Donated

= US Dollars Surplus * % Donated

= $__retail_example_us_dollars_surplus__ US dollars __retail_example_refed_food_category__ surplus * __retail_example_percent_donated__% donated
= $__retail_example_us_dollars_donated__ US dollars __retail_example_refed_food_category__ donated

US Dollars Animal Feed

= US Dollars Surplus * % Animal Feed

= $__retail_example_us_dollars_surplus__ US dollars __retail_example_refed_food_category__ surplus * __retail_example_percent_animal_feed__% animal feed
= $__retail_example_us_dollars_animal_feed__ US dollars __retail_example_refed_food_category__ sent to animal feed

US Dollars Biomaterials / processing

= US Dollars Surplus * % Biomaterials / processing

= $__retail_example_us_dollars_surplus__ US dollars __retail_example_refed_food_category__ surplus * __retail_example_percent_biomaterial_processing__% biomaterials / processing
= $__retail_example_us_dollars_biomaterial_processing__ US dollars __retail_example_refed_food_category__ sent to biomaterials / processing

US Dollars Co/anaerobic digestion

= US Dollars Surplus * % Co/anaerobic digestion

= $__retail_example_us_dollars_surplus__ US dollars __retail_example_refed_food_category__ surplus * __retail_example_percent_anaerobically_digested__% co/anaerobic digestion
= $__retail_example_us_dollars_anaerobically_digested__ US dollars __retail_example_refed_food_category__ sent to co/ anaerobic digestion

US Dollars Composted

= US Dollars Surplus * % Composted

= $__retail_example_us_dollars_surplus__ US dollars __retail_example_refed_food_category__ surplus * __retail_example_percent_composted__% composted
= $__retail_example_us_dollars_composted__ US dollars __retail_example_refed_food_category__ composted

US Dollars Land application

= US Dollars Surplus * % Land application

= $__retail_example_us_dollars_surplus__ US dollars __retail_example_refed_food_category__ surplus * __retail_example_percent_land_application__% land application
= $__retail_example_us_dollars_land_application__ US dollars __retail_example_refed_food_category__ sent to land application

US Dollars Sewer

= US Dollars Surplus * % Sewer

= $__retail_example_us_dollars_surplus__ US dollars __retail_example_refed_food_category__ surplus * __retail_example_percent_sewer__% disposed down the drain
= $__retail_example_us_dollars_sewer__ US dollars __retail_example_refed_food_category__ disposed via sewer

US Dollars Landfilled

= US Dollars Surplus * % Landfilled

= $__retail_example_us_dollars_surplus__ US dollars __retail_example_refed_food_category__ surplus * __percent_var__% landfilled
= $__retail_example_us_dollars_landfilled__ US dollars __retail_example_refed_food_category__ landfilled

US Dollars Incineration

= US Dollars Surplus * % Incineration

= $__retail_example_us_dollars_surplus__ US dollars __retail_example_refed_food_category__ surplus * __percent_var__% incinerated
= $__retail_example_us_dollars_incinerated__ US dollars __retail_example_refed_food_category__ incinerated

Data Sources and Limitations

Retail Value and Tons Sold

Raw data and documentation:
This is confidential data from Nielsen and cannot be shared.

Nielsen data represents over 85% coverage of grocery retail sales in the U.S. Each year top U.S. grocery retailers report item level point-of-sale sales data to Nielsen[38], including information about each item such as the grocery chain where it was sold, the brand name of the product, the food classification (department, category, subcategory), the weight of food and packaging, and many other attributes. ReFED used this data to quantify the retail value and weight of food sold by grocery retailers in the U.S. by year, state, and food type. For more information about the weight data, see the U.S. Grocery Retail Dollar-to-Weight Conversion Factors report[39].

Nielsen provided point-of-sale data for the years 2016-2019. In order to estimate values for the missing years 2010-2015 each subcategory was extrapolated using category-level average year-over-year linear growth rates for both sales value and sales weight. Due to the high granularity of the categories, there were some cases where the growth rates were either extremely high or extremely low. To avoid unrealistic growth estimations over time within these outlier categories, department-level growth rates were used instead if a category had a growth rate ±15%. These outlier categories represent 0.5% of total sales.

The accuracy of these estimates is limited to the accuracy of the Nielsen sales and weight data. The weight data for UPC items comes directly from up-to-date product packaging images. For non-UPC items sold in eaches, Nielsen estimates weight using a weight conversion factor (e.g., the average weight of a lemon). For other non-UPC items, Nielsen is reliant on the retailer transaction data to provide the item sale weight units (e.g., lbs of apples sold).

Unsold Food Rates

Raw data and documentation:
This contains confidential data from Nielsen and cannot be shared.

In 2016, USDA released a study using data from 2012 that quantified the percentage by weight of grocery retail supplier purchases that are not sold to customers[5]. Five individual retailers contributed supplier purchase data for the study and these numbers were compared to customer sales data. The data covered 45 states and 2,900 locations. See Appendix K for a list of unsold food rates from this study. These numbers are very credible and valuable for estimating retail food surplus in the U.S. The only limitations of using this dataset for this purpose are that the data is from 2012, and it does not cover a significant portion of items sold at grocery stores (e.g. complex products like boxed dinners, frozen meals, bakery items, etc.). ReFED used the 2012 unsold food rates for all years 2010-2019 when it was available for specific categories, so any changes in these rates over time are not reflected in the results.

For grocery retail categories not covered by the USDA LAFA dataset, ReFED used unsold food rates from the 2009 Food Marketing Institute (FMI) Supermarket Security and Loss Prevention Report[13]. Prior to 2010, FMI released this report on an annual basis, but since then it has been discontinued. The report includes food department unsold food percentages as reported by the 50 grocery retailers that participated in the confidential survey. See Appendix L for a list of unsold food rates from this report. ReFED used the retail percentages as opposed to cost. The limitations of using this dataset for estimating retail food surplus in the U.S. are the following: (1) The data is provided as a percentage of retail value rather than weight, which would be the appropriate measure to quantify the weight of food surplus. (2) Like the USDA LAFA data, this data is outdated and was reused by ReFED for all years 2010-2019, so any changes in these rates over time are not reflected in the results. (3) The data is provided at the department level (e.g. Bakery) and does reflect differences between categories in each department (e.g., Cheesecake versus Artisan bread).

Unsold Food Causes

Raw data and documentation:
This contains confidential data and cannot be shared.

ReFED was not able to identify any publicly available data sources that quantify the causes of unsold food for grocery retailers in the U.S. As a placeholder until further research can be done, ReFED developed estimates using data from Leanpath on the causes of unutilized food in foodservice combined with review and input from grocery retail subject matter experts. Leanpath is a technology company that helps foodservice companies track, weigh and analyze the amount of food that is wasted in commercial kitchens. Leanpath customers also indicate the reason the food was not used as well as the food type when using Leanpath’s automated software system. For more information, see Appendix M and the Foodservice Methodology section.

Steps taken to adapt the Leanpath foodservice cause data to be relevant for grocery retail: 1. Map Leanpath’s food types to similar grocery retail food types (e.g., Produce, Dry goods). 2. Filter out data for causes that are not relevant to the retail sector (e.g., Catering overproduction is not relevant for a grocery retail Produce department). 3. Quantify the causal breakdown of unused food by food type. 4. Have grocery retail subject matter experts review the data and compare it with numbers they’re used to seeing in the field and make adjustments accordingly.

Fortunately, the retail experts said that the resulting estimates after step 3 were close to what they’re used to seeing and only recommended a few adjustments. It seems that certain types of food are handled in similar ways, and as a result are prone to disposal due to similar causes across foodservice and retail. Further research is needed, however, to validate these placeholder estimates.

Unsold Food Destinations

In 2016 FWRA conducted a national food waste survey of grocery retailers in which 24 grocery retailers responded (35.3% of U.S. market share based on sales)[41]. ReFED used the data from this survey to quantify the percentage destination breakdown of unsold food from U.S. grocery retailers by year, state, and food type (See Appendix N).

There are a few limitations in using the data in this way. Because it was a national study for all food types, the data does not reflect geographic variations by state or variations in disposal patterns for different food types. Also, because it was a one-time study, the data does not provide insight into changes in disposal habits over time. See Appendix N for a breakdown of unsold food destinations.

Because landfill versus incineration facility infrastructure varies significantly from state to state, the landfill and incineration numbers from the FWRA surveys were combined into a “% Trash” number. ReFED then estimated the portion of trash that is landfilled versus incinerated in each state using data from BioCycle’s 2010 “State of Garbage in America” survey[41], which was conducted in partnership with the Earth Engineering Center of Columbia University[8]. Because these surveys were discontinued in 2010 and no other state-level data sources exist, ReFED reused these estimates year over year to estimate the percentage of “trash” that is sent to incineration versus landfill facilities in each state.

Data Quality Evaluation

This rubric is designed to evaluate the quality of how each data source was utilized by ReFED to estimate food loss and waste. It is not meant to rate the quality of the study itself. See Appendix AA for more information about the ReFED Data Quality Rubric.

Table 12. Data Quality Evaluation for Food Waste Monitor Retail Sector

DATA

SOURCE

DATA QUALITY SCORE

CREDIBILITY

UPDATE FREQUENCY

COVERAGE

FOOD TYPE

GEOGRAPHY

SCORE

WEIGHT

RETAIL SURPLUS DATA

US Dollars Sold

Nielsen Point-of-sale (POS)

4

5

5

5

5

High 24/5 = 4.8

25%

Tons Sold

Nielsen Point-of-sale (POS)

4

5

5

5

5

High 24/5 = 4.8

25%

Unsold Food Rate

USDA Supermarket Shrink Estimates for ERS LAFA FMI Supermarket Security and Loss Prevention Report

4

3

2

3

3

Medium 15/5 = 3.0

50%

4.8 * 25% + 4.8 * 25% + 3.0 * 50% = 3.9

Medium

RETAIL CAUSES DATA

% Unsold Food Due to Cause

Expert Interviews

1

1

1

3

1

Very Low 7/5 = 1.4

100%

1.4 * 100% = 1.4

Very Low

RETAIL DESTINATIONS DATA

% Destination Breakdown

FWRA Surveys

4

1

2

1

3

Low 11/5 = 2.2

95%

% of Trash Landfilled vs Incinerated

Biocycle/Columbia University Survey

5

1

5

1

5

Medium 17/5 = 3.4

5%

2.2 * 95% + 3.4 * 5% = 2.26

Low