El presente documento tiene como objetivo el establecimiento de precios y cantidades para la maximización de los ingresos totales del SuperStore. Esto se podrá lograr a través del cumplimiento de los siguientes sub-objetivos:
Determinar si el segmento del cliente es independiente al tipo de producto.
Desarrollo de una metodologia del precio maximizador del ingreso total.
Metodología de promociones para la maximización del ingreso.
Para el cumplimiento del objetivo propuesto se utilizará el algoritmo de regresión lineal. A partir del algoritmo de regresión, se obtendrán los coeficientes para la formación de la ecuación general de la demanda (Qd=B0 + B1*P), el porcentaje de variabilidad explicado por el modelo y el p-value. Este último validará el modelo una vez que sea menor a 0,05 con un nivel de confianza del 95%.
Ya validado el modelo, se obtiene la función de demanda, lo que permitirá calcular el ingreso total y así el precio maximizador del ingreso total. A su vez este procedimiento se realizará nuevamente, segmentando por categoría de producto, con el fin de evaluar diferencias entre los precios maximizadores.
A su vez se realiza un test de chi-cuadrado con el objetivo de evaluar si el segmento de clientes es o no independiente a la categoría del producto comprado.
Por último se utiliza nuevamente el algorítmo de regresión lineal para evaluar si los descuentos afectan al Ingreso Total. Esto se corroborará con el coeficiente de Pearson.
La base SuperStore cuenta con 21 variables y 9994 registros.
## Row ID Order ID Order Date Ship Date Ship Mode
## "double" "character" "character" "character" "character"
## Customer ID Customer Name Segment Country City
## "character" "character" "character" "character" "character"
## State Postal Code Region Product ID Category
## "character" "double" "character" "character" "character"
## Sub-Category Product Name Sales Quantity Discount
## "character" "character" "character" "double" "character"
## Profit
## "character"
Las variables que se utilizaron para hacer posible nuestro análisis relacionado al objetivo fueron:
“Segment”: Describe la categoría del cliente, la cuál puede variar entre Consumer, Corporate y Home Office. (Es de tipo Character)
“Category”: Describe la primera categoría por la cuál estan segmentados los productos. Entre ellas se encuentra Furniture, Technology y Office Supplies. (Es de tipo Character).
“Sales”:Describe el valor total de la compra realizada (Es de tipo Double).
4.”Quantity”:Describe la cantidad comprada del producto (Es de tipo Integer).
“Discount”: Describe el porcentaje de descuento aplicado a cada compra registrada.
“Product Name”: Hace referencia al nombre del producto comprado.
Ya que durante el análisis se precisa una variables que contenga el precio por unidad, para poder así determinar la demanda, se creó esta variable de tipo Double con el nombre de Price. Para esto, fue necesario hacer modificaciones en los tipo de dato de las variables Quatity y Sales. Para la unificación de los valores del data, se infirió sobre la variable Profit.
Las demas variables que no fueron nombradas, serán descartadas ya no que no fueron relevantes para el análisis del objetivo propuesto.
Si bien se encuentran outliers en las variables Sales y Price, estos no seran considerados como outliers, ya que la base presenta una división de productos con mucha variablidad entre sus precios.
Es por eso que se decidió ver si en cada categoria de producto se encontraban outliers en estas variables.
## Sales Quantity Price Category
## Min. : 3 Min. : 1.000 Min. : 1.6 Length:9994
## 1st Qu.: 2512 1st Qu.: 2.000 1st Qu.: 768.0 Class :character
## Median : 11022 Median : 3.000 Median : 3621.8 Mode :character
## Mean : 105972 Mean : 3.789 Mean : 29567.3
## 3rd Qu.: 53986 3rd Qu.: 5.000 3rd Qu.: 16112.2
## Max. :13523976 Max. :14.000 Max. :1915155.0
## NA's :6 NA's :6 NA's :6
## Segment Discount
## Length:9994 Min. :0.0000
## Class :character 1st Qu.:0.0000
## Mode :character Median :0.2000
## Mean :0.1562
## 3rd Qu.:0.2000
## Max. :0.8000
## NA's :6
A partir del resumen de cada variable, fue posible observar la gran magnitud entre los valores máximo y minímo de las variables númericas, en especial en Sales y Price. Esto es justificado debido a la gran variedad de productos, y en consecuencia a la difrencia entre las distintas sub categorías, y por lo tanto a la diferencia de precios entre sí.
Cantidad de compras por segmento por categoría
## Segment Furniture Office Supplies Technology
## 1: Consumer 4166 11758 3593
## 2: Corporate 2495 7018 2088
## 3: Home Office 1367 4130 1226
## [1] "Office Supplies" "Office Supplies" "Office Supplies"
A partir de la tabla armada, es posible notar que en cada Segmento de clientes, el tipo de producto más consumido es del tipo Office Supplies. Esto podria deberse a que los productos que se encuentran dentro de esta categoría, son elementos de consumo diario y no requiere una mayor inversion su compra.
Continuado con el análisis, se quiere conocer si la categoría comprada es independiente al segmento de cliente. Por lo tanto, se construye el siguiente test de hipotesis: Test Chi-Square
H0: Las variables son independientes
H1: Las variables son dependientes
##
## Pearson's Chi-squared test
##
## data: independecia_variables
## X-squared = 1.4612, df = 4, p-value = 0.8335
Al obtener un estadístico de Chi-Cuadrado lejano a 0, es posible rechazar H0, concluyendo que la categoria de producto comprada es dependiente del segmento de cliente. Es decir que las variables Segment y Category se relacionan entre sí.
Se quiere saber si existe algún tipo de relación entre la cantidad y el precio. Para ello, realizamos una regresión lineal de la demanda, al ser la regresión,la herramienta que nos permite encontrar una relación particular entre estas dos variables.
ECUACIÓN DE DEMANDA TOTAL
En primer lugar, se comienza con la validación del modelo. Esto permitirá saber si es posible continuar con el análisis o no. Para ello se formuló el siguiente test de hipotesis:
H0: El modelo no es válido
H1: El modelo si es válido
##
## Call:
## lm(formula = Quantity ~ Price, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.808 -1.801 -0.799 1.193 10.244
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.808e+00 2.327e-02 163.626 < 2e-16 ***
## Price -6.458e-07 2.300e-07 -2.808 0.00499 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.224 on 9986 degrees of freedom
## (6 observations deleted due to missingness)
## Multiple R-squared: 0.000789, Adjusted R-squared: 0.000689
## F-statistic: 7.886 on 1 and 9986 DF, p-value: 0.004993
## (Intercept) Price
## 3.807741e+00 -6.457898e-07
Se obtiene un p -value igual a 0.004993, el cual es menor a 0.05,por lo tanto se rechaza H0 y se concluye que el modelo es válido con un nivel de significación del 95%.
Posteriormente se analiza si la variable Price aporta de manera significativa o no al modelo.
H0: La variable Price no aporta al modelo propuesto
H1: La variable Price aporta al modelo propuesto
α = 0,05
CR: Pr(>|t|) < 0,05
Pr(>|t|) =0.00499
Teniendo en cuenta que el Pr(>|t|) =0.00499 , es posible rechazar H0 y por lo tanto concluir que el precio sí aporta al modelo.
A partir de esto se fórmula la ecuacion de demanda total:
Qd = 3.807741e+00 -6.457898e-07 * P
Luego se formula la ecuaciÓn de Ingreso total y el Ingreso Marginal:
IT = P*Q
IT = 3.807741e+00 P -6.457898e-07 * P**2
IMg = 3.807741e+00 -1.29158e-06 * P
El precio que maximiza el Ingreso Total es 2.9481263^{6}, mientras que la cantidad que maximiza es 2.
Por lo tanto el Ingreso total Maximizado es igual a 5.8962527^{6}
A continuacion se mostrara el grafico de la ecuacion de demanda general:
Debido a que los precios varian en relacion a cada categoría de producto, se consideró que es necesario evaluar la relación no solo entre cantidad y precio, sino también considerando la categoría del producto. Es por eso que se volvió a utilizar el algoritmo de regresión lineal, pero esta vez agregando la categoría del producto como una variable más en el análisis y el efecto fijo (0+).
DEMANDA POR CATEGORÍA DE PRODUCTO
Nuevamente se realiza el test de hipotésis para corroborar que el modelo sea válido.
H0: El modelo no es válido
H1: El modelo si es válido
##
## Call:
## lm(formula = Quantity ~ 0 + Category + Price, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.8269 -1.7973 -0.7867 1.1911 10.2701
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## CategoryFurniture 3.827e+00 5.064e-02 75.569 < 2e-16 ***
## CategoryOffice Supplies 3.809e+00 2.880e-02 132.268 < 2e-16 ***
## CategoryTechnology 3.782e+00 5.299e-02 71.375 < 2e-16 ***
## Price -6.509e-07 2.363e-07 -2.755 0.00589 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.224 on 9984 degrees of freedom
## (6 observations deleted due to missingness)
## Multiple R-squared: 0.7438, Adjusted R-squared: 0.7437
## F-statistic: 7246 on 4 and 9984 DF, p-value: < 2.2e-16
Se obtiene un p -value < 2.2e-16, el cual es menor a 0.05, por lo tanto se rechaza H0 y se concluye que el modelo es válido con un nivel de significaciÓn del 95%.
Qué tanto explica el modelo?
Adjusted R-squared: 0.7437
Un 74,37% de la variabilidad del precio (Price) es explicado por la cantidad (Quantity), lo cuál es un porcentaje alto. Sin embargo, tal correlación no implica causalidad entre las variables.
A continuacion se realizará un analisis de la demanda por cada categoria de Producto:
CATEGORIA FURNITURE
H0: La variable Precio (Categoría Furniture) no aporta al modelo propuesto
H1: La variable Precio (Categoría Furniture) aporta al modelo propuesto
α = 0,05
CR: Pr(>|t|) < 0,05
Pr(>|t|) =2e-16
Como Pr(>|t|) =2e-16 es menor a 0,05 es posible rechazar H0, concluyendo que el precio de categoría Furniture si aporta al modelo de regresión lineal.
A partir de esto se fórmula la ecuación de demanda de la categoría Furniture:
QdF = 3.827e+00 -6.509e-07 * P
Posteriormente se formula la ecuación de Ingreso total y el Ingreso Marginal para la categoría Furniture:
ITF = P*Q
ITF = 3.827e+00* P -6.509e-07 * P**2
IMgF = 3.827e+00 -1.29158e-06 * P
A continuación se obtiene el precio y la cantidad que máximiza el Ingreso Total para la categoría Furniture.
El precio que maximiza el Ingreso Total para la categoría Furniture es 2.9630375^{6} y la cantidad es 2.
Por lo tanto el Ingreso total Maximizado para la categoría Furniture es 5.926075^{6}
CATEGORÍA OFFICE SUPPLIES
H0: La variable Precio (Categoría Office Supplies) no aporta al modelo propuesto
H1: La variable Precio (Categoría Office Supplies) aporta al modelo propuesto
α = 0,05
CR: Pr(>|t|) < 0,05
Pr(>|t|)=2e-16
Como Pr(>|t|) =2e-16 es menor a 0,05 es posible rechazar H0, concluyendo que el precio de categoría Officen Supplies si aporta al modelo de regresión lineal.
A partir de esto se formula la ecuación de demanda de la categoría Office Supplies:
QdS = 3.809e+00 -6.509e-07 * P
Posteriormente se formula la ecuación de Ingreso total y el Ingreso Marginal para la categoría Office Supplies:
ITS = P*Q
ITS = 3.809e+00* P - 6.509e-07 * P**2
IMgS = 3.809e+00 - 1.29158e-06 * P
A continuación se obtiene el precio y la cantidad que maximiza el Ingreso Total para la categoría Office Supplies.
El precio que maximiza el Ingreso Total para la categoría Office Supplies es 2.9491011^{6} y la cantidad es 2.
Por lo tanto el Ingreso total Maximizado para la categoría Office Supplies es 5.8982022^{6}
CATEGORÍA TECHNOLOGY
H0: La variable Precio (Categoría Technology) no aporta al modelo propuesto
H1: La variable Precio (Categoría Technology) aporta al modelo propuesto
α = 0,05
CR: Pr(>|t|) < 0,05
Pr(>|t|) =2e-16
Como Pr(>|t|) =2e-16 es menor a 0,05 es posible rechazar H0, concluyendo que el precio de categoría Officen Supplies si aporta al modelo de regresión lineal.
A partir de esto se formula la ecuación de demanda de la categoria Technology:
QdT = 3.782e+00 - 6.509e-07 * P
Posteriormente se formula la ecuación de Ingreso total y el Ingreso Marginal para la categoría Technology:
ITT = P*Q
ITT = 3.782e+00* P - 6.509e-07 * P**2
IMgT = 3.782e+00 - 1.29158e-06 * P
A continuación se obtiene el precio y la cantidad que maximiza el Ingreso Total para la categoría Technology
El precio que maximiza el Ingreso Total para la categoría Office Supplies es 2.9281965^{6} y la cantidad es 2.
Por lo tanto el Ingreso total Maximizado para la categoría Office Supplies es 5.8563929^{6}
Si bien el precio maximizador de la demanda general no difiere de manera significativa a los precios maximizadores por categoría, es preferible utilizar el precio maximizador de cada categoría al ser estos mayores al total.
## [1] 2948126
## [1] 2963038
## [1] 2949101
## [1] 2928196
Se indentifica cuales son los productos por categoría que se acercan al precio maximizador. CATEGORÍA OFFICE SUPPLIES
df%>% filter(Category=="Office Supplies", Price>=1500000) %>% group_by(`Product Name`)
## # A tibble: 1 × 22
## # Groups: Product Name [1]
## `Row ID` `Order ID` `Order Date` `Ship Date` `Ship Mode` `Customer ID`
## <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 7819 CA-2016-138478 10/21/2016 10/26/2016 Second Class DP-13390
## # ℹ 16 more variables: `Customer Name` <chr>, Segment <chr>, Country <chr>,
## # City <chr>, State <chr>, `Postal Code` <dbl>, Region <chr>,
## # `Product ID` <chr>, Category <chr>, `Sub-Category` <chr>,
## # `Product Name` <chr>, Sales <dbl>, Quantity <dbl>, Discount <dbl>,
## # Profit <dbl>, Price <dbl>
CATEGORÍA FURNITURE
df%>% filter(Category=="Furniture", Price>=1900000) %>% group_by(`Product Name`)
## # A tibble: 2 × 22
## # Groups: Product Name [1]
## `Row ID` `Order ID` `Order Date` `Ship Date` `Ship Mode` `Customer ID`
## <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 4 US-2015-108966 42318 10/18/2015 Standard Class SO-20335
## 2 8207 CA-2015-122266 4/26/2015 4/30/2015 Standard Class SA-20830
## # ℹ 16 more variables: `Customer Name` <chr>, Segment <chr>, Country <chr>,
## # City <chr>, State <chr>, `Postal Code` <dbl>, Region <chr>,
## # `Product ID` <chr>, Category <chr>, `Sub-Category` <chr>,
## # `Product Name` <chr>, Sales <dbl>, Quantity <dbl>, Discount <dbl>,
## # Profit <dbl>, Price <dbl>
CATEGORIA TECHNOLOGY
df%>% filter(Category=="Technology", Price>=1500000) %>% group_by(`Product Name`)
## # A tibble: 1 × 22
## # Groups: Product Name [1]
## `Row ID` `Order ID` `Order Date` `Ship Date` `Ship Mode` `Customer ID`
## <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 978 CA-2017-159366 42917 43009 First Class BW-11110
## # ℹ 16 more variables: `Customer Name` <chr>, Segment <chr>, Country <chr>,
## # City <chr>, State <chr>, `Postal Code` <dbl>, Region <chr>,
## # `Product ID` <chr>, Category <chr>, `Sub-Category` <chr>,
## # `Product Name` <chr>, Sales <dbl>, Quantity <dbl>, Discount <dbl>,
## # Profit <dbl>, Price <dbl>
A continuación se mostrará el gráfico de demanda por cada categoría:
Con el objetivo de de hallar cuál de las tres categorías presentar una mayor variación en la cantidad demandada ante una varición en el preciO, se analiza la elaticidad de la demanda por categoría.
ELASTICIDAD
##
## Call:
## lm(formula = log(Quantity) ~ log(Price), data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.34117 -0.44818 -0.03665 0.40060 1.54747
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.36807 0.02295 59.608 <2e-16 ***
## log(Price) -0.02449 0.00270 -9.069 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5837 on 9986 degrees of freedom
## (6 observations deleted due to missingness)
## Multiple R-squared: 0.008169, Adjusted R-squared: 0.00807
## F-statistic: 82.25 on 1 and 9986 DF, p-value: < 2.2e-16
## (Intercept) log(Price)
## 1.36807417 -0.02449035
Elasticidad = 0.02449035 Representa el cambio porcentual en la cantidad demandada (-2,45%) causado por un 1% de aumento en el precio.
GRÁFICO ELASTICIDAD
ELASTICIDAD POR CATEGORÍA
FURNITURE
##
## Call:
## lm(formula = log(df_furniture$Quantity) ~ log(df_furniture$Price))
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.28078 -0.43072 -0.02374 0.40818 1.51563
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.408930 0.055758 25.269 < 2e-16 ***
## log(df_furniture$Price) -0.026165 0.005804 -4.508 6.9e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5848 on 2119 degrees of freedom
## Multiple R-squared: 0.0095, Adjusted R-squared: 0.009033
## F-statistic: 20.32 on 1 and 2119 DF, p-value: 6.896e-06
## (Intercept) log(df_furniture$Price)
## 1.40893041 -0.02616544
Una disminución a la baja en el precio de furniture NO genera un impacto en la cantidad demandada al tener una elasticidad baja
OFFICE SUPPLIES
##
## Call:
## lm(formula = log(df_Office$Quantity) ~ log(df_Office$Price))
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.38513 -0.44683 -0.03497 0.38624 1.56120
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.421625 0.031275 45.456 <2e-16 ***
## log(df_Office$Price) -0.033216 0.004014 -8.275 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5832 on 6024 degrees of freedom
## Multiple R-squared: 0.01124, Adjusted R-squared: 0.01108
## F-statistic: 68.48 on 1 and 6024 DF, p-value: < 2.2e-16
## (Intercept) log(df_Office$Price)
## 1.42162485 -0.03321554
Una disminución a la baja en el precio de office supplies genera un impacto en la cantidad demandada al tener la mayor elasticidad
TECHNOLOGY
##
## Call:
## lm(formula = log(df_Technology$Quantity) ~ log(df_Technology$Price))
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.2578 -0.4454 -0.0393 0.4334 1.5172
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.304556 0.057746 22.591 < 2e-16 ***
## log(df_Technology$Price) -0.016187 0.006196 -2.612 0.00906 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5822 on 1839 degrees of freedom
## (6 observations deleted due to missingness)
## Multiple R-squared: 0.003698, Adjusted R-squared: 0.003156
## F-statistic: 6.825 on 1 and 1839 DF, p-value: 0.009062
## (Intercept) log(df_Technology$Price)
## 1.30455623 -0.01618662
Una disminución a la baja en el precio de technology NO genera un impacto en la cantidad demandada al tener la menor elasticidad. Menos elástica.
GRÁFICO ELASTICIDAD por categoría
METODOLOGíA DE PROMOCIONES
## [1] "Precio sin descuento"
## [1] 1e+05
## [1] "Ingreso sin descuento "
## [1] 410000
## [1] "Precio con descuento 1"
## [1] 90000
## [1] "Ingreso con descuento 1"
## [1] 369000
## [1] "Precio con descuento 2"
## [1] 110000
## [1] "Ingreso con descuento 2"
## [1] 451000
## [1] "Precio con descuento 3"
## [1] 90000
## [1] "Ingreso con descuento 3"
## [1] 369000
## [1] "Precio sin descuento"
## [1] 1e+05
## [1] "Ingreso sin descuento"
## [1] 4e+05
## [1] "Precio con descuento 1"
## [1] 80000
## [1] "Ingreso con descuento 1"
## [1] 320000
## [1] "Precio con descuento 2"
## [1] 120000
## [1] "Ingreso con descuento 2"
## [1] 480000
## [1] "Precio con descuento 3"
## [1] 110000
## [1] "Ingreso con descuento 3"
## [1] 440000
## [1] "Precio sin descuento"
## [1] 1e+05
## [1] "Ingreso sin descuento"
## [1] 410000
## [1] "Precio con descuento 1"
## [1] 130000
## [1] "Ingreso con descuento 1"
## [1] 520000
## [1] "Precio con descuento 2"
## [1] 85000
## [1] "Ingreso con descuento 2"
## [1] 348500
## [1] "Precio con descuento 3"
## [1] 90000
## [1] "Ingreso con descuento 3"
## [1] 369000
## [1] "Ingreso tot SIN promo"
## [1] 1220000
## [1] "Ingreso tot SIN promo 1"
## [1] 1209000
## [1] "Ingreso tot SIN promo 2"
## [1] 1279500
## [1] "Ingreso tot promo 3"
## [1] 1178000
## [1] "Diferencia promo 2 y 1"
## [1] 70500
## [1] "Diferencia promo 2 y 3"
## [1] 101500
## [1] "Diferencia promo 2 y sin promo "
## [1] 59500
La promoción que genera el mayor ingreso es la promoción 2, la cual concuerda con la elasticidad por Categoría. Al disminuir el precio de Office Supplies, la más elástica aumenta su cantidad demandada. El ingreso con la promoción 2 supera el ingreso actual de la base.
Se concluye que existe una correlación entre precio de producto y cantidad comprada lo cuál fue posible establecer mediante regresión, permitiendo la maximización del ingreso total mediante el precio y cantidad maximizadores. A su vez también es posible afirmar que el precio maximizador puede variar por categoría de producto.
Además se pudo demostrar que la categoría de producto consumida y el segmento de cliente son variables dependientes.
Por último, se buscó determinar de 3 promociones cuál es aquella que maximiza el ingreso total. La óptima fue la promoción 2, donde se incrementan los precios de Furniture y Technology mientras que se disminue el precio para Office Supplies.