← All projects

Ecommerce Dynamic Pricing Analysis

A pricing model combining demand, competitor price ranges, stock levels, seasonality and conversion to recommend the price point that maximises revenue without giving away margin.

Pricing strategyPrice elasticityExcelPythonSQLPower BI
+9.4%Modeled revenue uplift
▲ vs flat pricing
41.2%Avg gross margin held
▲ 1.6 pts
$68Average order value
▲ $5
−1.3Avg price elasticity
elastic demand

Revenue curve vs price point · line

Modeled revenue across price points, the peak marks the recommended price.

Elasticity map · bubble

Price (x) vs units sold (y); bubble size = revenue contribution.

Conversion rate by category & price band · heatmap

Where shoppers actually convert, darker amber means higher conversion.

Current vs recommended price · grouped bar

Model output by category, some up, some down.

Revenue share by category · doughnut

Where the revenue concentrates, focus for repricing.

Revenue concentration · treemap

Each tile sized by revenue, the bigger and brighter, the more it matters for pricing.

The question

An online store selling across several categories used flat, cost plus pricing. The question was simple: are we leaving money on the table, and where could smarter price points lift revenue without hurting margin or conversion?

How I did it

  • Pulled the transaction, stock and competitor price tables together in SQL with a few joins and a GROUP BY, then cleaned the result in Python with pandas.
  • Got a rough read on how price sensitive each category was by regressing units sold against price in Python, while holding seasonality and stock steady.
  • Built a revenue curve for each product to find the price that earns the most while staying above a margin floor, and used a heatmap of category against price band to see where people actually buy.
  • Wrapped it all in a Power BI dashboard for revenue, margin, average order value, elasticity and the price moves it suggests.

What the analysis found

  • Highly elastic categories were overpriced, small cuts lifted volume enough to grow total revenue.
  • Low elasticity, low stock items were underpriced and absorbed a modest increase with little conversion loss.
  • Repricing to the modeled points produced a +9.4% simulated revenue uplift at ~41% margin.
Recommendation: Move from flat cost plus to category level dynamic pricing reviewed weekly against the elasticity and stock signals, with guardrails so no item drops below the margin floor.

Tools

Excel · Python (pandas) · SQL · Power BI / Tableau

Built on a simulated retail dataset so I can show the whole method without using anyone's client data.