Back to blog
Projects Nov 20, 2025 · 5 min read

Why 36% of Retail Orders Were Losing Money — And Nobody Noticed

A deep dive into discount bands, margin erosion, and the danger of tracking revenue without profit in a $2.27M Superstore dataset.

Shaharier Shourov

Shaharier Shourov

Data Analyst & Aspiring Data Engineer

Article cover image

Revenue up, profit invisible

The Superstore dataset is a classic — 9,994 rows, four years of sales, and $2.27M in revenue. On the surface, that's a healthy business. Dig into margin instead of revenue, and a different picture appears: 36% of all orders — 1,808 out of 4,931 — were actually losing money.

"High revenue masked serious profitability issues. Nobody had actually looked at margin at the order level."

The root cause was discounting

I built a discount-band segmentation that didn't exist in the raw data — grouping orders by discount percentage and calculating average margin per band. The pattern was stark: orders with no discount averaged +34.0% margin. Orders with 30%+ discounts averaged -40.6% margin. Every discount point above 30% was actively destroying value, not just cutting into it.

The category comparison that made it click

Furniture and Technology generate almost identical revenue — roughly $730K each. Technology holds a 17.39% margin. Furniture manages only 2.32%. Same revenue, wildly different profitability — a pure mix-shift opportunity that doesn't require growing sales at all, just growing the right sales.

Two sub-categories, $21,000 in avoidable losses

Tables lose $17,725 a year. Bookcases lose $3,472. Combined, that's over $21,000 in losses hiding inside product lines that look revenue-healthy on a standard sales report. This is exactly the kind of finding a revenue-only dashboard will never surface.

The takeaway

Revenue dashboards without margin context are dangerous — they can make a bleeding business look fine. This project reinforced why every analytics build I do now includes a profitability lens by default, not as an afterthought.


Full breakdown with SQL queries and DAX measures in my case study.