Tu regresión multivariable corrió limpio. El coeficiente de SOV pagado salió cercano a cero. Conclusión del dashboard: "retail media no es incremental". Pero esa conclusión solo es tan honesta como las variables que el modelo pudo ver. Estos son los cuatro ciegos que solo el scraping operacional revela.
El modelo por sí solo es defensible — pero incompleto
En el artículo anterior defendimos el modelo de atribución observacional: regresión de panel con seis variables (SOV pagado, precio relativo, promos, content score, reseñas, acciones de competencia) sobre la posición orgánica. Es defensible, es IAB/MRC-compliant, y es mejor que la oscuridad absoluta.
Pero tiene un techo estructural: endogeneidad y confounders no observados. El modelo solo ve las variables que le metiste. Si la variable que realmente está moviendo tu rank no está en la regresión, el coeficiente de las variables que sí están adentro va a mentir — porque tomará el crédito (o la culpa) de lo que no se midió.
El scraping operacional no resuelve la endogeneidad. Pero sí cierra el ciego de los confounders no observados, porque convierte en variables medibles cosas que la mayoría de los MMM dejan afuera.
Confounder #1 — Canibalización: pagaste por clics que ibas a ganar gratis
Lo que el modelo dice: SOV pagado coeficiente ≈ 0. Conclusión: no es incremental.
Lo que está pasando: entre 50% y 70% del gasto se asignó a keywords donde la marca ya estaba orgánica #1-3. Esos clics pagos se sentaron al lado del listing orgánico de la misma marca. La conversión iba a pasar de cualquier modo. El coeficiente promedio sale plano porque el efecto incremental real (en las keywords donde no eras orgánico) se diluye con el efecto cero de las keywords canibalizadas.
Lo que el scraping revela: la matriz orgánico × pagado por keyword. La zona patológica es arriba a la izquierda — orgánico #1-3 cruzado con SOV pagado alto. Cada celda de esa zona es una hipótesis de gasto no incremental.
Esto no es teoría. Blake, Nosko y Tadelis (2015) en eBay corrieron un holdout sobre paid search de marca y encontraron que casi la totalidad del gasto en keywords de marca era no-incremental para la marca establecida. La regresión multivariable no llega a esa conclusión. El experimento sí. Y el scraping te dice dónde mirar antes de pagar el experimento.
Sin la matriz, el debate "es o no es incremental" se queda en lo agregado. Con la matriz, el debate se convierte en "estas 87 keywords son sospechosas, estas otras 213 probablemente sí están moviendo aguja". Esa segunda conversación es accionable.
Confounder #2 — Gasto defensivo: ganaste perdiendo menos
Lo que el modelo dice: subiste SOV pagado, tu rank no se movió o cayó. Coeficiente nulo o negativo. Conclusión: el gasto no funciona.
Lo que está pasando: un competidor te atacó con su propio aumento de SOV. Sin tu inversión defensiva, habrías caído 10 posiciones en lugar de 2. El gasto fue completamente incremental al objetivo de defender share — pero el modelo lee la falta de mejora como falla.
Lo que el scraping revela: la línea de tiempo del SOV pagado del competidor. Si el competidor pasó de 8% a 22% de SOV en las top 10 keywords durante el mismo período, ya no estás midiendo si tu gasto funcionó en términos absolutos: estás midiendo si tu gasto fue suficiente para compensar el del competidor y, además, mover el rank. Es otra pregunta — y otra respuesta.
El modelo observacional incluye "acciones de competencia" en teoría, pero la mayoría de los equipos lo aproximan con un proxy débil (lanzamientos, promos genéricas) porque no tienen el SOV competitivo medido por keyword. Sin esa variable real, la regresión imputa el efecto del ataque competitivo al término de error. El coeficiente del propio SOV se contamina y dice algo que no es.
La evidencia de defensa exitosa se ve cuando el SOV del competidor ramped agresivamente, tu rank se sostuvo, y el modelo "no ve" mejora porque no hubo subida — pero hubo un piso defendido. Solo el scraping te muestra ese piso.
Confounder #3 — Agotados que contaminaron el período
Lo que el modelo dice: el coeficiente del SOV pagado sale engañosamente positivo y ruidoso.
Lo que está pasando: la SKU estuvo agotada 11 días en el retailer principal durante el período. Acá hay un detalle clave de LATAM que rompe la intuición que viene del manual de Amazon: en los retailers VTEX (Éxito, Jumbo, Olímpica) y en Mercado Libre, la plataforma despublica automáticamente los slots patrocinados de productos sin stock. No "puedes seguir gastando con un agotado", como en Amazon — simplemente la pauta se apaga sola.
El efecto sobre el modelo es perverso. Durante el agotado: tu SOV pagado se va a cero, tu velocity de venta colapsa y tu rank orgánico cae. Cuando vuelve el stock: vuelve el SOV pagado, y el rank empieza a recuperarse. La regresión ve una correlación bonita entre SOV pagado y rank orgánico — los dos suben y bajan juntos — y le imputa ese movimiento al gasto. El driver real, sin embargo, es la disponibilidad. SOV y rank son ambos consecuencia del mismo agotado; ninguno está causando al otro. El coeficiente sale inflado y dice algo que no es.
Lo que el scraping revela: la línea de tiempo de disponibilidad por SKU × retailer × día (idealmente por hora). Permite identificar los períodos de agotado, excluirlos del análisis o agregar la disponibilidad explícitamente al modelo para que el efecto del SOV pagado quede limpio de la influencia del stock.
Esto es el caso más limpio de confounder no observado: el modelo no puede incluir una variable que no observa. Si tu data interna no captura agotados con la granularidad correcta (muchas marcas confían en el inventario logístico, que está semanas atrasado vs. lo que el shopper realmente ve en el PDP), la regresión es ciega. Y el scraping es la única fuente que te da el agotado tal como lo experimentó el ranker — y como lo experimentó tu motor de pauta.
La regla operativa: antes de creer cualquier coeficiente, cruza el período del análisis con la línea de tiempo de disponibilidad. Si hay un agotado de >5% del tiempo en SKUs core, el modelo necesita excluir esos días o meter la disponibilidad como variable adentro.
Confounder #4 — Brechas de contenido que limitan la conversión
Lo que el modelo dice: subiste SOV pagado, el rank quedó plano. Coeficiente cercano a cero.
Lo que está pasando: tu PDP tiene 4 imágenes y la del líder de categoría tiene 9. No tiene video. Le faltan tres atributos estructurados — los campos llenables de la ficha del producto, tipo "sin azúcar", "tamaño familiar", "apto vegano" — que el retailer usa para alimentar los filtros laterales de la página de categoría. Sin esos atributos diligenciados, cuando un shopper aplica un filtro, tu producto desaparece de los resultados aunque sí cumpla con el criterio. Tu content score está debajo de la mediana, y el gasto pagado lleva tráfico al listing, pero la conversión se topa con un techo de PDP que ningún incremento de impresiones puede romper.
Lo que el scraping revela: content score timeline, completitud de atributos, conteo de imágenes vs. competidores, velocidad de reseñas, presencia de video. Cuando el coeficiente del SOV sale flat y el content score está debajo de la mediana de la categoría, el limiter no es el SOV — es la PDP.
Esto es importante porque el equipo de retail media va a recibir un coeficiente nulo y concluir "no funciona, baja el bid". La conclusión correcta es "no funciona porque el listing no convierte; arregla el listing antes de juzgar el bid". Son dos rutas operativas opuestas, y solo una resuelve el problema.
El modelo observacional incluye content score como variable, pero típicamente se mide al final del período como un snapshot — no como una serie temporal. Si el listing mejoró a mitad del período, el snapshot final pinta un universo donde el contenido siempre fue bueno. El scraping continuo te da la serie real y deja ver si el problema fue contenido pobre antes, o si sigue siendo contenido pobre ahora.
El workflow honesto
El modelo observacional sin contexto operacional es un coeficiente flotando. Con contexto operacional, se convierte en diagnóstico. La rutina:
- Corre la regresión sobre el período. Anota el coeficiente del SOV pagado y su intervalo de confianza.
- Cruza contra la matriz orgánico × pagado. ¿Qué porcentaje del gasto cayó en la zona top-left? Si >40%, sospecha canibalización antes de creer el coeficiente nulo.
- Cruza contra el SOV competitivo. ¿Hubo ramp-up del competidor durante el período? Si sí, lo que mediste fue gasto neto, no gasto bruto.
- Cruza contra la línea de disponibilidad. ¿Hubo agotados >5% del tiempo en SKUs core? Si sí, descarta el período o agrega la variable y rehaz.
- Cruza contra el content score y el velocity de reseñas. ¿La PDP convertía durante el período? Si el content score estaba por debajo de la mediana, el SOV no era el limitante.
Solo después de esos cuatro cruces el coeficiente significa lo que crees que significa. Antes, es una interpretación con sesgo no documentado — exactamente lo que el estándar IAB/MRC pide evitar.
Cierre
La atribución observacional sola es incompleta porque los modelos no pueden ver lo que no miden. Los geo holdouts siguen siendo el estándar de oro para la pregunta contrafactual más profunda; entre experimentos anuales, este cruce — regresión + scraping operacional — es lo que realmente operas.
ePerfectStore no reemplaza tu MMM. Lo que hace es darle el contexto que tu modelo no captura: la matriz orgánico × pagado, el SOV competitivo por keyword, la línea de disponibilidad por SKU × retailer, y el content score continuo. Convierte coeficientes en diagnósticos. Y eso es la diferencia entre "retail media no es incremental" y "estas 87 keywords no lo son, estas otras sí, y este período tiene que rehacerse porque el competidor atacó la semana 4".
Una última distinción que merece su propio artículo: incrementalidad no es lo mismo que share. Tu retail media puede ser perfectamente incremental — esas ventas no habrían ocurrido sin el gasto — y aún así estar perdiendo terreno si los competidores crecen más rápido. "¿Mi retail media funciona?" (incrementalidad) y "¿estoy ganando en el mercado?" (share, posición competitiva) son dos preguntas distintas que requieren dos lentes distintos. Para la primera, el cruce regresión + scraping que describimos arriba. Para la segunda, el termómetro de la posición orgánica — la otra capa donde ePerfectStore.com es la herramienta natural, y la que responde la pregunta del market share.
Fuentes
- Blake, Nosko & Tadelis (2015) — Consumer Heterogeneity and Paid Search Effectiveness: A Large-Scale Field Experiment. Econometrica. El holdout canónico de paid search de marca en eBay: casi todo el gasto en keywords de marca de marca establecida resultó no-incremental. Econometrica / Wiley.
- Karmaker Santu, Sondhi & Zhai (2017) — On Application of Learning to Rank for E-Commerce Search. SIGIR. Survey del estado del arte en LETOR para retailers, incluyendo cómo CTR, add-to-cart, conversión y velocity son señales de ranking. arXiv 1903.04263.
- Dash, Ghosh, Mukherjee, Chakraborty & Gummadi (2024) — Sponsored is the New Organic. AAAI. Audit algorítmico mostrando que productos patrocinados aparecen sistemáticamente arriba pese a ser clasificados como menos relevantes por el propio Amazon, y que el sponsorship retroalimenta el rank orgánico vía clicks. arXiv 2407.19099.
- Sorokina & Cantu-Paz (2016) — Amazon Search: The Joy of Ranking Products. SIGIR. Paper oficial de Amazon sobre cómo el A9 incorpora señales de engagement (clicks, conversiones, reseñas) al ranking — la base de por qué los confounders de scraping importan tanto. Amazon Science.
- IAB/MRC — Retail Media Measurement Guidelines (enero 2024). Estándar conjunto que acepta atribución observacional como método válido siempre que el bias esté documentado. PDF oficial IAB.
¿Tu MMM está midiendo retail media sin saber dónde estás canibalizando, dónde te atacaron, dónde te quedaste agotado, o dónde el contenido está limitando? ePerfectStore.com da el contexto operacional que convierte coeficientes en diagnósticos.