Prof. Dr. h.c. Hasso Plattner

Data-Driven Demand Learning and Dynamic Pricing Strategies in Competitive Markets

General Information

Short Description

E-commerce is everywhere. Markets have become increasingly transparent and competitive. Products and competitors’ offers can be easily compared. It has become easy and almost costless to adjust prices. For sellers “dynamic pricing” offers many opportunities and is therefore more and more used. However, smart pricing strategies are hard to derive.

In this seminar, we learn how to compute dynamic pricing strategies. Based on data-driven approaches we will use simple regression models to quantify demand and to estimate sales probabilities (real-life data from the Amazon market place is available). We will also take a look at theoretical optimization models that can be solved using dynamic programming techniques.

After we have dived into the depths of demand learning and optimization, each student will compete against his fellow students on our pricing platform. This simulation platform has been build by last semester's master projects and allows us to evaluate the performance of different strategies. It has been built as a micro service architecture and allows to easily add a student's merchant implementation to the running marketplace. As part of this competition, we plan to let every student play against each other student as well as a simulation with all student competing concurrently.

Goals of the Course


  • opportunities and challenges of dynamic pricing
  • rule-based pricing strategies
  • demand learning under competition
  • data-driven response strategies

Do ...

  • work in small teams
  • implement algorithms, simulate sales processes, and analyze performance results
  • directly compete against your fellow students in a competitive setting

Improve ...

  • mathematical, analytical, and modelling skills
  • optimization/machine learning techniques


  • the participants should be interested in mathematical methods
  • the number of participants is restricted to 30

Teaching and Learning Process

The course is a combination of a lecture and a practical part:

  • teachers impart relevant knowledge
  • students work on a self-containing topic in a team of max 4 people
  • students regularly present their work
  • every team creates data-driven strategies
  • teams can play against each other


  • 30% Presentations
  • 20% Project Results
  • 40% Project Documentation
  • 10% Personal Engagement


  • Slides and Upcoming Topics
    • 2nd Meeting: Customer Behavior (Mon April 24)
    • To do: Prepare to give a short overview of ideas how to answer the question "How do people select offers from a marketplace (e.g., books on Amazon) taking into account multiple product features, such as price, quality, ratings, etc.?". Do you think people do solely select by price? Or do people select by a rather fixed set of rules?
    • 3rd Meeting: Demand Estimation (Tue May 2)
    • To do: Recommended Exercises: Customer Choice & Duopoly Simulation
    • 4th Meeting: Pricing Strategies (Tue May 9)
    • To do: Recommended Exercises: Logistic Regression vs. Approach II
    • 7th Meeting: Workshop/Group Meeting (Tue June 6)
    • Every student should have received an invitation to the Piazza project, in case you haven't, please send a mail to Martin Boissier
    • To do: Exercise: Demand Learning on Platform Data
    • Form student groups of max 4, set up the platform
    • 8th Meeting: Workshop/Group Meeting (Tue June 13)
    • To do: Exercise: Demand Learning on Platform Data (csv file)
    • Finalize student groups of max 4
    • 9th Meeting: Mid-term Presentations (Tue June 20)
    • To do: present first results (focus on demand learning)
    • 10th Meeting: Workshop/Group Meeting (Tue July 4)
    • To do: Improve Demand Learning on Platform Data
    • Compute AIC Scores and McFadden Pseudo R^2s
    • 11th Meeting: Workshop/Group Meeting (Tue July 11)
    • To do: Play and learn on the Platform
    • Compute McFadden Pseudo R^2s
    • 12th Meeting: Final Presentations (Tue July 18)
    • To do: present current results
    • duopoly setup @ logit behaviour vs. oligopoly setup @ 60-30-10 behaviour