1. Introduction
Identifying key competitors is essential to firms’ competitive strategies, such as pricing, product design, and positioning (DeSarbo et al., 1993; Urban et al., 1984; Bergen and Peteraf, 2002).
However, competition does not occur only among different brands. In mature markets, from hightechnology products to grocery items, firms often have long product lines with numerous products under the same brand. As a result, competition also occurs among different products within the same brand. Conducting market structure analysis at the product level can provide firms with insights about cannibalization and product line optimization.
In this paper, we propose a machine learning solution to study competition and market structure when the number of products is large. We do so by employing representation learning techniques
(Turian et al., 2010; AlRfou et al., 2013; Mikolov et al., 2013a)that allow us to overcome the computational constraints encountered in traditional methods. In natural language processing, representation learning algorithms take massive collections of text as input and produce continuous word vectors—also called word embeddings—as output. The word embeddings are designed to capture semantic similarities between words: words that appear in similar contexts in the corpus of text (i.e., words that are surrounded by similar words) will be close to each other in the word vector space. Using the same logic, we treat shopping baskets as sentences and products as words and use representation learning to transform each product into a vector. While using text as input, word embeddings capture semantic similarities, using product as input they capture relationships among products. We show that products that share common shopping contexts (i.e., those bought with similar other products), and therefore that are close in the vector space, are more likely to be either complements or substitutes than those far apart in the vector space. We use the vectors generated by our algorithm to define two measures, complementarity and exchangeability, that allow us to distinguish between products that are complements and substitutes, respectively.
Because word embeddings techniques can be easily applied to large datasets, our model can be trained on a large number of shopping baskets and products across different categories. This, in turn, allows us to analyze competition among hundreds of thousands of products within just a few hours, and uncover both interbrand and intrabrand competitive relationships. Additionally, this method is fully automated and does not require any human input or exante assumptions about market segments or structure.
We verify the validity of our complementarity and exchangeability measures by choosing a focal product and identifying the top3 complement products (those with the highest value for complementarity) and substitute products (those with the highest value for exchangeability). The products obtained show that these measures successfully identify both complements and substitutes.
Combining the product vectors produced by our method with choice models, we are able to estimate and predict consumer choices faster and more precisely. We show that our approach takes 94% less time than traditional choice models with product fixedeffects or observable product attributes, and increase the outofsample hit rates by 4% (from 14.2% to 14.8%). Additionally, when compared with recently developed methods to predict consumer purchases (Ruiz et al., 2019), we achieve higher outofsample hit rates (14.1% vs. 12.8%).
The remainder of the paper is organized as follows. Section 2 discusses the related literature and Section 3 describes our model. Section 4 presents empirical applications of our model and results. Section 5 discusses the implications of our findings and provides future research directions and concluding remarks.
2. Related Literature
Our paper is based on the stream of representation learning literature. The basic model that we build on uses the representation learning algorithm, specifically those from the family of models based on neural networks in the neural language models literature. There are several approaches to learn word embeddings using different models and objective functions. For example,
(Bengio et al., 2003) propose a model whose objective is to predict the next word in a sequence based on the previous words. In (Collobert et al., 2011), the goal is to capture the entire context of words based on the whole sentences. Finally, (Mikolov et al., 2013a) predict the surrounding words (previous and next words) based on the current word. Our method uses the Word2Vec model by (Mikolov et al., 2013a), who propose a neural network model with a singlelayer architecture to learn the distributed representations of words. The authors also introduce a
negative samplingprocedure, an approximation to the original objective function that not only improves the quality of the embeddings but also considerably increases the speed of training. This procedure distinguishes the context word (i.e., word to predict) from random draws from the corpus by encouraging the current word and the context (random) word to have a larger (smaller) cooccurrence probability
(Mnih and Kavukcuoglu, 2013).Only recently has the marketing literature begun to take advantage of machine learning techniques such as representation learning. For example, (Gabel et al., 2019) employ representation learning to transform products into vectors using information from shopping baskets. (Gabel et al., 2019) derive latent product attributes and uncover market structure by reducing the dimensionality of latent properties. Differently from ours, their main goal is to propose a scalable method to understand the market structure of all products in a retailer’s assortment. Our goal is to measure how sensitive consumers are to price changes (i.e., price elasticities) and perform demand forecasts by combining representation learning and choice models. Therefore, in addition to creating product positioning maps, we deal with issues such as controlling the effect of price on product cooccurrences, addressing price endogeneity, and distinguishing complements from substitutes.
To date, the closest paper to ours comes from a trio of computer scientists and economists who propose a hierarchical latent variable model of market baskets, called SHOPPER (Ruiz et al., 2019). SHOPPER aims to predict the items in the ordered shopping baskets sequentially with the latent variables, including item dependencies, customer preferences, price sensitivities, and seasonal effects. The authors focus on prediction and obtain impressive results on a huge dataset of consumer purchases. However, this comes at the cost of a complex model that requires the estimation of a large number of parameters, and does not take into consideration price endogeneity.
Differently from SHOPPER, we provide a model that can achieve similar prediction accuracy, but that relies on a much smaller number of parameters, a shorter estimation time, and provides unbiased estimations of price elasticities. Moreover, our focus is the marketing discipline, and thus we provide valuable marketing insights that are not discussed in
(Ruiz et al., 2019).3. Model
In this section, we describe the model to conduct productlevel competition analysis with a large number of products.
In traditional choice models, each product is usually represented as a fixedeffect parameter, thus assuming that products are independent of each other. In doing so, when looking at large product categories with hundreds or thousands of products, these models have to estimate a large number of parameters, which often translates to extremely high computational costs. In practice, however, consumers consider a limited number of product characteristics (e.g., taste, aesthetics, or package size, to mention a few) when deciding what to purchase (Hauser, 2014). This means that, in practice, it would be enough to represent products using these few attributes to fully capture the differences across products and, therefore, consumer preferences. One way to achieve this would be to manually choose the product attributes that matter and then estimate the choice model. However, it is difficult to determine the number of attributes and which attributes to use, because they are often contextdependent (e.g., the relevant attributes for coffee are likely different from those for household cleaners). Moreover, even if it were possible to choose the attributes by category, some product attributes may be hard to observe and, therefore, measure (e.g., the appeal of packaging).
To overcome these limitations, we propose an unsupervised method to learn (latent) product attributes by leveraging representation learning. We use representation learning algorithms to learn product embeddings that allow us to (i) obtain a meaningful product representation in a lowerdimensional space, and (ii) uncover relationships (complements, substitutes) among products. We introduce Product2Vec, which learns the vector representations of products from product cooccurrences in shopping baskets. These product vectors are then incorporated into a choice model to estimate price elasticities as well as to predict consumer purchases.
3.1. Product2Vec: Learning the Vector Representations of Products
We adopt the framework of Word2Vec (Mikolov et al., 2013a) to create our Product2Vec model. Product2Vec can transform products into lowdimensional vectors with continuous elements, using the information regarding the composition of shopping baskets. The objective function used in the training is:
(1) 
In Equation 1, are the sets of “input” and “output” product vectors. Specifically, let be the dimensional “input” and “output” vectors of product , and be the total number of unique products. Then , are the collections of and respectively. is the set of all shopping baskets, is a shopping basket in the set , is an product in the basket, is the length of the context for product sequences, and is the conditional probability of observing the context product given the focal product .^{1}^{1}1If multiple units of an product are purchased, we treat it as if the product only appears once. We do not consider purchase quantity because it has little to do with relationships among products. Following (Mikolov et al., 2013b), we define the conditional probability using the softmax function:
(2) 
Because the cost of computing the denominator is proportional to the total number of unique products (), it is impractical to directly calculate . Instead, we employ the negative sampling technique to approximate the log probability of the softmax (Mikolov et al., 2013b):
(3) 
In Equation 3, is an product randomly drawn from the whole training set based on the distribution of purchase frequency, is the number of negative samples for each focal product, and
is the sigmoid function. Equation
3 consists of two components: the first component maximizes the probability that the current product occurs together with its context products, while the second minimizes the likelihood that the current product appears along with some randomly selected, irrelevant products. In other words, this objective function distinguishes observations from noise.3.2. Distinguishing Between Substitutes and Complements
An important issue we need to deal with is the fact that product embeddings does not directly reveal whether two products are complements or substitutes.^{2}^{2}2Complements and substitutes are defined with respect to the whole set of products, not restrained to products in the same basket. As we discussed above, vector similarity suggests that two products are likely to be related, and this relationship can be either one of complements or substitutes. To resolve this issue, we follow the approach adopted by (Ruiz et al., 2019), and define two measures, complementarity and exchangeability, to identify complements and substitutes respectively.
Roughly speaking, two products are likely to be complements if the interaction between their latent dimensions is positive, and two products are likely to be substitutes if they predict similar purchase patterns for the rest of the products in the store. We provide the formal definitions of complementarity and exchangeability next.
Complementarity.
We consider two products A and B to be complements if the conditional probability of purchasing A (or B) given B (or A) being already in the basket is high. In simple words, two products are complements if they are very likely to be purchased together. Formally, we compute the complementarity between products A and B as:
(4) 
where v and v’ are the input and output vectors in Equation 2.
Exchangeability.
We consider two products A and B to be exchangeable if they induce similar distributions of the conditional purchase probability of the rest of the products in the store. To put it simply, A and B are exchangeable if they interact similarly with other products. Formally, we measure the similarity between two distributions using the negative KL divergence (Kullback and Leibler, 1951) and compute the exchangeability between products A and B as:
(5) 
where are the distributions of the conditional purchase probability of all the other products in the store given or is purchased, and the KL divergence between the two distributions is further calculated using the conditional purchase probability of any product given or , . Based on Equation 2, we can represent with the corresponding product vectors.
If two products have a high exchangeability score, they are likely to be substitutes.^{3}^{3}3
A low value of the KL divergence indicates that the two probability distributions being compared are very similar. Therefore, a high exchangeability score indicates that
and are similar, i.e., products A and B are likely to be substitutes. However, as discussed in (Ruiz et al., 2019), two products that are frequently purchased together (i.e., two products that are complements) will also have a high exchangeability score. This is because complements tend to appear in the same basket and, therefore, they have similar interactions with other products. To exclude possible complements, we define two products as substitutes if their exchangeability score is high and their complementarity score is low.3.3. Choice Model
After having transformed products into lowdimensional vectors using purchase information from all product categories, we focus on competitive analysis among products within one specific category. The starting point of this analysis is the wellknown logit model of consumer choices
(Guadagni and Little, 1983). For each consumer and each time period , we describe a productby a productspecific dummy variable
, price and other marketing variables , such as whether the product is under a promotion and/or advertisement. The utility of product for consumer at time period is:(6) 
where captures consumers’ intrinsic preferences of unobserved product characteristics, and measure consumers’ sensitivities to price and other marketing variables, and is a type I extreme value error term.
In the choice model, the utility is further used to calculate the choice probability using the softmax function, so a higher utility is associated with a higher choice probability of product . In Section 4.3, we use the choice model to predict consumer choices. Given the estimated parameters, we predict that the product with the highest utility among all products is purchased, and calculate the hit rate by comparing our predictions with actual purchases.
When the number of products is large, the number of coefficients to estimate in Equation 6 is also large (recall that there is one dummy variable for each product), which may make the estimation very slow or, in some cases, intractable. To reduce the parameters to be estimated, we replace product dummies with product vectors . The model specification becomes:
(7) 
where is the th dimension of the dimensional product vector , and is the model parameter corresponding to the th dimension. Since , using the latent representations of products decreases the number of parameters to estimate.
Finally, to account for consumer heterogeneity, we follow the mixed logit model (McFadden and Train, 2000)
and set the price coefficients to be consumerspecific and normally distributed across the population:
(8) 
where .
3.4. Addressing Price Issues
The specifications in Equations 7 and 8 may suffer from two issues related to price. The first issue is that in choice models, price is likely to be endogenous. For example, unobserved demand shocks could potentially drive both prices and consumer choices, and directly regressing consumers choices on prices will overlook such shocks and result in biased estimates. As it is customary in the economics literature, we deal with this problem by using an instrument variable (Berry et al., 1995).
The second issue is related to the way in which we create the product vectors using representation learning. As we discussed in Section 3, vectors are learned from product cooccurrences. Cooccurrences can be influenced by observed and latent product attributes as well as by price similarity. For example, consumers are more likely to buy and substitute between Aquafina and Dasani water rather than VOSS water because the first two products have similar prices, while the last one is much more expensive. If vector similarities are mostly driven by product prices, then one dimension of the product vectors could already incorporate price information; this could bias price elasticities and make demand predictions less accurate. To avoid this problem, we propose two different solutions that we describe in detail in Section 3.4.2.
3.4.1. Price Endogeneity
To deal with price endogeneity, we use the control function approach (Petrin and Train, 2010). This approach consists of two steps. In the first step, the endogenous variable (i.e., price) is regressed on the instrument variable. We use the average price for the same product and week in other stores of the same chain as the instrument variable (Berry et al., 1995). The residuals of the first stage, which represent the component correlated with unobserved pricing shocks, are then retained. In the second step, the choice model is estimated with the retained residuals as an additional variable. Formally, the first stage is as follows:
(9) 
where is the instrument discussed above, and are the coefficients used to model the price pattern. We then estimate the residuals of the first stage, , and include them in the second step of the control function approach:
(10) 
3.4.2. Revised Product2Vec
We remove the influence of price on the product vectors by incorporating price into our Product2Vec model explicitly. We do so by treating price as an additional dimension in the product vectors. Using the original Word2Vec model, two products will have similar product vectors if they are purchased in similar baskets. However, observed similar baskets could be driven by two forces: two products may have similar product attributes or prices. By representing price with an extra dimension, we could separate product attributes from prices, and get product vectors that are not influenced by price.
In the training process, we replace the product vector with , where is the price of product .^{4}^{4}4To control for the magnitude of prices, we first normalize them within each category and then use them as input for the model. Then, in each iteration of the optimization process, instead of updating the full vectors of dimensions, we only update the first values, leaving the last dimension () unchanged (i.e., the value observed in the data). After training , we drop and keep only for further analysis, which is a vector free of the price influence.
Based on the mechanism of the Product2Vec model, if two products and appear in similar contexts, their product vectors and should be close to each other, and their inner product should be large. A large inner product could be driven by both price and nonprice dimensions. Assume that C and D have very different prices. In this case, the inner product of and is small; therefore, the inner product of and must be large. However, if C and D have quite similar prices, then the inner product of and is large, and therefore the inner product of and are not necessarily large.
3.5. Incorporating Complementarity and Exchangeability
As we discussed in Section 3.2, the complementarity and exchangeability measures allow us to distinguish between pairs of products that are complements or substitutes, thus providing valuable information about the relationships among products. If one product is complementary to the other products in the basket, then the utility of choosing this product will increase. On the contrary, if one product substitutes the existing products, then it has a smaller chance of being purchased. Therefore, in addition to the product vectors, we incorporate these two new variables in the choice model. Building upon Equations 9 and 10, our final choice model becomes:
(11) 
(12) 
where and are the average complementarity and exchangeability scores between product and each of the other products in the basket .
4. Results
4.1. Data
We test our model using the IRI’s scanner panel data (Bronnenberg et al., 2008), which contains transaction information of 30 product categories and 13,124 unique products purchased by 5,214 households across 53 stores at the weekly level for 52 weeks. The total number of shopping baskets amounts to 280,052. We divide this data into three sets: 40% training set, 40% estimation set, and 20% test set. we set the number of dimensions of the product vectors , the length of context , and the number of negative samples .^{5}^{5}5We experiment with , and the results are similar.
4.2. Model Validation
We assess the capability of our complementarity and exchangeability metrics (Equations 4 and 5, respectively) by choosing a focal product and computing these metrics for all the remaining products in the sample. We expect that complements are the products with the highest complementarity scores, and substitutes are the products with the highest exchangeability scores, conditional on having low complementarity scores.
We report the results for three examples in Table 1. For each focal product (column 1), we list the top3 products with the highest complementarity scores (column 2) and the top3 products with the highest exchangeability scores and low complementarity scores (column 6), including the values for complementarity and exchangeability for each product pair. We observe that our approach recovers reasonable complements pairs such as cereal and coffee, beer and cigarettes, beer and frozen pizza, and preferences for private label products. The same is true for substitutes: the model successfully recovers pairs of competing products from the same brand (e.g., two Kelloggs cereals or two private label oats) or different brands (e.g., beers from different brands).
Highest Complementarity  Highest Exchangeability  

(r)24 (l)57 Focal Product  Product Name  Comp.  Ex.  Product Name  Comp.  Ex.  

1.419  0.883 

0.175  0.433  


1.337  0.911 

0.343  0.463  

1.292  1.697 

0.227  0.484  

1.948  0.392 

0.798  0.335  


1.656  0.683 

0.335  0.344  

1.595  0.730 

0.486  0.350  

1.079  0.958 

0.238  0.191  


0.896  0.596 

0.631  0.230  

0.733  0.664 

0.416  0.243  
4.3. Model Performance
4.3.1. Comparison with Traditional Choice Models
In this section, we compare the performance of our models with stateoftheart productlevel choice models. Specifically, we compare the precision of the price coefficient, model fit, hit rates, and run time with the following models:

Target model, a choice model that contains a dummy (fixed effect) for every product in the dataset. It is the best possible model because it includes a parameter for every product. However, it is not scalable because the number of parameters grows linearly with the number of products in the dataset. We consider this the benchmark model against which we compare our approach.

FH model (Fader and Hardie, 1996), a choice model that uses observable product attributes to characterize a large set of products in a parsimonious manner. Despite using fewer parameters than the target model, (Fader and Hardie, 1996) show that it can achieve good results if the attributes chosen are able to characterize consumer choices.
All the estimations are performed on the same machine, an Ubuntu system with 2 16core Intel Xeon CPU E52697A v4 @ 2.60GHz, 512Gb of RAM, and a GPU NVIDIA Quadro P4000, and using Stata 16 MP (2 cores) for the choice models.^{6}^{6}6While Product2Vec can be estimated on any recent personal computer, SHOPPER requires a GPU. Therefore, for comparison purposes we perform all the estimations on the same server.
We report the estimates in Table 2 for the mixed logit model. In column 1, we report the estimates of the target model; in column 2, we report the estimates of the FH model; in columns 3 and 4, we report the estimates of choice models that use product vectors obtained from Product2Vec, without and with the complementarity and exchangeability measures; in columns 5 and 6, we report the estimates of choice models that use product vectors obtained from Revised Product2Vec, without and with the complementarity and exchangeability measures.
Target  FH  p2v  rp2v  
(lr)22 (lr)33 (lr)45(lr)67 Log price ()  3.145***  3.942***  2.795***  2.894***  3.518***  3.445*** 
(0.272)  (0.130)  (0.154)  (0.157)  (0.140)  (0.137)  
Large feature ()  0.123  0.124  0.231**  0.195**  0.078  0.062 
(0.096)  (0.075)  (0.071)  (0.072)  (0.068)  (0.066)  
Major display ()  0.658***  0.698***  1.184***  1.191***  0.754***  0.799*** 
(0.160)  (0.140)  (0.116)  (0.119)  (0.119)  (0.119)  
Complementarity ()  0.726***  0.705***  
(0.049)  (0.035)  
Exchangeability ()  0.279  0.033  
(0.239)  (0.047)  
No. of observations  554434  554434  554434  554434  554434  554434 
Log likelihood  19712.4  20410.3  19964.8  19825.8  20140.1  19895.5 
AIC  39632.8  40878.6  39979.5  39705.6  40330.2  39844.9 
BIC  40800.2  41204.1  40260.2  40008.7  40610.9  40148.0 
Insample hit rate  0.136  0.115  0.133  0.137  0.127  0.144 
Outofsample hit rate  0.142  0.122  0.141  0.142  0.119  0.148 
Run time  08:52:20  00:56:45  00:32:06  00:42:05  00:32:01  00:34:30 
Significance levels: * p¡0.1, ** p¡0.05, *** p¡0.01. 
Price coefficient.
We observe that the price estimates in the choice models with product vectors (columns 3 to 6) are closer to the target than the estimates from the FH model. We argue that this is because the vectors capture product characteristics that are not observable in the data. While the FH model controls for as many observable product characteristics as possible, our results suggest that similar or better results can be achieved by controlling for latent product dimensions (i.e., product embeddings). This finding makes our approaches particularly appealing in cases where product characteristics are not readily available or when the nature of the product category requires defining attributes not easily measurable (e.g., while aesthetics or style are important characteristics for clothing, they are often hard to measure and quantify).
Model fit.
We observe that our models using product vectors obtain better fit than the FH model, as the former have larger log likelihood, and smaller AIC and BIC values.^{7}^{7}7AIC (Akaike information criterion) and BIC (Bayesian information criterion) are two statistical criteria for model selection, and models with smaller AIC and BIC values are preferred. Moreover, our models often have a lower BIC value than the target model.
Hit rate.
We look at both the insample and outofsample hit rates. Compared with the FH model, our models achieve higher insample and outofsample hit rates in all cases. Our best model is Revised Product2Vec with exchangeability and complementarity (column 5). With a 14.8% outofsample hit rate, it outperforms the target model (14.2%) by 4%.
Run time.
For the mixed logit model, the time saved is even more significant, from around 9 hours for the target model to only half an hour for our models, which is a 94% reduction in run time. The run time of the FH model is comparable to ours; however, our approaches always outperform it.
Overall, the results discussed above suggest that our models produce results that are generally better than the FH model, and that are always comparable with the target model, although the target model includes more parameters than ours. Further, these results suggest that taking into account the price influence (i.e., Revised Product2Vec) is important as it allows us to obtain more precise estimates of price elasticities. Ignoring the price influence (columns 3 and 4) leads to estimated price elasticities that are generally smaller than the correct estimate. Also, among our models, Revised Product2Vec with exchangeability and complementarity (column 6) has consistently the highest hit rates in predicting consumer choices.
4.3.2. Comparison with SHOPPER
Finally, we compare our model to a recently developed approach that models largescale market baskets data, SHOPPER (Ruiz et al., 2019). SHOPPER is a hierarchical latent variable model based on sequential choices. It assumes that on each shopping trip, a consumer enters the store and sequentially adds items into her basket conditional on the items added previously. The utility derived from choosing each product is a function of its price, its latent features, its interaction with the latent features of the products that are already in the basket, consumer’s unobservable preferences, and seasonality.
Both our approach and SHOPPER use latent representations of products in a discrete choice model setting. However, there are substantial differences between our models and SHOPPER that are worth discussing. The first one is that SHOPPER learns the latent representations of products and estimates choices simultaneously, while our approach is a twostep procedure in which we first estimate the latent representations of products (i.e., the vectors) and then estimate consumer choices by incorporating these vectors as covariates into a choice model. The second difference is that SHOPPER requires significantly more computational resources than our method. SHOPPER incorporates many more variables (e.g., userspecific vectors), and its estimation requires the use of a GPU, while our models can be easily estimated on any personal computer. The third difference is that the current version of SHOPPER does not accommodate additional covariates (such as additional marketing mix variables), while our models are quite flexible in terms of accommodating new variables. Finally, SHOPPER does not deal with price endogeneity, while we employ the control function approach to address this problem.
In order to perform a fair comparison, we reestimate our choice models using the same set of covariates to those included in SHOPPER. Hence, we drop the feature and display variables from the choice models, keeping only price and productspecific vectors. We also estimate the target model, in which the productspecific vectors are product fixed effects, and the FH model, in which the productspecific vectors are observable product attributes such as brand, size, additives, and packaging.
We report the results in Table 3, where we compare SHOPPER and the choice models in terms of price elasticities and in and out of sample hit rates (i.e., hit rates in the training and test sample, respectively). For each model, the first column reports the results without the complementarity and exchangeability measures, and the second column with complementarity and exchangeability measures.^{8}^{8}8The run times of SHOPPER and other models are incomparable. The reason is that SHOPPER estimates the parameters across all categories, i.e., over the entire IRI dataset, while our choice model estimation uses only the milk category. The absolute value of the price coefficient estimated by our approach is significantly higher than that obtained by SHOPPER. We believe this reflects SHOPPER’s limitation to account for price endogeneity. In terms of hit rates, we obtain comparable results, and our approach often outperforms SHOPPER. For example, in the case of using 20dimensional vectors, our best model is Product2Vec (column 3), which increases the outofsample hit rate by 10% compared with SHOPPER (14.1% vs. 12.8%).
SHOPPER  p2v  rp2v  
(lr)23(lr)45(lr)67  w/o  w  w/o  w  w/o  w 
Log price ()  1.701  1.701  3.166  3.149  2.990  2.977 
–  –  (0.136)  (0.136)  (0.132)  (0.131)  
Insample  0.126  0.136  0.133  0.145  0.117  0.124 
hit rate  
Outofsample  0.119  0.128  0.141  0.138  0.110  0.132 
hit rate  
5. Conclusions
Our paper proposes Product2Vec, a method based on the representation learning algorithm Word2Vec, to understand productlevel competition in large markets with millions of products. The Product2Vec model generates lowdimensional vectors to represent product attributes.
The comparative advantages of Product2Vec are multifolds. First, our model is highly scalable and can be applied to millions of products because of the shallow model structure. Second, our model allows us to differentiate substitutes and complements using two metrics, exchangeability and complementarity. Third, by combining these vectors with random utilitybased choice models, we can forecast demand more quickly and accurately. This is important for firms to make precise and timely predictions of future sales. Fourth, our model can estimate price elasticities more accurately by removing the influence of price from product vectors.
References
 Polyglot: distributed word representations for multilingual nlp. arXiv preprint arXiv:1307.1662. Cited by: §1.
 A neural probabilistic language model. Journal of machine learning research 3 (Feb), pp. 1137–1155. Cited by: §2.
 Competitor identification and competitor analysis: a broadbased managerial approach. Managerial and decision economics 23 (45), pp. 157–169. Cited by: §1.
 Automobile prices in market equilibrium. Econometrica: Journal of the Econometric Society, pp. 841–890. Cited by: §3.4.1, §3.4.
 Database paper—the iri marketing data set. Marketing science 27 (4), pp. 745–748. Cited by: §4.1.
 Natural language processing (almost) from scratch. Journal of machine learning research 12 (Aug), pp. 2493–2537. Cited by: §2.
 Nonspatial tree models for the assessment of competitive market structure: an integrated review of the marketing and psychometric literature. Handbooks in operations research and management science 5, pp. 193–257. Cited by: §1.
 Modeling consumer choice among skus. Journal of marketing Research 33 (4), pp. 442–452. Cited by: item 2.
 P2Vmap: mapping market structures for large retail assortments. Journal of Marketing Research, pp. 0022243719833631. Cited by: §2.
 A logit model of brand choice calibrated on scanner data. Marketing science 2 (3), pp. 203–238. Cited by: §3.3.

Considerationset heuristics
. Journal of Business Research 67 (8), pp. 1688–1699. Cited by: §3.  On information and sufficiency. The annals of mathematical statistics 22 (1), pp. 79–86. Cited by: §3.2.
 Mixed mnl models for discrete response. Journal of applied Econometrics 15 (5), pp. 447–470. Cited by: §3.3.
 Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781. Cited by: §1, §2, §3.1.
 Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems, pp. 3111–3119. Cited by: §3.1, §3.1.

Learning word embeddings efficiently with noisecontrastive estimation
. In Advances in neural information processing systems, pp. 2265–2273. Cited by: §2.  A control function approach to endogeneity in consumer choice models. Journal of marketing research 47 (1), pp. 3–13. Cited by: §3.4.1.
 SHOPPER: a probabilistic model of consumer choice with substitutes and complements.. Annals of Applied Statistics. Cited by: §1, §2, §2, §3.2, §3.2, §4.3.2.

Word representations: a simple and general method for semisupervised learning
. In Proceedings of the 48th annual meeting of the association for computational linguistics, pp. 384–394. Cited by: §1.  Testing competitive market structures. Marketing Science 3 (2), pp. 83–112. Cited by: §1.