Skip to content

Making Connections

isee systems blog

Making Connections

  • About
  • More Connections
Search

Modeling Customers Switching Between Brands

Updated: November 30, 2011September 30, 2009Filed under: Modeling Tips283 Comments

This is the third installment of a four-part series.  The other three parts can be accessed by clicking on the links below.
Methods for Using Arrays Effectively

Modeling a Watershed with Arrays
Modeling Customers Switching Between Brands – The General Case

 

In the second post of this series, I showed how to selectively pull information from an array in order to route water through a watershed.  In this post, I will use the exact same technique to move customers between different product brands.

Switching Customers between Different Products

Business models often need to model gaining customers from, and losing customers to, competing products in a relatively mature market (what Kim Warren, in his excellent book Strategy Management Dynamics, calls “Type 2 Rivalry”).  These are often driven with statistical models developed through market research.  For this application, we need a matrix describing the probability of switching from product A to product B each time unit.  A sample appears in the table below.

From\To A B C D E
A 0.000 0.010 0.030 0.050 0.001
B 0.030 0.000 0.050 0.070 0.020
C 0.010 0.001 0.000 0.020 0.015
D 0.001 0.000 0.020 0.000 0.005
E 0.001 0.005 0.020 0.045 0.000

switching probability (units: dimensionless)

To read this table, locate the product the customer is presently using in the left column (say, B).  Read across that row (the second row, in this case) until you find the product the customer is switching to (say, C).  The number in that cell (in this case, 0.05 or 5%) is the probability the customer will switch from the first product to the second (from B to C) in this time unit.  If the model is running in months, as ours is, this table indicates that 5% of customers using product B switch to product C every month.

Of course, the values in the table do not need to be constant.  Often each cell will contain a regression equation based on various product characteristics – including market share, marketing effort, product features, and product quality – that evolve over the course of the simulation.

Note the diagonal is zero.  This means customers do not switch from one product to the same product.

Note also that the sum in any row cannot exceed 1.0, which represents 100% of the customers using that product.  It is quite normal for it to be below 1.0 because we do not include people who are not switching.  Some modelers find it easier to always have each row add up to 1.0.  If you desire to do this, fill the diagonal with the difference between 1.0 and the sum of the other columns.  For example, to do this for product A, replace the top left cell with 1.0 – (0.01 + 0.03 + 0.05 + 0.001) = 0.909 [for you Beatles fans].

 

Exploring the Model

The model is slightly different from the watershed model in my previous post.  This model is driven by the probability of switching.  Thus, it is driven by the stock of customers for each product, while the watershed model was driven by the outflow from each reach.  This is shown below (and is available by clicking here).

image

The two-dimensional array switching (called a “switching matrix”) is derived by multiplying customers by the switching probability:

Customers[Products]*switching_probability[Products, Products]

This equation does not perform a traditional matrix multiplication, but multiplies each element of Customers (a one-dimensional column) by every element in the corresponding row of switching probability (two-dimensional).  [For more information about matrix arithmetic in iThink and STELLA, click here.]  As an example, given the switching probability above, if 100 customers use each of products A, B, C, D, and E, the values of switching with its row and column totals would be:

From\To A B C D E Total Out
A 0.0 1.0 3.0 5.0 0.1 9.1
B 3.0 0.0 5.0 7.0 2.0 17.0
C 1.0 0.1 0.0 2.0 1.5 4.6
D 0.1 0.0 2.0 0.0 0.5 2.6
E 0.1 0.5 2.0 4.5 0.0 7.1
Total In 4.2 1.6 12.0 18.5 4.1 40.4

switching (units: customers)

These numbers are derived by multiplying the entire row for each product by 100, the number of customers using that product (again, this example uses 100 customers for each product).  The number of customers switching from a given brand each month is the sum of that product’s row.  The number of customers switching to a given brand each month is the sum of that product’s column.

Thus, 9.1 existing customers switch from (stop using) product A this month while 4.2 customers switch to (start using) product A this month.  Product A will therefore have a net loss of 9.1 – 4.2 = 4.9 customers for the month.

The switching matrix directly drives both the loss of customers and the gain of customers.  The former, losing_customers, sums rows:

ARRAYSUM(switching[Products, *])

while the latter, gaining_customers, sums columns:

ARRAYSUM(switching[*, Products]).

Running the Model

The simulation results are shown below for the case where all products start with 100 customers and no new customers are added.

image

Note the product with the largest net gain = Total In – Total Out, product D, gains the most market share over the course of the simulation, while that with the smallest net gain, product B, loses the most.

Next time, I will show a more general switching matrix formulation.

Modeling Tips
  • 2D array
  • arrays
  • iThink/STELLA
  • market dynamics

Post navigation

Previous Post:

Modeling a Watershed with Arrays

Next Post:

C02 in the Atmosphere Behaves Like a Bathtub

About the Author

Karim Chichakly

Co-President

All posts byKarim ChichaklyWebsite

Hide

Categories

  • Education (4)
  • isee NetSim (3)
  • isee.NET Framework (1)
  • Modeling Tips (32)
  • News & Announcements (15)
  • STELLA & iThink (14)
  • Stories from the Field (5)
  • Systems Thinking (8)
  • Training (6)

Archives

Browse by keyword

2D array archetypes arrays Barry Richmond Bass diffusion builtins calibration Causal Loop CLD command line conferences crisis data diffusion Education environment export game graphical function h1n1 healthcare housing import iThink/STELLA market dynamics MODSIM modules mortgage netsim optimization Physics policy price releases scholarship software spatial Stella storytelling System Dynamics Society Systems Thinking Version 9.1.2 video webinar workshop

Recent Posts

  • COVID-19: Modeling Distributions of Incubation and Recovery Times April 1, 2020
  • Multiobjective Optimization January 9, 2018
  • Optimizing Model Performance December 22, 2017
  • Calibration in Stella® December 15, 2017
  • Drifting Goals March 9, 2016

RSS System Dynamics Forum

Recent Comments

  • best apps review on About
  • digital software on Modeling the Economic Crisis
  • Mishawaka Indiana on What are “Mental Models”?
  • La Paz Indiana on XMILE – An open standard for system dynamics models
  • Bristol Indiana on Modeling the Economic Crisis

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
Products
Software (v1.3)
  • Stella Architect
  • Stella Professional
  • Stella Designer
  • Stella Simulator
  • iThink
  • Feature Updates
  • Policies
  • Publishing Options
  • License Agreement
Free Software
  • Stella Online
  • isee Player
  • Stella Architect Trial
Solutions
Consulting
  • Systems Innovation Practice
Common Applications
  • Business
  • Education
  • Research
  • Government
  • Energy
  • Health
  • Agriculture
  • Manufacturing
  • Conservation
Quick Links
About
  • isee systems
  • Systems Thinking
  • Barry Richmond Scholarship
Resources
  • Frequently Asked Questions
  • Product Help
  • Examples
  • Request Support
  • Request Quote
  • Systems in Focus
  • Quick Tips
  • Legacy Tutorials
News and Events
Upcoming Workshops
  • Introduction to Dynamic Modeling
  • Whole Systems Partnership
Newsletter
  • The Connector
Recent Webinars
  • Model Mysteries
Recent Training
  • Systems Thinking Practice
Press Release
  • Stella Architect Release

  Phone: (603) 448-4990   Email: info@iseesystems.com

   Monday - Friday: 9:00 am - 5:00 pm EDT | Saturday - Sunday: Closed
Wheelock Office Park | 31 Old Etna Rd, Suite 7N | Lebanon, NH 03766 | US

isee systems inc. holds registered trademark rights over the following: iThink®, STELLA®, Stella®, isee systems® and claims the following trademarks; isee NetSim™, Stella Live™, Causal Lens™ and Stella Online™.

Terms of Use

© 2017. isee systems inc . All rights reserved.