STEM help / Training

Exercise 34: A more dynamic market model

The problem with the simple market model is that it uses static formulae to calculate market shares with no regard to the current state of the market. A more elegant and less prescriptive approach would model the annual growth in a given market segment from one period to the next.

The simple approach allowed for the general penetration of broadband into the market to be factored on top of the basic market shares, whereas now this will have to become part of the dynamic market model.

Save the model as WiMAX-DSL34

prev() function

We are going to re-build the simple market calculations with a dynamic model using the built-in prev() function to define a value in one period as a ‘delta’ from its value at the end of the previous period. This function takes two parameters as follows: prev(x, y), where x is a time-series input, and y provides the seed value for Y0. Because of the time-lag, you can use this function reflexively, i.e., x may refer to the input defined by this formula.

  1. Go to the User Data dialog for the Homes element.
  2. Rename Users 1–3 as x, x0 and dx, respectively (Edit menu/Rename Field).
  3. Go back to User 1 (x) and enter this formula: prev(x, x0) + dx, taking care to leave a space after the comma before the zero after the first x.
  4. Set the inputs x0 = 50.0 and dx = 10.0.

Create Graph

  1. Click the button on the dialog Edit menu. The Create Graph dialog appears.
  2. Move this dialog to one side of the User Data dialog and then click the first three fields, x, x0 and dx once in turn. References to each of these fields are added to the list in the Create Graph dialog.
  3. Click OK. A graph appears with one line for each of the three fields.

Auto graph

  1. Click the button again, and this time, click the Auto Graph button in the Create Graph dialog. A graph appears with one line for the currently selected field.

This ‘auto graph’ will update to show whichever field is selected as you move around the User Data dialog (or any other data dialog), and will show several lines if you use the <Shift> key to select several contiguous fields. Please use whichever graph style you feel most comfortable with.

Are the numbers as you expected? Why is there a kink in the slope of x?

  1. It may be helpful to show a separate table (right-click the graph).

periodBegin() and periodLen() functions

We may prefer to only add dx from Q1 2006 (Y1), so that x starts from x0 as intended. We can use the built-in periodBegin() function to test elapsed time at the beginning of the period against zero (the beginning of Y1).

  1. Set x = prev(x, x0) + if(periodBegin() >= 0, dx, 0)

In addition, we can use the built-in periodLen() function to interpret dx as an annual growth, irrespective of the length of the period.

  1. Set x = prev(x, x0) + if(periodBegin() >= 0, dx * periodLen(), 0)

You should now see x increase by 10 per annum from an initial value of 50.

Constrained growth

In a market model, there are usually two key dimensions. First, there is the inclination of those in one segment of a market to switch to another; and then there is the constraint of the overall market size. We will model a simple constraint now, to demonstrate how a saturation effect may be achieved.

Suppose x is constrained to a maximum of 100. Rather than setting dx = 10.0 unconditionally, let’s instead regard this as 20% of the gap between 50 and 100, and re-define dx in terms of this maximum value and the growth proportion.

  1. Rename User 4 as y and set y = 100.0.
  2. Rename User 5 as g and set g = 0.2.
  3. Set dx = g * (y – prev(x, 0)).

If you graph x now, you should see something like this:

Changes in market environment

Suppose that WiMAX is not available immediately, but is introduced into the market in Y4.

  1. Change g to be an Interpolated Series with values 0.0 in Y3 and 0.2 in Y4.

Now you will see a disruptive effect as the option to migrate becomes available.

  1. Consider how you would refine these formulae to model an ‘early adopters’ phase where the effective growth, dx, would initially increase as more people became aware of the new technology and confidence in it grew.
  2. Consider how you would use this kind of technique to model growth of the DSL and WiMAX segments in a way that would properly accommodate both a deferred launch of WiMAX and a step-change in the reach proportion due to enhanced DSL technology being deployed. This is non-trivial!

The annual growth construct set up with x, x0 and dx will be built in as a new type of time-series parameterisation in a future version of STEM to facilitate this kind of dynamic modelling.

Things that you should have seen and understood

Time-series functions for dynamic modelling
prev(), periodBegin(), periodLen(), Create Graph, Autograph

 

© Implied Logic Limited