Data Visualization on Food Price Changes with Shiny App
The skills the author demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
Contributed by Bin Lin. Bin is currently in the NYC Data Science Academy 12 week full time Data Science Bootcamp program taking place between January 11th to April 1st, 2016. This post is based on his R Shiny App project (due on the 4th week of the program).
The consumption pattern is an important driver of the development pattern of industrialized world. The consumption price changes reflect the economic performance and income of households in a country. In this project, the focus is on the food price changes. The goals of the data study were:
- Utilize Shinny for interactive visualization (the Shinny app is hosted at https://blin02.shinyapps.io/food_price_changes/)
- Explore food price changes over time from year 1974 - 2015.
- Compare food price changes to All-Items price changes (All-items include all consumer goods and services, including food).
- Compare Consumer Food Price Changes vs Producer Price Changes (producer price changes are the average change in prices paid to domestic producers for their output).
- Food price changes data and Producer price changes data: https://www.ers.usda.gov/data-products/food-price-outlook.aspx
- All-item price changes data: https://www.bls.gov/cpi/data.htm
Consumer Food Price Changes Dataset:
- Data dimension: 42 rows x 21 columns
- Missing data: There are 2 missing values in the column of "Eggs"
Producer Price Changes Dataset:
- Data dimension: 42 rows x 17 columns
- Missing data: There are 25 missing values in the column of "Processed.fruits.vegetables".
Consumer Food Categories:
- Data dimension: 20 rows x 2 columns
Data Analysis and Visualization:
Food Consumption Categories:
Food consumption are broken out into 20 categories. Among all of them, the categories with high share based on consumer expenditures are (see Figure 1 and Figure 2):
- Food.away.from.home (eat out): 40.9%
- Other.foods: 10.5 (note this is a sum of rest of the uncategorized food)
- Cereals.and.bakery.products: 8.0$
- Nonalcoholic.beverages: 6.7%
- Dairy.products: 6.3
- Beef.and.veal: 4.1
- Fresh.fruits: 4.0
The high share of nonalcoholic beverages/soft drinks (6.7%) seems concerning as high consumption of soft drinks might pose health risk.
Figure 1: Pie Chart on Food Categories Share of Consumer Expenditures
Figure 2: Bar Chart on Food Categories Share of Consumer Expenditures
Data on Food Price Changes over Time:
The Consumer Price Index (CPI) is a measure that examines average change over time in the prices paid by consumers for goods and services. It is calculated by taking price changes for each item in the predetermined basket of goods and averaging them; the goods are weighted according to their importance. Changes in CPI are used to assess price changes associated with the cost of living.
In the Shinny app, I created a line chart that showed price changes for different food categories, which were selected from a drop-down list. See Figure 3 for screenshot of the Different Food Categories Price Changes over Time
As I was looking at the food price changes, I noticed that there was dramatic increase during the late 70s. After reviewed history of 1970s, a lot happened during that time of period, including the "Great Inflation".
Figure 3: Screenshot of Different Food Categories Price Changes over Time
Data on Yearly Food Category Price Changes:
To view the food price changes for each category in a year, I created the bar chart in the Shinny app. Users can select a year from the slider, the chart will show food price changes of each category for that year. I actually created two bar charts side-by-side in case users want to compare the food price changes between any of the two years.
Quick look at the year 2015, price of "Egg" had the biggest increase; price of "Pork" dropped the most. In fact, many food categories dropped their price. Compared 2015, year 2014 had fewer categories with dropped price; price of "Beef and Veal" had the biggest increase.
Figure 4: Screenshot of Food Category Price Changes by Year
Food Price Changes vs All-Items Price Changes
The Consumer Price Index (CPI) for food is a component of the all-items CPI. That led me to the comparing of those two. From the line chart, I observed:
- Food price changes mostly aligns with all-item price changes.
- Food price inflation has outpaced the economy-wide inflation in recent years.
Figure 5: Price Changes in All-Items vs Price Changes in Food
Food Price Changes vs Producer Price Changes
Based on United State Department of Agriculture (USDA), changes in farm-level and wholesale-level PPIs are of particular interest in forecasting food CPIs. Therefore, I created a chart to show the Over All Food Price Changes vs Producer Price Changes. Uses can choose one or more Producer food categories.
From the chart, that food price changes mostly aligns with the producer price changes. However, farm level milk, farm level cattle, farm level wheat seem fluctuate since year 2000 and they didn't affect the over all food price change that much. Though the impact on the over all food price was small, I doubt they might have impacted individual food categories. I would like to add a new drop-down list to allow users to select food categories from the consumer food categories.
Figure 6: Food Price Changes vs Producer Price Changes
Correlation Tile Map:
To see the relationship among the different categories in terms of price changes, I created a correlation tile map.
Food price has been increasing, in different amount of percentage. Since 1990, food price changes keep under small percentage. The degree of food price inflation varies depending on the type of foods
Looking ahead to 2016, ERS predicts food-at-home (supermarket) prices to rise 2.0 to 3.0 percent - a rate of inflation that remains in line with the 20-year historical average of 2.5 percent. For future works, I would love to try to fit a time-series model to predict the price changes for the coming five years.
Again, this project was done in Shiny and most of the information in this blog post were from the Shiny, https://blin02.shinyapps.io/food_price_changes/.