own and cross elasticity for many products

This publication uses this formula to fit a model to predict the demand of a product A:

Log_Demand_A = constant + b1*log_Price_A + b2*log_Price_B + b3*Promo_1 + b4*Promo_2 + b5*log_Price_A*Promo_1 + b6*log_Price_A*Promo_2


I have 2 questions.

1. What is done in practise when businesses sell hundreds of products? Could one fit several models for product A (e.g. own for own elasticity and let's say we have 2 other products B and C, another one for the interaction A->B and another one for the interaction A->C and the combine the demand prediction using some kensemble method).

2. Are the 2 promos in the above formula specific to product A (i.e. do not necesaarily apply to product B)?

this comes from a standard cob-douglas utilty function such as $U=A^\alpha\cdot B^\beta$ w.r.t a budget constraint. If you take a monotonically increasing function of U such as a log which leads to $\ln (U) = \ln (A^\alpha\cdot B^\beta) -> \alpha \cdot \ln (A) + \beta \cdot \ln (B)$ by solving this via a method like subbing in the budget constraint to get the indirect utility form and adding some dummy and interactions to control for the promotions you get the form above. You can see that this is founded purely from first principals but runs into the "too many parameters" problem when you have many products as you correctly anticipated. Imagine we have 100 products and we need to calculate the elasticity for every product pair. Well then we would have 100 equations with 100 elasticity parameters + 100 intercepts and whatever promotional dummies = $100 \cdot 100 + 100 10,100$ minimum parameters. As you might not even have this many data points and not enough to measure efficiently you run into problems and need to use other methods that impose more assumptions on the data.