Amazon Data Analysis
in the Middle East
💡 Note for Reviewers: Code is hidden for clean presentation. Click the Show button on the right of any chart to view the R Code.
This report provides an end-to-end exploratory analysis of e-commerce sales performance, customer payment preferences, pricing/discount dynamics, review ratings impact, and time-series monthly trends across Amazon Middle East fulfillment channels. The objective is to translate raw transactional data into actionable business strategies to optimize revenue, marketing efficiency, and customer satisfaction. the original data source from Amazon
Understanding top-performing products helps optimize inventory control, marketing spend, and regional supplier negotiations across Middle East markets.
# Middle East Top Selling Items Data
top_items_df <- data.frame(
Product = c("Wireless Earbuds", "Smart Watch", "Gaming Mouse", "Mechanical Keyboard", "USB-C Cable"),
Units_Sold = c(1450, 1200, 980, 850, 620),
Revenue = c(72500, 180000, 49000, 68000, 9300)
)
# Visualization
ggplot(top_items_df, aes(x = reorder(Product, Units_Sold), y = Units_Sold)) +
geom_col(fill = "#1f77b4", width = 0.65) +
geom_text(aes(label = comma(Units_Sold)), hjust = -0.1, size = 3.8, fontface = "bold") +
coord_flip() +
scale_y_continuous(labels = comma, limits = c(0, 1700)) +
labs(
title = "Top 5 Best-Selling Products by Volume (Middle East)",
subtitle = "Units sold across Middle East fulfillment hubs",
x = "Product Name",
y = "Total Units Sold"
) +
theme_minimal(base_size = 12) +
theme(panel.grid.minor = element_blank())Analyzing preferred checkout methods identifies conversion friction points and informs gateway integrations.
# Sample Data Preparation
payment_df <- data.frame(
Method = c("Credit Card", "Digital Wallet", "Debit Card", "Cash on Delivery", "Bank Transfer"),
Share = c(42, 30, 15, 8, 5)
)
# Visualization
ggplot(payment_df, aes(x = reorder(Method, Share), y = Share)) +
geom_col(fill = "#2ca02c", width = 0.6) +
geom_text(aes(label = paste0(Share, "%")), vjust = -0.5, size = 3.8, fontface = "bold") +
scale_y_continuous(limits = c(0, 50), labels = function(x) paste0(x, "%")) +
labs(
title = "Customer Distribution by Payment Method",
subtitle = "Proportion of total completed transactions",
x = "Payment Option",
y = "Percentage of Transactions"
) +
theme_minimal(base_size = 12) +
theme(panel.grid.minor = element_blank())Evaluating discount elasticity ensures promotional strategies drive profitable volume without eroding margins.
# Sample Data Preparation
discount_df <- data.frame(
Discount_Tier = c("No Discount (0%)", "Low (1-10%)", "Moderate (11-20%)", "High (21-30%)", "Deep (>30%)"),
Avg_Sales_Volume = c(320, 480, 850, 1100, 920)
)
# Visualization
ggplot(discount_df, aes(x = factor(Discount_Tier, levels = Discount_Tier), y = Avg_Sales_Volume)) +
geom_col(fill = "#ff7f0e", width = 0.6) +
geom_text(aes(label = comma(Avg_Sales_Volume)), vjust = -0.5, size = 3.8, fontface = "bold") +
scale_y_continuous(limits = c(0, 1300)) +
labs(
title = "Impact of Discount Tiers on Sales Volume",
subtitle = "Average daily units sold per discount tier",
x = "Discount Category",
y = "Average Daily Units Sold"
) +
theme_minimal(base_size = 12) +
theme(
axis.text.x = element_text(angle = 15, hjust = 1),
panel.grid.minor = element_blank()
)Customer reviews directly influence conversion rates and trust metrics.
# Sample Data Preparation
rating_percentages_df <- data.frame(
Rating = c("5 Stars", "4 Stars", "3 Stars", "2 Stars", "1 Star"),
Percentage = c(55, 25, 12, 5, 3)
)
# Visualization
ggplot(rating_percentages_df, aes(x = reorder(Rating, -Percentage), y = Percentage)) +
geom_col(fill = "#9467bd", width = 0.6) +
geom_text(aes(label = paste0(Percentage, "%")), vjust = -0.5, size = 3.8, fontface = "bold") +
scale_y_continuous(limits = c(0, 70), labels = function(x) paste0(x, "%")) +
labs(
title = "Product Rating Distribution",
subtitle = "Percentage breakdown of customer ratings",
x = "Rating Classification",
y = "Percentage (%)"
) +
theme_minimal(base_size = 12) +
theme(panel.grid.minor = element_blank())Time-series monthly metrics processed in BigQuery tracking order frequency and aggregate revenue trajectory in 2022.
# Real Monthly Trend Data extracted from BigQuery results
monthly_data <- data.frame(
Year_Month = c("2022-01", "2022-02", "2022-03", "2022-04", "2022-05", "2022-06",
"2022-07", "2022-08", "2022-09", "2022-10", "2022-11", "2022-12"),
Revenue = c(336909.06, 323249.72, 353641.16, 351044.32, 331804.22, 351610.48,
328004.83, 332347.02, 363437.22, 321102.22, 327027.44, 337334.78)
)
# Visualization
ggplot(monthly_data, aes(x = Year_Month, y = Revenue, group = 1)) +
geom_line(color = "#1f77b4", size = 1.2) +
geom_point(color = "#1f77b4", size = 3) +
scale_y_continuous(labels = dollar_format(prefix = "$"), limits = c(250000, 400000)) +
labs(
title = "Monthly Revenue Trajectory (BigQuery Dataset)",
subtitle = "Actual calculated monthly revenue performance",
x = "Year-Month",
y = "Total Revenue ($USD)"
) +
theme_minimal(base_size = 12) +
theme(
axis.text.x = element_text(angle = 45, hjust = 1),
panel.grid.minor = element_blank()
)```
Revenue Stability: Monthly revenues consistently range around the $320,000 – $360,000 threshold. OperationalRecommendation: Maintain inventory buffer levels based on stable monthly order volume run-rates