MongoDB

Designing a Dynamic Pricing Engine

Build a real-time dynamic pricing system for ride-sharing, hotels, and e-commerce — covering demand modeling, price elasticity, and A/B optimization.

S

srikanthtelkalapally888@gmail.com

Dynamic pricing adjusts prices in real-time based on supply, demand, competition, and contextual signals.

Use Cases by Industry

Ride-sharing:  Surge pricing when demand > supply
Airlines:      Yield management (empty seats = lost revenue)
Hotels:        Revenue management by occupancy
E-commerce:    Competitive price matching
Cloud:         Spot instance pricing

Core Signals

Demand signals:
  - Current request rate
  - Forecast demand (ML model)
  - Seasonality, time of day
  - External events (concert, storm)

Supply signals:
  - Available drivers/rooms/inventory
  - Supply forecast

Competitive signals:
  - Competitor prices (scraping/API)
  - Price position in market

Contextual:
  - User willingness to pay (historical)
  - Device type (mobile vs desktop)
  - Geographic zone

Pricing Model

Base price:
  Cost + target margin

Demand multiplier:
  surge_factor = f(demand / supply)
  IF ratio > 2.0: multiplier = 1.5x
  IF ratio > 3.0: multiplier = 2.0x
  Cap: max 5.0x (regulatory / PR limit)

Final price = base_price × demand_multiplier × competitive_factor

Architecture

Event Streams (requests, bookings, cancellations)
        ↓
   Feature Aggregation (Flink, 1-min windows)
        ↓
   Pricing Engine (rule-based + ML model)
        ↓
   Price Cache (Redis, TTL 30s)
        ↓
   API → Client
        ↓
   Price displayed + user decision
        ↓
   Feedback loop → Retrain model

Price Elasticity

Elasticity = % change in demand / % change in price

Inelastic (< 1): Luxury goods, urgent needs
  → Can raise price without losing much demand

Elastic (> 1): Commodities, alternatives available
  → Price increase causes significant demand drop

A/B Testing Prices

Experiment: Does $24.99 vs $25.00 affect conversion?

Assign users to control/treatment by hash(user_id)
Measure: conversion rate, revenue per visitor
Run for statistical significance (p < 0.05)
Deploy winning price

Fairness and Regulations

Dynamic pricing restrictions:
  No price gouging during emergencies
  No discriminating by protected attributes
  Some regions regulate surge caps

Conclusion

Effective dynamic pricing balances revenue optimization with customer fairness. ML demand forecasting + real-time supply signals + A/B testing drive pricing decisions at scale.

Share this article