Individual specific variables in McFadden's choice model From my understanding of McFadden's discrete choice model, individual specific variables such as income should not affect an individual's choice unless interacted with product characteristics. 
But in Stata's command asclogit, which claims to estimate McFadden's model, allows individual variables without interacting with product characteristics. 
I am finding this command bizarre. 
Here is my answer to this question : ASCLOGIT DOES not interact the casevars with the product characteristics . It interact the casevars with ALTERNATIVE DUMMIES. This is done behind the scene. If you need interactions with product characteristics, you need to use clogit and manually generate interactions. 
 A: Stata's asclogit command formats and handles the interactions behind the scenes, but the interactions between the case-specific variables and the alternatives are performed as part of the analysis with asclogit.
The results of asclogit are the same as the results of Stata's clogit command when the case-specific variables are explicitly interacted with the alternatives.
The asclogit command is simply a convenient version of clogit and there is nothing "bizarre" about it.
A: Assume you have the following variables:
Choice = Binary outcome var
ASV1 = First alternative-specific var
ASV2 = Second alternative-specific var
CSV1 = First case-specific var
CSV2 = Second case-specific var
Further assume you have three alternatives per choice set
and that the alternatives are represented by a three-level
multinomial categorical variable named Alt.  Also assume
the choice sets variable is a numeric variable named Choiceset
and the individual respondents are identified by a variable
named ID.
Finally, assume the data set is in long format with one
row of data per alternative and three rows of data representing
one choice set.
For Stata's asclogit code for a McFadden's model you
would not need to perform any additional data management steps (after
the data are in long format). The asclogit code would simply be:
asclogit Choice ASV1 ASV2, case(Choicset) alternatives(Alt) casevars(CSV1 CSV2) vce(cluster ID)

For Stata's clogit the code for a McFadden's model
would require additional data management steps to create the dummy 
variables for the alternatives and then to create the interaction
terms before running clogit.  The code for the data management steps and then clogit would be:
*Create dummy variables for Alt.
tab Alt, gen(Alt)

*Now create interactions. 
gen Alt2XCSV1 = Alt2*CSV1 
gen Alt3XCSV1 = Alt3*CSV1 
gen Alt2XCSV2 = Alt2*CSV2 
gen Alt3XCSV2 = Alt3*CSV2

* Now run clogit including the interaction terms.   
clogit Choice ASV1 ASV2 Alt2XCSV1 Alt3XCSV1 Alt2XCSV2 Alt3XCSV2 i.Alt2 i.Alt3, group(choiceset) vce(cluster ID)

If you replicate these examples with your own data set, you'll see
that the results from both commands are the same and that asclogit
is simply a convenient form of clogit with explicit interactions.
