I'm trying to decide whether to run a multinomial logit or a conditonal logit (McFadden, 1973). I have data from a choice-based conjoint study in which each of the respondent's choices was between a pair of products with varying characteristics, including price. Each of the characteristics is a continuous variable, if that matters. I want to estimate a marginal willingness to pay for each of the characteristics. Typical explanations of how the two models differ are as follows:

Multinomial logit models a choice as a function of the chooser's characteristics, whereas conditional logit models the choice as a function of the choices’ characteristics.

By this logic, I would lean towards a conditional logit given that I'm trying to estimate a marginal willingness to pay for each characteristic. On the other hand, the values I estimate for this depend entirely on the preferences of the respondents, so you could say that I'm really estimating something relating to the preferences of respondents, rather than anything innate about the choices' characteristics.

Does anybody have a more crisp understanding of the differences between the models and/or reflections on which would be more appropriate in this setting?

  • 1
    $\begingroup$ Hi: Sections 6.2 and 6.3 at this link hopefully explain it clearly. I didn't read it but I am somewhat familiar with the author's writings and remember liking them. data.princeton.edu/wws509/notes/c6s2.html $\endgroup$
    – mark leeds
    Aug 7, 2018 at 18:13
  • $\begingroup$ @markleeds I like this resource also. My issue is that the estimated coefficients should represent measures of how much users value attributes, so it's hard for me to conceptualize how one can hope to measure the value of attributes separately from consumers' preferences or consumers' preferences separately from the value of attributes. Maybe this is more obvious in other settings? This confusion notwithstanding, since my independent variables are on attributes of the good, I think I'll just push forward with a conditional logit. Thanks for the reference. $\endgroup$
    – Shane
    Aug 7, 2018 at 22:03
  • $\begingroup$ Hi Shane: I've never used conditional logit so, although your question sounds interesting, I can't help you. You may want to take a chance and email German who made that site. I emailed someone recently, never expecting them to reply and they did reply with a valuable response. Good luck. $\endgroup$
    – mark leeds
    Aug 8, 2018 at 12:24

1 Answer 1


It would be much better to have at least a head of your dataset to be sure, but from the description conditional logit is the way to go (though, in practice, random coefficients logit should be used to avoid IIA - independence of irrelevant alternatives).

General form: Think about both models as special cases of some general discrete-choice model. I've got accustomed to convention that index $i$ is for individuals and $j$ is for alternatives.

$$ \pi_i(Y = j|\mathbf{z})= \frac{\exp{(\boldsymbol{\beta}^\top}\mathbf{z}_j)}{\exp{(\boldsymbol{\beta}^\top}\mathbf{z}_1) \: + \:... +\: \exp{(\boldsymbol{\beta}^\top}\mathbf{z}_J)}$$

Notice that $\mathbf{z}_j$ and $\boldsymbol{\beta}$ are vectors of length $J \times K$, where $K-1$ is the number of features [for details, see Agresti(2002:300)]. It is important to understand that we have one term for each alternative in the denominator of this softmax function.

We can derive mlogit and clogit by setting to zero different elements in these vectors. Thus we get different models.

For simple mlogit with $J = 3$ choices (alternatives) and one individual characteristic (chooser's attribute) we can find probability of choosing each alternative. In example, the probability of choosing second alternative by some individual is:

$$ P_{i2}(j=2|x_i)= \frac{\exp(\alpha_2 + \beta_2 x_i)} {1 + \exp(\alpha_2 + \beta_2 x_i) + \exp(\alpha_3 + \beta_3 x_i)}$$

It is important to note that there is the function of one variable $x_i$ (it doesn't change between alternatives for the same individual). Another point is that coefficients are different for all alternatives. Finally, we may use intercepts $\alpha_j$ in mlogit, because they are different and can be identified (if we set $\alpha_1$ and $\beta_1$ to $0$ - that is why 1 in the denominator).

For clogit the situation is quite different, because we have different values of the same feature for each alternative. So the model with 3 alternatives and one feature takes the following form (i.e. probability that individual $i$ chooses second alternative):

$$ P_{i2}(j=2|\mathbf{x}_j)= \frac{\exp(\beta x_2)} {\exp(\beta x_1) + \exp(\beta x_2) + \exp(\beta x_3)}$$

Here we deal with the function of three variables ($\mathbf{x}_j$). As far as these values are different it is enough to fit only one $\beta$, which is the same for all alternatives. As such, we do not need a base alternative (no unity in the denominator). Finally, we cannot identify any intercept in such a model, because any $\alpha$ will simply vanish in the softmax ratio ("thanks" to exponent property).

What things are also important for both models? The common way to fit both models is maximum likelihood, though in conditional logit this likelihood is also conditional (it simply means that we impose the condition that one and only one alternative should be chosen by each individual).

How to understand in practice, which model to apply? Well, you will not get results if you put data for one model in another model command (statistical software will complain that there is no variability in data).

If you have your data in long form, it might look something like this:

Y   c_logit_feature    m_logit_attrib
0           3                 10
1           5                 10
0           7                 10
1           3                 12
0           5                 12
0           7                 12
0           3                 18
1           5                 18
0           7                 18

Usual package will be able to fit clogit from such setting (using last column as grouping indicator). But mlogit usually wants different form and this fact (in my experience) confuses most of users. If we label our three alternatives as "a", "b" and "c", mlogit setting derived from the above table is going to be:

label  m_logit_ready
"b"         10
"a"         12
"b"         18

Modern statistical packages (like R or Stata) are able to work with different formats but the general idea stays the same.

Hope that helps.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.