Presentation is loading. Please wait.

Presentation is loading. Please wait.

Choice modelling - an introduction

Similar presentations


Presentation on theme: "Choice modelling - an introduction"— Presentation transcript:

1 Choice modelling - an introduction

2 Class experiment Everybody loves Chocolate- fact:
Of the following choices: White Chewy NoNuts Dark Chewy NoNuts White Soft NoNuts Dark Soft NoNuts White Chewy Nuts Dark Chewy Nuts White Soft Nuts Dark Soft Nuts Which one do you choose?

3 introduction When we wish to look at launching new products or change features of current products we would like to ascertain the impact this will have in the market place We need to be able to model the effect of each change on a range of similar products The way we do this is via choice modelling whereby each respondent examine a number of market scenarios and gets to choose which product they would purchase We need to be able to answer the marketing questions We need to be able to model this appropriately

4 Introduction… There are 3 components to choice modelling:
Design of experiment Analysis of data Presentation of results Firstly an example

5 Multinomial logit We begin with a very simple example. In this example, each of ten subjects was presented with eight different chocolate candies and asked to choose one. The eight candies consist of the 23 combinations of dark or milk chocolate, soft or chewy centre, and nuts or no nuts. Each subject saw all eight candies and made one choice. There are m = 8 attribute vectors in this example, one for each alternative. Let x Dark/Milk = (1 = Dark, 0 = Milk), Soft/Chewy = (1 = Soft, 0 = Chewy), Nuts/No Nuts =(1 = Nuts, 0 = No Nuts). The eight attribute vectors are x1 = (0 0 0) (Milk, Chewy, No Nuts) x2 = (0 0 1) (Milk, Chewy, Nuts ) x3 = (0 1 0) (Milk, Soft, No Nuts) x4 = (0 1 1) (Milk, Soft, Nuts ) x5 = (1 0 0) (Dark, Chewy, No Nuts) x6 = (1 0 1) (Dark, Chewy, Nuts ) x7 = (1 1 0) (Dark, Soft, No Nuts) x8 = (1 1 1) (Dark, Soft, Nuts )

6 Favourite Chocolate Experiment

7 Multinomial logit model
Experimental choice data such as these are typically analyzed with a multinomial logit model. The Multinomial Logit Model The multinomial logit model assumes that the probability that an individual will choose one of the m alternatives, ci , from choice set C is where xi is a vector of alternative attributes and b is a vector of unknown parameters. U(c i) = xi b is the utility for alternative ci, which is a linear function of the attributes. The probability that an individual will choose one of the m alternatives, ci, from choice set C is the exponential of the utility of the alternative divided by the sum of all of the exponentiated utilities.

8 Hypothetical calculations

9 Probability Choice as a function of utility
Note: for pricing Data this is usually a negative relationship

10 The input data 8 choices , 10 persons so 80 observations
Typically, two variables are used to identify the choice sets, subject ID and choice set within subject (for larger studies we aggregate this over ID) The variable Subj is the subject number, and Set identifies the choice set within subject. The chosen alternative is indicated by c=1, which means first choice. All second and subsequent choices are unobserved, so the unchosen alternatives are indicated by c=2,

11 The data

12 Fitting the Multinomial Logit Model
The data are now in the right form for analysis. In the SAS System, the multinomial logit model is fit with the SAS/STAT procedure PHREG (proportional hazards regression), with the ties=breslow option. The likelihood function of the multinomial logit model has the same form as a survival analysis model fit by PROC PHREG. See Statistics 764 Survival Analysis notes – Chapter 7

13 The code proc phreg data=chocs outest=betas; strata subj set;
model c*c(2) = dark soft nuts / ties=breslow; label dark = “Dark Chocolate” soft = “Soft Centre” nuts = “With Nuts”; run; The data= option specifies the input data set. The outest= option requests an output data set called BETAS with the parameter estimates. The strata statement specifies that each combination of the variables Set and Subj forms a set from which a choice was made. Each term in the likelihood function is a stratum. There is one term or stratum per choice set per subject, and each is composed of information about the chosen and all the unchosen alternatives.

14 SAS output

15 Interpretation “Model Fit Statistics” and “Testing Global Null Hypothesis: BETA=0,” contain the overall fit of the model. The-2 LOG L statistic under “With Covariates” is and the Chi-Square statistic is with 3 df (p=0.0049), which is used to test the null hypothesis that the attributes do not influence choice. Note that (-2 LOG L Without Covariates, which is -2 LOG L for a model with no explanatory variables) minus (-2 LOG LWith Covariates, which is -2 LOG L for a model with all explanatory variables) equals (Model Chi-Square, which is used to test the effects of the explanatory variables).

16 Probability of choice The parameter estimates are used next to construct the estimated probability that each alternative will be chosen. The DATA step program uses the following formula to create the choice probabilities.

17 Probabilities

18 Another Example – washing powder

19 Fabric Softener Example
The study involves four fictitious fabric softener brand names Sploosh, Plumbbob, Platter, and Moosey. Each choice set consists of each of these four brands and a constant alternative Another. Each of the brands is available at three prices, $1.49, $1.99, and $2.49. Another is only offered at $1.99. There are 50 subjects, each of which will see the same choice sets.

20 Designing the experiment
In order to do any choice model we need to construct an experimental design Using SAS We can use the %MKTRUNS autocall macro to help us choose the number of choice sets. All of the autocall macros used in this report are documented starting on page 261 (see Choice.pdf – Kuhfeld’s SAS discussion document on the webpage) . To use this macro, you specify the number of levels for each of the factors. With four brands each with three prices, you specify four 3’s. title ’Choice of Fabric Softener’; %mktruns( )

21 Output

22 The design In this problem, the %MKTRUNS macro reports ten different sizes with no violations. Ideally, we would like to have a manageable number of choice sets for people to evaluate and a design that is both orthogonal and balanced. When violations are reported, orthogonal and balanced designs are not possible. While orthogonality and balance are not required, they are nice properties to have. With 4 three-level factors, the number of choice sets in all orthogonal and balanced designs must be divisible by 3 x 3 = 9. In this example we would go for 18 runs.

23 The design …. In the next steps, an efficient experimental design is created. We will use an autocall macro %MKTDES to create most of our designs. When you invoke the %MKTDES macro for a simple problem, you only need to specify the factors, number of levels, and number of runs. The macro does the rest. For just main effects we simply type (note no second order effects are asked for here – usually we ask for them): %let n = 18; /* n choice sets */ %mktdes(factors=x1-x4=3, n=&n) proc print; run;

24 Design output

25 Design For now, notice that the macro found a perfect,
orthogonal and balanced, 100% efficient design consisting of three-level factors, p1-p4. The levels are the integers 1 to 3. Note that we would need to randomise the order of these design to consumers.

26 Design ..

27 What consumers see Etc…

28 The Data

29 How the data needs to be formatted
Person #1 first 3 scenarios – note this assumes the price effect is the same for each brand – usually it’s different.

30 The analysis – price only
proc phreg data=coded outest=betas; title2 ’Discrete Choice Model’; model c*c(2) = Sploosh Plumbbob Platter Moosey Another Price / ties=breslow; strata subj set; run; proc phreg data=coded outest=betas; title2 ’Discrete Choice Model’; model c*c(2) = / ties=breslow; strata subj set; run;

31 The analysis

32 What if the price effect depends on the product (Alternative specific) ?
This is more realistic as it says different Brands have different price effects, e.g. cheaper brands are more price sensitive and vice-versa So we’ll need to change the design matrix or reflect this: Then we need to see how this new model performs relative to our last (simpler) model.

33 Here’s the new data (Alternative specific) :

34 And the new analysis (Alternative specific) :
proc phreg data =temp; model t*t(2)= Sploosh Plumbbob Platter Moosey Another PR_Sploosh PR_Plumbbob PR_Platter PR_Moosey PR_Another; strata set; freq freq; run;

35 And new output (Alternative specific)
The PHREG Procedure Testing Global Null Hypothesis: BETA=0 Test Chi-Square DF Pr > ChiSq Likelihood Ratio <.0001 Score <.0001 Wald <.0001 Analysis of Maximum Likelihood Estimates Parameter Standard Hazard Variable DF Estimate Error Chi-Square Pr > ChiSq Ratio Sploosh < Plumbbob < Platter < Moosey < Another PR_Sploosh < PR_Plumbbob < PR_Platter < PR_Moosey < PR_Another

36 Is this new model worth it?
We can test this by checking out how the log likelihood statistics differ for these two models: In the price model we obtained a contribution of to the Likelihood ratio statistic due to these 5 covariates Here we obtain to the Likelihood ratio statistic due to these 8 covariates is: The difference is = on 8-5 = 3 df which gives a P-value of 0.001 i.e. these covariates ‘pull their weight’.

37 What about quadratic effects for Price?
Here we are saying that their maybe more curvature in the price effects. This occurs when we have especially price sensitive products.

38 Let’s fit the alternative specific model quadratic effects
First lets create new quadratic terms and then fit the model: data temp; set temp; PR_Sploosh2 = PR_Sploosh**2; PR_Plumbbob2 = PR_Plumbbob**2; PR_Platter2 = PR_Platter**2; PR_Moosey2 = PR_Moosey**2; PR_Another2 = PR_Another**2; run; proc phreg data =temp; model t*t(2)= Sploosh Plumbbob Platter Moosey Another PR_Sploosh PR_Plumbbob PR_Platter PR_Moosey PR_Another PR_Sploosh2 PR_Plumbbob2 PR_Platter2 PR_Moosey2 PR_Another2; strata set; freq freq;

39 Resulting output: Test Chi-Square DF Pr > ChiSq
Likelihood Ratio <.0001 Score <.0001 Wald <.0001 Analysis of Maximum Likelihood Estimates Parameter Standard Hazard Variable DF Estimate Error Chi-Square Pr > ChiSq Ratio Sploosh Plumbbob Platter Moosey < Another PR_Sploosh E21 PR_Plumbbob E34 PR_Platter PR_Moosey PR_Another PR_Sploosh PR_Plumbbob PR_Platter PR_Moosey PR_Another

40 Conclude: We have Likelihood Ratio statistic of for these 12 variables Whereas with the last model (Alternative Specific) we had to the Chi squared statistic due to these 12 covariates This is a change of on df=12-8=4, P-value =.234. Note also that the P-values for the coefficients of Price are mostly non-significant.


Download ppt "Choice modelling - an introduction"

Similar presentations


Ads by Google