Dominando el arte de la optimización de precios – Una solución de ciencia de datos
Mastering the art of price optimization - A data science solution
Descubriendo los secretos de las soluciones de ciencia de datos del mundo real para la optimización de precios en el comercio minorista

Tabla de contenidos:
1. Descripción general2. Modelado de elasticidad3. Optimización
1. Descripción general
La fijación de precios juega un papel muy crucial en el mundo de los negocios. Lograr un equilibrio entre las ventas y los márgenes es muy importante para el éxito de cualquier negocio. ¿Cómo podemos hacerlo de manera científica de datos? En esta sección, construiremos la intuición de una solución efectiva de ciencia de datos para la optimización de precios y luego nos adentraremos en los detalles y el código de cada componente.
Nota: existen diferentes tipos de estrategias de precios, pero en este artículo nos centraremos en construir la estrategia de precios para negocios convencionales/marcas establecidas con suficientes datos sobre el historial de cambios de precios. Veamos el enfoque básico que estamos tratando de seguir antes de entrar en detalles:

Hemos trazado las ventas y los precios para el artículo 1. En los últimos 9 meses, ha habido 2 cambios de precios y claramente, podemos ver el impacto en las ventas. Cuando los precios eran más bajos, las ventas eran mayores. Ahora la pregunta es cómo cuantificar el impacto en las ventas debido a los cambios de precios en el pasado y predecir el precio óptimo para el artículo en el futuro.
- Cómo potenciar tu LLM con agentes de LangChain
- ElevenLabs lanza Eleven Multilingual v2 un modelo de habla de IA qu...
- Dirigiendo lo Digital AI Generativa en el Cine y el Entretenimiento
Una observación interesante de enero a abril es que el precio se ha mantenido fijo en $5 pero aún observamos fluctuaciones en las ventas. Es muy normal, ya que en el mundo práctico hay muchos factores externos que afectan las ventas, como la estacionalidad, las vacaciones, los eventos promocionales, los gastos de marketing, etc. Por lo tanto, no modelamos las ventas reales, sino las ventas base que derivamos utilizando diferentes modelos.

Puedes observar que estamos analizando una tendencia más suave de las ventas en la serie de ventas base. ¿Es 100% preciso? ¡Definitivamente no! La ciencia de datos se trata de cuán cerca podemos llegar a la realidad. Pasemos al proceso ahora:
Supongamos que nos contratan y nos piden que proporcionemos los precios de miles de artículos en tiendas para el grupo Retailmart. Los precios del mismo artículo pueden ser diferentes en diferentes tiendas. La empresa nos ha proporcionado datos de los últimos 5 años. ¿Cuál debería ser nuestro enfoque para resolverlo?
Entendamos esto con un ejemplo de medidor de precios. Supongamos que tenemos un medidor de precios y hemos fijado los valores mínimos y máximos y el dial puede moverse entre estos dos extremos. Actualmente, el dial apunta hacia el precio actual. Nuestro objetivo es detener el dial en un punto donde podamos maximizar las ganancias.
A medida que movemos el dial hacia la derecha (es decir, aumentamos el precio), las ventas comenzarán a disminuir y los márgenes aumentarán, pero
- ¿Podemos cuantificar esta disminución? Sí, podemos y se conoce como la elasticidad precio de un artículo. En términos simples, la elasticidad precio para un artículo significaría el cambio porcentual en las ventas por un cambio del 1% en el precio.
- En el mundo real, las ventas a menudo se impulsan mediante eventos promocionales, días festivos, descuentos adicionales, etc., pero para optimizar el precio, necesitaríamos excluir el efecto de todos estos factores externos y calcular las ventas base.
- Una vez que cuantifiquemos el cambio en las ventas con respecto al cambio en el precio, necesitamos la respuesta, ¿Dónde detengo el dial? Para eso, necesitamos un objetivo que en la mayoría de los casos es maximizar las ganancias. Ganancias = Ventas * Margen, por lo que debemos detenernos en la posición donde nuestro valor de ganancias sea máximo. Matemáticamente, esto es un concepto de optimización no lineal donde el valor puede moverse dentro de límites.
- Las reglas comerciales son importantes, debemos asegurarnos de que los precios recomendados finales cumplan con estas reglas.
Estos son los principales pasos que seguiremos para determinar el precio correcto para cada artículo en una tienda determinada. Veamos estos pasos con un poco más de detalle:
1. Ventas y unidades base
Este paso es un pre-paso para los pasos siguientes. Como se mencionó, queremos modelar el impacto en las ventas debido a cambios en los precios. El escenario ideal es tener ventas que solo se vean afectadas debido a los precios, pero en el mundo práctico, nunca es el caso:
Por lo tanto, queremos simular las ventas para nuestro escenario ideal y lo hacemos utilizando un modelo de series temporales en la siguiente ecuación:
Ventas ~ función[ventas base + (efecto promocional) + (efecto de días festivos) + (cualquier otro efecto)]
Ten en cuenta que a veces no tenemos datos reales sobre los factores externos que están afectando las ventas. En ese caso, podemos usar variables ficticias para tener en cuenta todos esos factores. Un ejemplo sencillo puede ser si, en cierto mes, vemos un aumento repentino en las ventas pero el precio se mantiene constante, podemos introducir una simple variable ficticia con 1s para ese mes y 0s para los meses restantes.
2. Elasticidad del precio
La elasticidad del precio se refiere al cambio porcentual en las ventas con respecto al cambio porcentual en el precio de un artículo para una tienda determinada.
Como ejemplo, considera dos productos: la leche y el té verde ABC. ¿Cuál crees que tendrá una alta elasticidad del precio?
La leche, al ser un artículo esencial de uso diario con alta competencia, muestra una alta elasticidad del precio. Incluso un ligero cambio en el precio puede influir significativamente en las ventas debido a su demanda generalizada. Por otro lado, el té verde ABC, que puede estar disponible en un número limitado de tiendas, experimenta una baja elasticidad del precio. Es poco probable que un pequeño cambio de precio en el té verde ABC tenga un impacto sustancial en las ventas debido a su presencia en un mercado de nicho.
¿Cómo modelaremos esto?
Ventas base ~ función[(precio) + tendencia]
El coeficiente de la variable de precio se utilizará como la elasticidad del precio. La variable de tendencia se utiliza para tener en cuenta el aumento de las ventas debido a una tendencia a largo plazo y no necesariamente debido a cambios de precio. Discutiremos más detalles sobre el cálculo de las elasticidades en la sección de Elasticidad del precio a continuación.
3. Optimización no lineal dentro de límites
En este paso, obtendremos la respuesta a dónde se debe detener el dial.
Primero definimos nuestra función objetivo: maximizar los beneficios
Luego definimos el punto de inicio y final del medidor de precios que define el límite inferior y superior del precio
Ya hemos calculado las ventas base y las elasticidades del precio que cuantifican la sensibilidad de las ventas al precio. Pondremos todos estos datos en nuestra función de optimización no lineal y obtendremos el precio optimizado.
En palabras muy simples, el algoritmo probará diferentes puntos de precio dentro de los límites y verificará el valor de la función objetivo que, en nuestro caso, son los beneficios. Nos devolverá el punto de precio donde pueda obtener el valor máximo para nuestra función objetivo. (En la optimización lineal, visualiza cómo funciona el descenso de gradiente). Discutiremos más detalles sobre el cálculo de los precios optimizados en la sección de Optimización a continuación.
4. Reglas comerciales
Entonces, ¿podemos implementar directamente los precios optimizados en nuestras tiendas?
No, ¿pero qué queda ahora? Cumplir con las reglas comerciales es uno de los requisitos más importantes para cualquier negocio.
Pero, ¿de qué tipo de reglas estamos hablando en cuanto a precios?
- Reglas de números finales: es una práctica común fijar el precio del producto en $999 o $995 en lugar de $1000. Hay varias razones psicológicas para hacerlo, por lo tanto, debemos asegurarnos de que nuestros precios recomendados finales cumplan con estas reglas si son aplicables.
- Reglas de brecha de productos: ¿Puedes vender el paquete de Maggi de un solo paquete a un precio más caro por unidad que el paquete de 4 paquetes de Maggi? No, ¿verdad? A menudo, si el tamaño del paquete aumenta, el costo por unidad debería disminuir o al menos mantenerse igual.
Entonces, estos son ejemplos de algunas de las reglas comerciales que el negocio desea aplicar. Realizaremos algunos pasos de post-procesamiento en los precios optimizados para llegar a los precios recomendados finales.
Ahora que conoces el proceso general, es hora de profundizar en más detalles y en la codificación.
2. Modelado de la elasticidad
En esta sección, entenderemos cómo podemos utilizar este concepto para obtener precios optimizados para miles de productos en múltiples tiendas. Supongamos que tenemos que determinar la elasticidad precio de un producto de snack llamado Yochips que se vende en una tienda en California durante los últimos 3 años. Primero veamos la definición de elasticidad precio:
La elasticidad precio se define como el cambio porcentual en las ventas con un cambio del 1% en el precio.
Ahora te preguntarás, ¿qué algoritmo puedo utilizar para calcular la elasticidad precio de un producto como Yochips?
Veamos algunos detalles del libro de economía sobre el modelo de elasticidad precio constante y veamos si podemos relacionarlo con algún algoritmo de ciencia de datos.
La forma multiplicativa de la función de demanda será:
Yi = α*Xi (donde y será ventas/demanda y x será precio)
Tomando el logaritmo en ambos lados
log(Yᵢ) = log(α*Xᵢ^β)
log(Yᵢ) = log(α) + β*log(Xᵢ) ……….Eq(1)
log(α) puede considerarse como una constante (intercepto) β₀
log(Yᵢ) = β₀ + β₁*log(Xᵢ) ………….Eq(2)
Ahora, al diferenciar ambos lados, obtendremos
δY/Y = β₁*δX/X
El término del lado izquierdo representa el cambio porcentual en Y que es el cambio porcentual en las ventas, mientras que el término del lado derecho representa el cambio porcentual en el precio. Ahora, cuando
% de cambio en el precio = 1%; entonces δX/X = 1
δY/Y = β₁
Esto significa que el cambio porcentual en las ventas será β₁ y eso es nuestra elasticidad.
Ahora, si te has dado cuenta, la Ecuación 2 es una Ecuación de Regresión donde se realiza una regresión de los logaritmos de las ventas con respecto a los logaritmos de los precios y el coeficiente de los logaritmos de los precios será nuestra elasticidad precio.
¡Hurra! Ahora sabemos que calcular la elasticidad es tan simple como entrenar un modelo de regresión.
Pero hay otro detalle. La ecuación de la función de demanda tiene algunas suposiciones y una de ellas es que las ventas solo se ven afectadas por el precio, pero eso generalmente nunca es el caso en el mundo real, ya que generalmente hay múltiples factores que afectan las ventas como promociones, días festivos, eventos, etc. Entonces, ¿cuál es la solución? Necesitamos calcular el componente de ventas en el que podamos eliminar el impacto de todos estos eventos adicionales.
Una cosa a aclarar es que las ventas base se refieren a las ventas unitarias y no a las ventas en dólares. Entonces, en la ecuación 2, necesitamos hacer una regresión del precio con respecto a las unidades base en lugar de las unidades de ventas reales. Ahora la pregunta es, ¿cómo podemos obtener las unidades base a partir de las unidades de ventas reales?
Entendámoslo utilizando un ejemplo. A continuación, puedes ver el gráfico semanal de la serie temporal de las unidades de ventas y los precios de venta:

¿Puedes ver algún patrón en el gráfico anterior? Es difícil de decir porque hay demasiadas fluctuaciones en la serie de unidades de ventas. Ahora, estas fluctuaciones pueden deberse a múltiples factores como días festivos, promociones, eventos, Copa Mundial de la FIFA, etc. Para aislar el efecto de los cambios de precio, necesitamos calcular las ventas que excluyen la influencia de estos factores adicionales.
Utilizando el modelo Prophet, podemos descomponer la serie temporal y extraer el componente de tendencia que representa las ventas base. Al aplicar esta técnica, separamos el impacto a largo plazo de los cambios de precio de otras influencias a corto plazo. Veamos de qué estamos hablando:

En el gráfico anterior, hemos descompuesto los logaritmos originales de las unidades de ventas (gris) en las unidades base (línea amarilla)
Aquí tienes un código con el que puedes descomponer la serie temporal y obtener el componente de tendencia que se convertirá en las ventas base:
# Definición de las variables de entrada
timestamp_var = "semana_terminada_domingo"
baseline_dep_var = "ln_ventas"
changepoint_prior_scale_value = 0.3
list_ind_vars_baseline = ['tipo_evento_1_Cultural','tipo_evento_1_Nacional','tipo_evento_1_Religioso','tipo_evento_1_Deportivo']
# Preparando el conjunto de datos
df_item_store = df_item_store.rename(columns={timestamp_var: 'ds', baseline_dep_var: 'y'})
df_item_store['ds'] = pd.to_datetime(df_item_store['ds'])
# Inicializando y ajustando el modelo
model = Prophet(changepoint_prior_scale=changepoint_prior_scale_value) # changepoint_prior_scale predeterminado = 0.05
# Agregando las variables de regresión al modelo
for regressor in list_ind_vars_baseline:
model.add_regressor(regressor)
model.fit(df_item_store)
# Dado que solo estamos descomponiendo la serie de tiempo actual, usaremos los mismos datos para el pronóstico que se utilizaron para el modelado
# Realizando predicciones y extrayendo el componente de tendencia
forecast = model.predict(df_item_store)
level_component = forecast['trend']
A continuación, se muestran las entradas que necesitamos definir:
- changepoint_prior_scale_value: esto controla la suavidad de la tendencia. Puede obtener más información al respecto en la documentación del modelo Prophet.
- list_ind_vars_baseline: incluye todos los eventos adicionales que han impactado las ventas, como festivales, eventos deportivos, eventos culturales, etc.
Así es como changepoint_prior_scale_value afecta la tendencia. Cuando el valor es pequeño, la línea tiende a ser casi recta, y cuando el valor es alto, la tendencia es menos suave.
El código es simple. Inicialmente, cambiamos el nombre de la variable “ln_ventas” a “y” y la variable “semana” a “ds” para cumplir con los requisitos para utilizar el modelo Prophet. Luego, inicializamos el modelo Prophet, especificando el parámetro “changepoint_prior_scale”. A continuación, incorporamos variables de eventos y festivos adicionales en el modelo. Finalmente, generamos pronósticos utilizando el mismo conjunto de datos en el que entrenamos el modelo y extraemos el componente de tendencia.
Genial. Ahora tenemos la serie de unidades base y podemos ajustar un modelo de regresión lineal entre las unidades base (que ya están en escala logarítmica porque descompusimos la serie de log_unidades_base) y el logaritmo del precio. A continuación se muestra la ecuación:
log(unidades base) = intercepción + elasticidad * log(precio)
Con la ecuación anterior, podemos calcular el valor de elasticidad. En la práctica, no todas las series son adecuadas para modelar, por lo que es posible que se obtengan valores inesperados de elasticidad para varios artículos. ¿Cuál es la solución? Si podemos realizar una regresión con restricciones en el valor de elasticidad. Pero, ¿cómo podemos implementarlo? Usando una función de optimización.
Para cualquier optimización, a continuación se presentan los requisitos básicos:
- Una función objetivo: esta es la ecuación que intentamos minimizar/maximizar. En nuestro caso, será la función de pérdida que utilizamos en la regresión lineal MSE (predicción – valor real => [intercepción + elasticidad * ln_precio – valor real]²).
- Los valores iniciales de los parámetros que estamos tratando de optimizar, en nuestro caso, son la intercepción y la elasticidad. Estos pueden ser cualquier valor aleatorio inicialmente.
- Límites para los parámetros: estos son los límites mínimos y máximos tanto para la intercepción como para la elasticidad.
- Algoritmo de optimización: esto depende de la biblioteca, pero puedes usar los valores predeterminados y eso debería darte los resultados correctos.
A continuación, veamos el código:
# Preparando la matriz para alimentar al algoritmo de optimización
x = df_item_store_model
x["intercepción"] = 1
x = x[["intercepción", "ln_precio_venta", "ln_ventas_base"]].values.T
actuals = x[2]
from scipy.optimize import minimize
# Definir la función objetivo a minimizar
def objetivo(x0):
return sum(((x[0] * x0[0] + x[1] * x0[1]) - actuals) ** 2) # (intercepción * 1 + elasticidad * (ln_precio_venta) - ln_ventas_base)^2
# Definir el valor inicial para las variables
x0 = [1, -1]
# Definir los límites para las variables
bounds = ((None, None), (-3, -0.5))
# Utilizar el algoritmo de optimización SLSQP para minimizar la función objetivo
result = minimize(objetivo, x0, bounds=bounds, method='L-BFGS-B')
# Imprimir el resultado de la optimización
print(result)
# Guardar la elasticidad del precio de un artículo en el dataframe
price_elasticity = result.x[1]
df_item_store_model["elasticidad_precio"] = result.x[1]
Ten en cuenta que hemos definido el valor inicial del parámetro de intercepción como 1 y la elasticidad como -1. No se han definido límites para la intercepción, mientras que para la elasticidad se han definido límites de (-3,-0.5). Esta es la razón principal por la que estamos realizando la regresión a través de la función de optimización. Después de ejecutar la optimización, guardamos el valor del parámetro optimizado de la elasticidad del precio. ¡Hurra! ¡Hemos calculado la elasticidad del precio!
Entonces, nuestras Yochips en la tienda de California tienen una elasticidad del precio de -1.28.
Echemos un vistazo a la elasticidad del precio para algunas otras series también:
Elasticidad de precio baja: No hay cambios significativos en las ventas con un aumento en el precio. A continuación se muestra una gráfica de un artículo con una elasticidad de precio de -0.5

Elasticidad de precio de VoAGI: Hay una caída moderada en las ventas con un aumento en el precio. A continuación se muestra una gráfica de un artículo con una elasticidad de precio de -1.28

Elasticidad de precio alta: Hay una fuerte caída en las ventas con un aumento en el precio. A continuación se muestra una gráfica de un artículo con una elasticidad de precio de -2.5

Utilizando el mismo enfoque, podemos calcular la elasticidad del precio para todos los artículos. En el próximo artículo, exploraremos cómo podemos utilizar estos valores de elasticidad para determinar los precios optimizados para cada artículo.
3. Optimización
En la sección anterior, ya habíamos determinado la elasticidad del precio de Yochips para nuestra tienda de California. Pero eso no ayuda al gerente de la tienda, él quiere saber cómo debe cambiar el precio de Yochips para maximizar los ingresos. En este artículo, entenderemos la metodología para optimizar los precios.
Pero antes de eso, hay algunas preguntas que debemos hacerle al gerente de la tienda.
P: ¿Hay algún límite en el cambio de precio mínimo y máximo que se debe considerar al optimizar los precios?
Basándonos en las discusiones con el gerente de la tienda, establecimos que la disminución de precio no debe superar el 20% y los aumentos de precio también deben limitarse al 20%.
El precio actual de las Yochips es de $3.23 y ahora sabemos que el precio optimizado debe estar entre $2.58 – $3.876. Pero, ¿cómo podemos obtener un precio optimizado?
Pero, ¿cómo podemos obtener un precio optimizado que maximice los ingresos? Hagamos algo de matemáticas:
Ingresos optimizados = Unidades totales vendidas * (Precio optimizado)
Necesitamos optimizar el precio para poder maximizar los ingresos. Pero las unidades totales vendidas también cambiarán con un cambio en el precio. Reescribamos la ecuación anterior y podemos llamar a las unidades totales vendidas a un precio optimizado como unidades optimizadas:
Ingresos optimizados = Unidades optimizadas * (Precio optimizado)……………(eq1)
Ya sabemos que —
Elasticidad = %cambio en las unidades vendidas / %cambio en el precio
Por lo tanto:
Unidades optimizadas = Unidades base + cambio en unidades a un precio optimizado
Aquí, las unidades base se refieren a las ventas totales de unidades al precio actual que es de $2.58
Unidades optimizadas = (Unidades base + (Unidades base * elasticidad del precio * (% cambio en el precio optimizado vs precio regular) ………. (eq2)
Coloquemos la eq2 en eq1
Ingresos optimizados = (Unidades base + (Unidades base * elasticidad del precio * (% cambio en el precio optimizado vs precio regular) * (Precio optimizado) …….. (eq3)
Ingresos optimizados = (Unidades base + (Unidades base * elasticidad del precio * [(Precio optimizado — Precio actual) / Precio actual]* (Precio optimizado)…………..eq(4)
A continuación se presentan los parámetros clave en la ecuación de optimización (eq4):
Unidades base = Ventas unitarias promedio al precio actual.
Elasticidad del precio = valor calculado para la elasticidad del precio del artículo
Precio actual = último precio de venta
¡Genial! En nuestra ecuación, aparte del precio optimizado, tenemos datos para todas las demás variables. ¿Qué algoritmo podemos usar para calcular un precio optimizado que maximice los ingresos? Podemos simplemente usar el algoritmo de optimización.
¿Cuáles son los componentes críticos necesarios para la optimización:-
- La función objetivo que se debe minimizar/maximizar:- Ya hemos definido la función objetivo que es maximizar los ingresos optimizados según se define en la ecuación (4).
- Límites: Según lo definido por el gerente de la tienda, necesitamos que el precio optimizado no cambie más del 20%. Por lo tanto, el Límite Inferior = Precio Actual (1–0.2) & Límite Superior = Precio Actual (1+0.2)
- Algoritmo de Optimización: Utilizaremos la biblioteca Scipy.optimize de Python para implementar la optimización.
Echemos un vistazo al código:-
# Tomando el promedio de las últimas 6 semanas de ventas base#--------------------------------------------------# Clasificación de la columna de fechasdf_item_store_optimization["rank"] = df_item_store_optimization["ds"].rank(ascending=False)# Subconjunto de las últimas 6 semanas de datosdatabase_sales_df = df_item_store_optimization.loc[df_item_store_optimization["rank"] <= 6].groupby("id")["base_sales"].mean().reset_index()df_item_store_optimization_input.rename(columns = {"base_sales":"base_units"}, inplace=True)# Derivación del límite inferior y superior para el precio de venta#--------------------------------------------------# Creación de UB y LB con un rango del 20%df_item_store_optimization_input["LB_price"] = df_item_store_optimization_input["sell_price"] - (0.2*df_item_store_optimization_input["sell_price"])df_item_store_optimization_input["UB_price"] = df_item_store_optimization_input["sell_price"] + (0.2*df_item_store_optimization_input["sell_price"])
El código anterior nos ayuda a preparar los datos para la optimización. En primer lugar, estamos calculando las unidades base como el promedio de las ventas base (componente de tendencia de la serie descompuesta) de las últimas 6 semanas. Ya hemos discutido la metodología para calcular las ventas base en la sección anterior.
A continuación, estamos definiendo LB_price y UB_price disminuyendo e incrementando un 20% del precio de venta actual respectivamente.
Definamos el código para llevar a cabo la optimización.
from scipy.optimize import minimize# Define la función objetivo a minimizardef objective(opti_price): df_item_store_optimization_input["opti_price"] = opti_price df_item_store_optimization_input["optimized_units"] = df_item_store_optimization_input["base_units"] + (df_item_store_optimization_input["base_units"]*\ ((df_item_store_optimization_input["opti_price"]/df_item_store_optimization_input["sell_price"]) - 1)*\ (df_item_store_optimization_input["price_elasticity"])) df_item_store_optimization_input["optimized_revenue"] = df_item_store_optimization_input["optimized_units"]*df_item_store_optimization_input["opti_price"] return -sum(df_item_store_optimization_input["optimized_revenue"])# Define el valor inicial de suposiciónopti_price = df_item_store_optimization_input["sell_price"][0]# Define los límites para las variablesbounds = ((df_item_store_optimization_input["LB_price"][0], df_item_store_optimization_input["UB_price"][0]),)# # Utiliza el algoritmo de optimización para minimizar la función objetiveresult = minimize(objective, opti_price, bounds=bounds)# Imprime el resultado de la optimizaciónprint(result)
El código anterior nos dará el precio optimizado. ¿Puedes adivinar por qué estamos definiendo ingresos optimizados negativos en la función objetivo? ¿Qué es -(-1), es 1. Estamos minimizando la función objetivo y usando el signo negativo para los ingresos optimizados conducirá a maximizar los ingresos optimizados.
Además, podemos inicializar la variable opti_price con cualquier valor aleatorio, solo para facilitar la convergencia rápida, la estamos inicializando con el precio de venta actual. En los límites, estamos definiendo el LB & UB que hemos creado en el código anterior.
¡Hurra! Hemos encontrado el precio optimizado para Yochips y estamos listos para proponérselo al gerente de la tienda de California.

Nuestra recomendación será reducir los precios de Yochips en un 10,2% a $2,9. Esto resultará en ingresos máximos.
Este es el último paso en el enfoque de optimización de precios y el enfoque general es tan poderoso que puede ayudarnos a devolver precios optimizados para cada artículo en cada tienda.
Una de las limitaciones del enfoque anterior es para los artículos donde no tenemos suficiente historial de cambios de precios. En ese escenario, utilizamos otras técnicas, pero si esa fracción de artículos es menor, se puede utilizar la elasticidad del precio promedio a nivel de categoría para dichos artículos.
¡Espero que hayas disfrutado este artículo!