Come trattare l’endogeneità del prezzo?
Il prezzo è endogeno quando covaria con determinanti non osservati della domanda. Controlli, effetti fissi e variabili strumentali affrontano fonti di bias diverse.
Risposta diretta
Stimare l’elasticità sotto un insieme dichiarato di ipotesi di identificazione.
Il prezzo è endogeno quando covaria con determinanti non osservati della domanda. Controlli, effetti fissi e variabili strumentali affrontano fonti di bias diverse.
01
Perché prezzo e vendite non bastano
Un calo di prezzo seguito da maggiori vendite non dimostra che il calo abbia causato l’aumento. Il prezzo può essere stato ridotto proprio perché la domanda rallentava. Una promozione, una rottura di stock del concorrente, la stagionalità o un cambio di assortimento possono modificare insieme prezzo e quantità.
- 01
Problema operativo: il prezzo influenza le vendite, ma le vendite attese influenzano anche il prezzo.
- 02
Problema statistico: il prezzo è correlato con determinanti non osservati della domanda contenuti nell’errore.
- 03
Strategia IV: isolare una variazione di prezzo proveniente da una fonte esterna alla domanda non osservata.
02
Un esempio di marketing dall’inizio alla fine
Illustrazione sintetica: valori didattici, non osservati e non riutilizzabili come benchmark.
Il dataset sintetico segue 60 prodotti per 10 settimane, per un totale di 600 righe. Il prezzo risponde a uno shock del costo del fornitore e anche a uno shock di domanda non osservato. La quantità risponde al prezzo, alla promozione, alla stagionalità e allo stesso shock di domanda. Questa costruzione rende il prezzo endogeno mantenendo uno strumento rilevante ed esogeno per costruzione.
In questa realizzazione sintetica, OLS è distorta verso zero e 2SLS si avvicina al coefficiente generatore di −1,20. Il valore −1,011 non è né un benchmark né un’elasticità universale. Descrive solo la variazione di prezzo isolata dal protocollo sintetico, sotto le ipotesi dichiarate.
03
Domanda scientifica ed estimando
Per i 60 prodotti e le 10 settimane del file, qual è il coefficiente log-log del prezzo sulla quantità per la variazione di prezzo indotta dallo shock del costo del fornitore, condizionatamente a promozione e stagionalità? L’estimando è β nell’equazione strutturale dichiarata, con inferenza cluster per prodotto.
Controfattuale: per lo stesso prodotto i e la stessa settimana t, confrontare Qᵢₜ(p₁) con Qᵢₜ(p₀) quando varia solo il log-prezzo p attraverso la componente indotta da Z, mantenendo fissi i controlli X. Il contrasto è definito dal modello strutturale omogeneo dichiarato e non è direttamente osservato.
04
Perché la regressione semplice può fallire
OLS attribuisce al prezzo ogni variazione residua comune a prezzo e domanda. Qui lo shock di domanda non osservato aumenta insieme prezzo e quantità. La condizione E[u | ln(P), X] = 0 è quindi violata. Direzione e ampiezza del bias dipendono dal processo di prezzo e non seguono una regola universale.
05
Il meccanismo causale da rendere credibile
06
Dati necessari e qualità minima
- Unità: prodotto × settimana; 600 righe, 60 cluster di prodotto e 10 periodi senza valori mancanti nell’esempio.
- Variabili: log_quantity, log_price, supplier_cost_shock, promotion, season_index, product_id e week.
- Sui dati reali documentare: fonte del costo, calendario prezzi, rotture di stock, qualità, assortimento, promozioni, concorrenza, errore di misura, attrito e supporto dei prezzi.
07
Modello formale e simboli
ln(Pᵢₜ) = α₁ + πZᵢₜ + δXᵢₜ + vᵢₜ
ln(Qᵢₜ) = α₂ + βln(Pᵢₜ) + γXᵢₜ + uᵢₜ
i, t | indici di prodotto e settimana |
|---|---|
Q | quantità venduta; log_quantity è osservato |
P | prezzo; log_price è osservato ma endogeno |
Z | supplier_cost_shock, strumento candidato osservato |
X | promotion e season_index, controlli osservati |
β | coefficiente 2SLS stimato di ln(P) nell’equazione della quantità |
π | coefficiente del primo stadio di Z su ln(P) |
α₁, α₂ | intercette delle equazioni di prezzo e quantità |
δ, γ | vettori dei coefficienti dei controlli X nelle due equazioni |
ln(P)̂ | log-prezzo stimato proiettato da Z e X nel primo stadio |
Qᵢₜ(p) | quantità controfattuale del prodotto i nella settimana t sotto il log-prezzo p |
u, v | errori non osservati delle equazioni strutturale e del prezzo |
08
Che cosa fanno davvero le due fasi
Fase 1: spiegare il prezzo
ln(P) = α₁ + πZ + δX + vSi stima la parte del log prezzo spiegata dallo strumento Z e dai controlli X. Questa fase produce il valore stimato di ln(P), indicato con ln(P)̂, usato dal modello IV.
Fase 2: spiegare le quantità
ln(Q) = α₂ + β·ln(P)̂ + γX + uβ è stimato dalla variazione di prezzo proiettata dallo strumento, non da tutta la variazione osservata di P. Per l’inferenza serve uno stimatore 2SLS completo: una seconda OLS manuale sul valore stimato di ln(P) darebbe errori standard errati.
09
Risultato numerico riproducibile
Lo script standard library riproduce: βOLS = −0,577216 (ES 0,046332), π = 0,434136 (ES 0,027147), R² parziale = 0,310020, Wald cluster χ²(1) = 255,749005 e βIV = −1,011208 (ES 0,083104; IC asintotico al 95%, z = 1,96, 60 cluster: [−1,174092; −0,848325]). Il coefficiente esplorativo del residuo del primo stadio è 0,628993 (ES 0,091948; t descrittivo = 6,840731). Poiché usa un regressore generato, quest’ultimo calcolo non è presentato come test formale cluster-robusto e non convalida l’esclusione.
10
Sei condizioni e controlli tradotti in domande operative
| Condizione o controllo | Domanda operativa | Evidenza da documentare |
|---|---|---|
| Rilevanza | Lo strumento muove abbastanza il prezzo dopo i controlli? | Coefficiente del primo stadio, R² parziale e statistica robusta adatta al disegno. |
| Indipendenza | Z è indipendente dalla domanda non osservata, condizionatamente a X? | Cronologia, processo di assegnazione, bilanciamento delle covariate e conoscenza del mercato. |
| Esclusione | Z può influenzare le vendite per una via diversa dal prezzo? | DAG, audit operativo e ricerca di vie dirette come disponibilità, qualità o assortimento. |
| Forza | La variazione isolata è abbastanza informativa per una stima stabile? | Diagnostica per strumenti deboli e intervalli robusti alla debole identificazione. |
| Eterogeneità | L’ipotesi di un coefficiente strutturale omogeneo è difendibile? | L’esempio impone un β omogeneo. Su dati reali, documentare l’eterogeneità e non trasformare automaticamente il 2SLS in un’elasticità universale. |
| Sensibilità | Il risultato resiste ad altre specificazioni plausibili? | Finestre, controlli, effetti fissi, cluster, strumenti e campioni alternativi dichiarati. |
Rilevanza e forza sono misurabili. Indipendenza ed esclusione non sono verificabili dal solo file; richiedono una giustificazione causale esterna.
11
Diagnostica da produrre prima di interpretare β
- 01
Primo stadio: coefficiente di Z, R² parziale e statistica robusta. F > 10 non è una regola universale di validazione.
- 02
Strumenti deboli: integrare l’intervallo 2SLS con inferenza robusta di tipo Anderson–Rubin o CLR quando l’identificazione è incerta.
- 03
Incertezza: usare errori standard robusti o clusterizzati coerenti con unità di assegnazione e dipendenza temporale.
- 04
Sovraidentificazione: disponibile solo con più strumenti esclusi che regressori endogeni. Un mancato rifiuto non prova la validità.
- 05
Endogeneità: un test Durbin–Wu–Hausman non significativo non prova l’esogeneità del prezzo, soprattutto con uno strumento debole.
- 06
Sensibilità: confrontare OLS, 2SLS, specificazioni alternative e domini di supporto senza scegliere a posteriori il risultato preferito.
12
Interpretare il risultato senza estenderlo troppo
Nel modello log-log omogeneo dichiarato, βIV = −1,011 significa che un aumento del prezzo dell’1% indotto da Z corrisponde, sotto le ipotesi IV e strutturali, a circa l’1,011% di quantità in meno sul supporto studiato. Per +5%, il calcolo finito dà 100 × [(1,05)^−1,011208 − 1] = −4,81%. La conversione non trasporta l’effetto oltre popolazione, periodo o meccanismo di costo studiati.
13
Che cosa si può concludere
Sotto le ipotesi di identificazione e l’ipotesi strutturale omogenea esplicitamente imposta nell’esempio, β descrive la risposta causale alla variazione di prezzo indotta dallo strumento nella popolazione, nel periodo e nel supporto analizzati. Un aumento dell’1% corrisponde quindi a circa β% di variazione delle quantità; il calcolo finito esatto è 100 × [(1,01)^β − 1].
Questa elasticità si applica necessariamente a tutti i prodotti, clienti, periodi, livelli di prezzo e future politiche di prezzo.
14
Decisione di marketing possibile
Decisione possibile: confrontare uno scenario di aumento del prezzo limitato al supporto osservato con uno scenario senza aumento, riportando separatamente volume, margine e incertezza. Decisione non supportata: automatizzare un prezzo ottimale o estrapolare a prodotti, clienti o livelli di prezzo non coperti. Se esclusione o indipendenza restano fragili, rinviare la decisione o usare un esperimento sicuro.
15
Quando non usare questo metodo
- Non è disponibile uno strumento credibile.
- Lo strumento candidato incide direttamente su domanda, disponibilità, qualità o assortimento.
- Il primo stadio è troppo debole per produrre una stima informativa.
- Il numero di osservazioni o cluster è insufficiente per l’incertezza richiesta.
- È possibile un esperimento di prezzo etico e operativamente sicuro.
- Una regola nota di determinazione del prezzo consente una strategia di identificazione più diretta.
16
Implementazioni di riferimento
Python 3.13 · standard library · reference
python msc-p020-reference.py --csv msc-p020-price-endogeneity.csvScaricaR 4.5 · ivreg / sandwich / lmtest · companion syntax not executed in this build
library(ivreg); library(sandwich); library(lmtest)
d <- read.csv('msc-p020-price-endogeneity.csv')
fit <- ivreg(log_quantity ~ log_price + promotion + season_index |
supplier_cost_shock + promotion + season_index, data=d)
summary(fit, diagnostics=TRUE)
coeftest(fit, vcov.=vcovCL(fit, cluster=d$product_id, type='HC1'))Documentazione ufficialeIBM SPSS Statistics 31 · secondary syntax
2SLS log_quantity WITH log_price promotion season_index
/INSTRUMENTS=promotion season_index supplier_cost_shock
/ENDOGENOUS=log_price
/PRINT=COV.Documentazione ufficialeSAS 9.4 · secondary syntax
proc syslin data=pricing 2sls;
endogenous log_price;
instruments supplier_cost_shock promotion season_index;
model log_quantity = log_price promotion season_index;
run;Documentazione ufficialePython è l’unico riferimento eseguito in questa build. Il blocco R è una sintassi complementare non eseguita qui; SPSS e SAS sono secondari e non riproducono l’inferenza cluster. Nessuna sintassi rende valido lo strumento: verificare versioni, covarianza e diagnostica per strumenti deboli nel proprio ambiente.
17
Risultato atteso per una decisione di prezzo
- 01
Domanda di prezzo, popolazione, unità di analisi, periodo ed estimando log-log.
- 02
DAG e giustificazione scritta di rilevanza, indipendenza ed esclusione.
- 03
Primo stadio completo, forza dello strumento e dominio di variazione identificato.
- 04
Coefficiente 2SLS, intervallo adeguato, inferenza robusta agli strumenti deboli e piano di clustering.
- 05
Confronto OLS/IV, analisi di sensibilità, limiti di trasferibilità e decisioni esplicitamente non supportate.
18
Riferimenti scientifici
Mostra perché l’endogeneità delle variabili di marketing, incluso il prezzo, può distorcere parametri e usi decisionali dei modelli di scelta.
Chiarisce che l’interpretazione causale IV dipende da ipotesi esplicite sullo strumento, l’assegnazione e il modello strutturale.
Documenta il rischio di bias e instabilità quando gli strumenti spiegano poco la variabile endogena.
19
Livello di prova e limiti di trasporto
Livello del dossier: metodo illustrato e replicato su dati sintetici, con tre testi integrali verificati a livello di affermazione. Non è una validazione empirica di uno strumento reale né una prova di trasportabilità. Su dati reali la rilevanza è misurabile; indipendenza ed esclusione restano ipotesi causali da difendere con processo operativo, grafo causale e analisi di sensibilità.
Dataset · Strumento
Connessioni metodologiche
