Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Case Overview

📖 Scenario

You are a marketing analyst at MAC Cosmetics, a globally recognized brand known for its professional-grade makeup and strong presence in both retail and online channels.

 

MAC Cosmetics Logo

While MAC has long been a leader in artistry and brand prestige, the company is facing increasing pressure specifically in the foundation category—especially among younger consumers (Gen Z and Millennials). Emerging brands and digitally native competitors are rapidly gaining traction through:

 

MAC Studio Fix Fluid Foundation

MAC Cosmetics Studio Fix Fluid Foundation

 


⚠️ Marketing Challenges

Your team has identified several key challenges:

To better understand the competitive landscape, your team has collected data from Amazon’s search results for “foundation”, sorted by Best Selling, across the first five pages.

This dataset represents a snapshot of the top-performing foundation products currently capturing consumer demand.


🎯 Objective

The goal of this analysis is twofold:

1. Technical Skills

2. Business Insights


📊 Dataset Overview

The dataset (available on GitHub) consists of two main components focused on foundation products:

1. Search Results (search-results/)

Each file includes:

Each product entry may contain:


2. Product Details (product-results/)


3. Flattened Dataset (products.csv)

This file can be used as a starting point for:


🧠 Key Questions to Explore

As a marketing analyst at MAC Cosmetics, consider:


🔍 Working with JSON

The dataset is stored in JSON format, which means:

Example Access Pattern

product["price"]["currentPrice"]
product["reviews"]["rating"]

To safely handle missing data:

product.get("price", {}).get("currentPrice")

📐 Why JSON Matters

JSON is widely used in:

Understanding how to work with JSON enables you to:


🚀 Outcome

By the end of this case study, you should be able to: