Analysis of Biscuit Type Dog Treats

Analysis for this project was completed using Python and Microsoft Excel. Python libraries utilized include selenium, beautifulsoup, requests, pandas, matplotlib, seaborn, regex, and wordcloud. Scripts and readme are available in the GitHub repository linked at the left.

Overview

This project utilizes information scraped from a popular pet supplies retailer to examine the ingredients of commercially available biscuit type dog treats. It explores what relationships may exist between price, rating, and number of ingredients listed. Additionally, it investigates the economics of dog treats manufactured on a small scale versus commercially. 

Motivation

Having a pet with allergies and dietary limitations has led my partner to prepare dog treats at home. As she has gained experience catering to the needs of our pet, others have expressed interest in her product and process. I would like to gain some insight into what the current dog treat market looks like. Additionally, understanding of current treat prices at a retail scale may provide some guidelines on competitive pricing should she decide to market her treats.

Data Collection

Data was scraped from a popular retailer of pet products using the Selenium and BeautifulSoup libraries in Python. First, individual urls were built by scraping each page of search results.  Then, using Selenium and a few try/except statements, I obtained the relevant information for each product. Selenium, a new library for me,  allowed me to easily navigate the Java based elements with differing layouts. 

    

Uncleaned data sample

Cleaned data

Data Cleaning

The resulting table required a lot of additional cleaning to be useful. Using RegEx, I stripped the price from the scraped data. With string functions I split the rating text into two columns containing its numerical rating and number of reviews, split the size text to it's numeric size and the measure used and further converted all measures to ounces, and extracted and pipe separated the ingredients.  Later, ingredients were counted based on number of '|'s within the text plus one and a new column was created.

From this point, I chose to further clean the data using Excel, having only 137 products allowed me to manually check for missing datapoints and fill them in with the necessary information where available.

There remain some inconsistencies in the data. Products sold by count were not able to be converted to ounces and ingredient count is occasionally inaccurate due to formatting of the scraped text. 

What is in your dog treats?

There are 445 ingredients listed in the data provided, the number of unique ingredients is lower due to spelling differences. The majority are standard for processed foods but a few standout. Refined sugars, salt, and palm oil in excess can all cause digestive issues in dogs. Five treats list garlic, seven have green tea extract, and one contains yeast. These are widely considered toxic to dogs and should be avoided. 

It seems most commercial treats consist of fillers (wheat flours, animal meals, oils), enriched with different supplements, and a variety of preservatives (salt, tocopherols, BHA, sodium metabisulfite). I think we can do better for our canine friends.

Price, Rating, and Number of Ingredients

Scatter plot showing price versus number of ingredients. Ratings are represented by color and size, the dotted line represents the cutoff for 'limited ingredient' treats.

The limited ingredient cutoff, dotted line, is somewhat arbitrary as there is no current regulatory definition. I selected eight based on the 25th percentile for number of ingredients and eight is the current maximum number of ingredients in our home recipes.

Where price is the relevant comparison, outliers have been removed using the standard formula: Q3 + Interquartile Range * 1.5. These outliers are 14.5% of the total data.

Cost

Ratings

Pricing of Homemade Treats

To understand the costs associated with a homemade recipe, I used ChatGPT to generate a dog treat recipe for analysis. Ingredients were selected from the list of ingredients present in the data with a few criteria: they should be minimally processed, available in retail quantities, and otherwise suitable for my dogs diet. 

ChatGPT Prompt

I need a recipe for a biscuit type of dog treat. The recipe should be shelf-stable, limited in ingredients, and may use any common household kitchen equipment including a dehydrator. The recipe should list all ingredients by weight, all steps to complete the recipe and an estimated total yield by dry weight. You can use up to 8 ingredients from this list:


Peanut Butter

Oat Flour

Honey

Oatmeal

Peanuts

Rice Flour

Flaxseed Meal

Psyllium Seed Husk

Rolled Oats

Carrots

Spelt Flour

Flaxseed

Apples

Coconut Oil

Applesauce

Peanut Flour

Oats

Eggs

milk

Potatoes

Peas

White Rice Flour

Potato

Turmeric

Milk

Whole Brown Rice

Paprika

Blueberries

Crunchy Peanut Butter

Dried Egg

Ground Potatoes

Chickpeas

Dried Whole Eggs

Potato Starch

Roasted Peanuts

Pumpkin

Cheddar Cheese

Ginger

Parsley

Banana

Rice

Sesame Seeds

Potato Flour

Coconut Flour

Dried Blueberries

Brown Rice Flour

Cheese

Dried Egg Product

Chicken Liver

oats

Ground Roasted Peanuts

Dried Apple

Cranberry

peanuts

Strawberries

Dehydrated Yogurt

Dried Yogurt

Beets

ChatGPT Recipe

Ingredients:


Yield: Approximately 400g of dog treats

Instructions:

These limited ingredient biscuits should be shelf-stable for several weeks if stored properly.

Note: Remember to consider any specific dietary needs or allergies your dog may have when selecting ingredients for the treats.

The process and ingredients appeared reasonable based on my experience and only minor changes were required to convert some measures to weight. From here, I moved the recipe to Microsoft Excel and began building my costing spreadsheet. The costing spreadsheet consists of a few pages. "Ingredients" will be an ongoing list of ingredients and prices are from my local grocer. "Packaging" is populated with a few items necessary for distributing the product, prices were pulled from online retailers. The remaining two sheets show the cost breakdown for the recipe, one for the common eight ounce sized package and one for six ounce packages. The left side of the cost sheet shows the base recipe, the right side allows you to scale the recipe based on the expected new yield. Pricing and profit was calculated with a 30% profit margin in mind.  

The workbook is embedded below for you to explore, the 'New Yield' cells are unlocked if you'd like to see how things update within the spreadsheet.

Conclusions

The findings revealed that commercially available treats tend to contain high levels of additives, fillers, and, at times, potentially toxic ingredients. Through exploring the relationships that exist within the data, I found that price does not seem to correlate to rating,  contrary to research suggesting unidimensional review systems favor perceived value over perceived quality. Additionally, I found that limited ingredient recipes are priced ~10% higher than unlimited ingredient recipes. Further looking at ratings shows that limited ingredient recipes tend to review more favorably but less often. All of this to suggest that consumers who value limited ingredient recipes are okay with paying a small premium and are generally more satisfied with their purchases. 

I used ChatGPT to generate a recipe to examine the cost of producing dog treats. This is not without issue, but after tweaking the query and resubmitting it, I had a reasonable starting point. When examining the cost of producing dog treats, I found that scaling, and scaling without excess waste, does increase profitability in my hypothetical business. There is opportunity to reduce costs through bulk or online purchasing and/or printing labels at home. Labor and utilities were not considered as part of this analysis, at this scale I don't believe this effects the outcome significantly. The quick facts of this analysis say you could prepare and package a homemade recipe for $1.07 per ounce, and with a 30% profit margin in mind, your price to the consumer rises to $1.53 per ounce. With the consumers willingness to pay more for less ingredients, I think this is a reasonable price for a wholesome and homemade product. 

While this analysis attempts a comprehensive understanding of biscuit type dog treats, I believe it could be expanded on with additional information. More granular rating and review information would allow you to better understand why products are getting their reviews. One could categorize ingredients and attempt to compare 'natural' options versus their counterparts, brands and manufacturers could be compared against one another. There's always more questions to be answered. 

In conclusion, this analysis has given me valuable insights into the dog treat industry. It's allowed me the opportunity to understand what is in available products, how they're are viewed, and how a homemade product may be able to compete with what is currently available. It's encouraging to see that this could be a viable side hustle or a future opportunity for entrepreneurship. Next step? Recipe testing. 

GitHubLinkedIn