1. Definición del Problema y Selección de Base de Datos

1.1 Contexto y reto del negocio

En Colombia, las empresas y plataformas dedicadas a la compra y venta de carros usados enfrentan un reto diario: calcular el precio justo de un vehículo de forma rápida y sin equivocarse. Actualmente, definir cuánto ofrecer por un carro depende mucho del “ojo” o criterio personal de cada perito o asesor comercial. Esto genera demoras en la atención y provoca que un mismo vehículo reciba ofertas distintas según la sede o la persona que lo revise.

Frente a esta situación, la gerencia busca responder una pregunta concreta: ¿qué tan confiable y útil resulta un modelo de regresión lineal para estimar el precio de mercado de un Mazda 2 a partir de los datos visibles en anuncios de internet (como año, kilometraje y tipo de caja)?

Actualmente, las ofertas de compra dependen del criterio subjetivo de peritos comerciales, lo que genera retrasos en las cotizaciones y discrepancias de precios entre sedes. La gerencia necesita evaluar: ¿Qué tan confiable y útil es un modelo de regresión lineal para estimar el precio de mercado de vehículos Mazda 2 a partir de sus características observables en anuncios digitales?

1.2 Aclaración clave: precio publicado vs. precio real de venta

Los datos analizados provienen de anuncios tomados del portal OLX Colombia. Es fundamental tener clara una diferencia desde el principio: el precio que aparece en el anuncio es lo que el vendedor pide o aspira a recibir, no el dinero exacto que se paga al final de la transacción.

En el mercado colombiano de usados el regateo es habitual: los acuerdos de compraventa suelen cerrarse entre un 3% y un 8% por debajo del precio publicado en internet. Por lo tanto, este modelo sirve para calcular el precio de vitrina (un valor de referencia para competir en publicaciones digitales). Si la empresa planea usar este estimado para hacer una oferta de compra directa en efectivo, deberá descontar ese margen de negociación para proteger su rentabilidad y no pagar de más.

2. Exploración y Regresión Lineal Simple (Punto 1)

2.1 Carga y Auditoría Inicial de la Base de Datos

# Carga de la base de datos oficial
datos_raw <- read_excel("base1_mazdacol.xlsx")

# Inspección de estructura y dimensiones iniciales
glimpse(datos_raw)
## Rows: 314
## Columns: 11
## $ precio                  <dbl> 34000000, 26400000, 42500000, 91000000, 350000…
## $ kilometraje             <dbl> 140000, 112000, 102222, 1000, 134500, 61997, 9…
## $ transmision             <chr> "Automática", "Automática", "Automática", "Aut…
## $ modelo                  <dbl> 2008, 2012, 2013, 2022, 2012, 2017, 2015, 2011…
## $ color                   <chr> "Gris", "Gris", "Gris", "Gris", "Blanco", "Gri…
## $ ciudad                  <chr> "Medellín", "Medellín", "Itagüí", "Envigado", …
## $ departamento            <chr> "Antioquia", "Antioquia", "Antioquia", "Antioq…
## $ `web-scraper-order`     <chr> "1662991183-54", "1662991216-64", "1662991275-…
## $ `web-scraper-start-url` <chr> "https://www.olx.com.co/items/q-mazda-2", "htt…
## $ link                    <chr> "$ 34.000.0002008 - 140.000 kmMAZDA 2 2008San …
## $ `link-href`             <chr> "https://www.olx.com.co/item/mazda-2-2008-iid-…

La base contiene inicialmente 314 registros y 11 columnas.

2.2 Limpieza y preparación de los datos

Al revisar los 314 anuncios descargados inicialmente de OLX, encontramos que la información venía con algo de “ruido” común en este tipo de páginas web. Para que las predicciones del modelo sean confiables y no se distorsionen, aplicamos cuatro filtros básicos de depuración:

Datos incompletos:

Revisamos si faltaban datos en las columnas esenciales (precio, año, kilometraje y tipo de caja). Afortunadamente, todos los registros venían completos, por lo que no fue necesario descartar filas por valores vacíos.

##Anuncios de otros carros o permutas: ## La búsqueda original fue “Mazda 2”, pero varios vendedores mencionan ese nombre en publicaciones de otros carros para ganar visibilidad o porque buscan un intercambio (“vencambio”). Encontramos y eliminamos anuncios de camionetas (Mazda CX-5, CX-9, CX-30), otros modelos (Mazda 3, Renault Stepway) e incluso un camión de estacas modelo 1995.

Precios engañosos o mal digitados:

Algunos anuncios no mostraban el precio real del carro. Por ejemplo, aparecía un Mazda 2 modelo 2022 en $6.800.000 COP (lo que en realidad corresponde a la cuota inicial de un crédito o un error al escribir). También descartamos publicaciones por encima de $100.000.000 COP, que correspondían a las camionetas antes mencionadas. Acotamos el rango a precios coherentes para este vehículo en Colombia: entre $20.000.000 y $100.000.000 COP.

Antigüedad del carro:

Filtramos las publicaciones desde el año 2008 en adelante, que es cuando el Mazda 2 empezó a comercializarse formalmente en el país. Tras este proceso de depuración, la base pasó de 314 a 303 vehículos válidos. Se descartaron únicamente 11 anuncios que habrían alterado negativamente los resultados del análisis.

Tras este proceso de depuración, la base pasó de 314 a 303 vehículos válidos. Se descartaron únicamente 11 anuncios que habrían alterado negativamente los resultados del análisis

Tratamiento de valores faltantes, duplicados y registros atípicos

# Verificación de datos faltantes
faltantes <- colSums(is.na(datos_raw))
print(faltantes)
##                precio           kilometraje           transmision 
##                     0                     0                     0 
##                modelo                 color                ciudad 
##                     0                     0                     0 
##          departamento     web-scraper-order web-scraper-start-url 
##                     0                     0                     0 
##                  link             link-href 
##                     0                     0
# Proceso de depuración justificado
datos <- datos_raw %>%
  # 1. Eliminar duplicados exactos basados en el enlace único de publicación
  distinct(link, .keep_all = TRUE) %>%
  # 2. Excluir vehículos que no corresponden a la línea Mazda 2 (camionetas, otros modelos)
  filter(!str_detect(tolower(link), "cx|stepway|estacas|mazda 3|mazda3|camioneta")) %>%
  # 3. Restringir al ciclo de comercialización contemporáneo de Mazda 2 en Colombia (desde 2008)
  filter(modelo >= 2008) %>%
  # 4. Acotar a rangos de precio plausibles para un automóvil usado de este segmento
  filter(precio >= 20000000 & precio <= 100000000) %>%
  # 5. Establecer la variable binaria 'transmision' como factor con referencia analítica
  mutate(transmision = factor(transmision, levels = c("Automática", "Mecánica")))

cat("Registros originales:", nrow(datos_raw), "\n")
## Registros originales: 314
cat("Registros depurados válidos:", nrow(datos), "\n")
## Registros depurados válidos: 302
cat("Registros descartados con justificación:", nrow(datos_raw) - nrow(datos), "\n")
## Registros descartados con justificación: 12

Tras ejecutar la verificación y el filtrado sobre la base de datos, se obtienen los siguientes hallazgos:

Valores faltantes:

El conteo arrojó cero valores nulos en todas las columnas. Esto ocurre porque portales de clasificados como OLX exigen completar de manera obligatoria campos esenciales (precio, kilometraje, año y transmisión) para poder publicar un anuncio. No fue necesario imputar ni rellenar datos vacíos.

Depuración de registros duplicados y anuncios ajenos:

Aunque la búsqueda original era “Mazda 2”, en plataformas abiertas algunos vendedores agregan términos populares para atraer visitas o proponer permutas (“vencambio”). Se descartaron publicaciones correspondientes a camionetas (Mazda CX-5, CX-9), otros modelos (Mazda 3, Renault Stepway) y un camión de estacas modelo 1995.

Corrección de valores atípicos de precio:

Se excluyeron anuncios con precios por debajo de $20.000.000 COP (como un registro de $6.800.000 COP para un modelo 2022, que corresponde al valor de una cuota inicial o a un error de digitación) y registros superiores a $100.000.000 COP (asociados a camionetas de gama alta).

##Balance de la muestra: De los 314 anuncios iniciales, la muestra quedó conformada por 303 vehículos válidos. Se descartaron únicamente 11 registros, asegurando que los modelos de regresión se entrenen exclusivamente con información representativa del mercado de automóviles Mazda 2 usados en Colombia.

2.3 Análisis Exploratorio Univariado

resumen_estadistico <- datos %>%
  summarise(
    Variable = c("Precio (COP)", "Kilometraje (km)", "Año del Vehículo (Modelo)"),
    Media = c(mean(precio), mean(kilometraje), mean(modelo)),
    Mediana = c(median(precio), median(kilometraje), median(modelo)),
    Desv_Estandar = c(sd(precio), sd(kilometraje), sd(modelo)),
    Rango_IQR = c(IQR(precio), IQR(kilometraje), IQR(modelo)),
    Minimo = c(min(precio), min(kilometraje), min(modelo)),
    Maximo = c(max(precio), max(kilometraje), max(modelo))
  )

kable(resumen_estadistico, digits = 1, format.args = list(big.mark = "."),
      caption = "Tabla 1. Estadísticas Descriptivas de Centralidad y Dispersión")
Tabla 1. Estadísticas Descriptivas de Centralidad y Dispersión
Variable Media Mediana Desv_Estandar Rango_IQR Minimo Maximo
Precio (COP) 49.651.324.5 42.000.000.0 17.622.918.4 28.000.000.0 22.000.000 98.500.000
Kilometraje (km) 74.675.6 79.000.0 44.453.9 63.255.5 0 200.000
Año del Vehículo (Modelo) 2.014.9 2.014.5 4.1 6.8 2.008 2.022

Interpretación y justificación de las medidas descriptivas

Al analizar la tabla de estadísticas, se destacan tres aspectos fundamentales para entender el comportamiento del mercado de estos vehículos:

Sesgo en el precio y elección de la mediana:

El precio promedio ($49.651.324 COP) es notablemente superior a la mediana ($42.000.000 COP), con una diferencia de más de $7.6 millones. Esto evidencia que la distribución tiene un sesgo hacia la derecha: la presencia de vehículos recientes (años 2021 y 2022) que alcanzan hasta $98.5 millones jala el promedio hacia arriba. Por esta razón, la mediana de $42.000.000 COP es la medida más representativa del valor de un Mazda 2 típico en la muestra. Asimismo, la dispersión es considerable (desviación estándar de $17.6 millones y un rango intercuartílico de $28 millones), lo que confirma que no es posible fijar un precio único y se requiere un modelo que ajuste por características.

##Amplitud en el kilometraje (uso del vehículo): El odómetro promedio marca 74.675 km y la mediana se ubica en 79.000 km. El rango cubre desde unidades con 0 km (carros de vitrina o entrega inmediata) hasta vehículos con 200.000 km de uso intensivo. Esta alta variabilidad (con una desviación estándar de 44.453 km) es muy conveniente para el análisis, pues le permite al modelo capturar con precisión el impacto del desgaste mecánico sobre el valor comercial.

Representatividad del año (modelo):

Tanto la media (2014.9) como la mediana (2014.5) coinciden alrededor de los años 2014 y 2015, lo que muestra una muestra equilibrada en el tiempo. Al cubrir un horizonte de 14 años (desde 2008 hasta 2022), se tiene suficiente historial para evaluar cómo la antigüedad y el cambio generacional de la línea Mazda 2 deprecian el activo.

p_precio <- ggplot(datos, aes(x = precio / 1e6)) +
  geom_histogram(bins = 20, fill = "#2c3e50", color = "white", alpha = 0.85) +
  geom_vline(aes(xintercept = median(precio / 1e6)), color = "#e74c3c", linetype = "dashed", size = 1) +
  labs(title = "Distribución del Precio Anunciado",
       subtitle = "Línea roja discontinua representa la mediana",
       x = "Precio (Millones COP)", y = "Número de Vehículos") +
  theme_minimal()

p_km <- ggplot(datos, aes(x = kilometraje)) +
  geom_histogram(bins = 20, fill = "#16a085", color = "white", alpha = 0.85) +
  geom_vline(aes(xintercept = median(kilometraje)), color = "#e74c3c", linetype = "dashed", size = 1) +
  scale_x_continuous(labels = comma) +
  labs(title = "Distribución del Kilometraje",
       subtitle = "Línea roja discontinua representa la mediana",
       x = "Kilometraje (km)", y = "Número de Vehículos") +
  theme_minimal()

grid.arrange(p_precio, p_km, ncol = 2)

##Interpretación de los histogramas de distribución

Al observar la forma de las dos gráficas, se identifican patrones clave sobre el comportamiento de los vehículos analizados:

Distribución del Precio (Bimodalidad marcada):

El gráfico de precios muestra claramente dos picos o “montañas” separadas:

  1. El primer grupo se concentra entre los $30 y $40 millones de COP. Corresponde a los modelos más antiguos (2008 a 2014), que pertenecen a la generación previa del Mazda 2.

  2. El segundo grupo se ubica entre los $55 y $75 millones de COP. Corresponde a la generación contemporánea (a partir de 2015, cuando entró la tecnología SkyActiv), con mayor valor comercial.

El vacío que se observa cerca a los $45–$50 millones refleja precisamente ese salto generacional del carro en Colombia. Por esta razón, la mediana ($42 millones, marcada con la línea roja) divide la muestra de forma representativa entre ambas épocas del modelo.

Distribución del Kilometraje (Uso acumulado):

La mayor cantidad de vehículos se agrupa entre los 70.000 y 100.000 km, lo cual es habitual en el mercado de usados: las personas suelen vender o renovar su carro tras 5 a 8 años de uso moderado (con la mediana situada en 79.000 km).

En el extremo izquierdo se observa una barra visible cerca a 0 km, que representa anuncios de unidades seminuevas o de entrega inmediata en concesionarios.

Hacia la derecha, la cola se va haciendo delgada hasta alcanzar los 200.000 km, confirmando que son pocos los usuarios que conservan este tipo de vehículo particular tras superar los 150.000 km de recorrido

2.4 Análisis Bivariado: Respuesta vs. Predictores

p_disp_modelo <- ggplot(datos, aes(x = modelo, y = precio / 1e6)) +
  geom_point(alpha = 0.5, color = "#2980b9", size = 2) +
  geom_smooth(method = "lm", color = "#c0392b", se = FALSE, linetype = "solid") +
  labs(title = "Precio vs. Año (Modelo)", x = "Año del Vehículo", y = "Precio (Millones COP)") +
  theme_minimal()

p_disp_km <- ggplot(datos, aes(x = kilometraje, y = precio / 1e6)) +
  geom_point(alpha = 0.5, color = "#2980b9", size = 2) +
  geom_smooth(method = "lm", color = "#c0392b", se = FALSE, linetype = "solid") +
  scale_x_continuous(labels = comma) +
  labs(title = "Precio vs. Kilometraje", x = "Kilometraje (km)", y = "Precio (Millones COP)") +
  theme_minimal()

p_box_trans <- ggplot(datos, aes(x = transmision, y = precio / 1e6, fill = transmision)) +
  geom_boxplot(alpha = 0.7, outlier.color = "red", show.legend = FALSE) +
  scale_fill_manual(values = c("#3498db", "#e67e22")) +
  labs(title = "Precio por Transmisión", x = "Tipo de Transmisión", y = "Precio (Millones COP)") +
  theme_minimal()

grid.arrange(p_disp_modelo, p_disp_km, p_box_trans, layout_matrix = rbind(c(1, 2), c(3, 3)))

# Coeficientes de correlación lineal de Pearson
r_modelo <- cor(datos$precio, datos$modelo)
r_km <- cor(datos$precio, datos$kilometraje)

Interpretación del análisis bivariado

Al evaluar cómo se relaciona el precio anunciado con cada una de las características del vehículo, se observan tres comportamientos determinantes en las gráficas

  • Precio vs. Año del vehículo (Modelo): Existe una relación positiva casi perfecta (\(r \approx 0.94\)). A medida que el carro es más reciente, el precio aumenta de manera continua y predecible. Los modelos 2008 a 2010 se sitúan entre los $20 y $35 millones de COP, mientras que los modelos 2021 a 2022 superan los $75 a $90 millones de COP. No obstante, se aprecia un detalle gráfico importante: en los años recientes la dispersión vertical de los puntos es más amplia (mayor variabilidad de precios), lo que anticipa que un modelo lineal simple con varianza fija podría tener dificultades en los extremos.

  • Precio y Kilometraje: Muestra una relación negativa clara (\(r \approx -0.72\)). Cada aumento en el odómetro se traduce en una pérdida de valor comercial en el mercado. Sin embargo, la nube de puntos no es completamente recta: los carros con muy poco kilometraje (menos de 20.000 km) muestran una dispersión de precio bastante amplia (desde $30 hasta casi $100 millones de COP según el año), lo que confirma que el kilometraje por sí solo no explica todo el precio si no se controla al mismo tiempo por la edad del carro.

  • Precio según el Tipo de Transmisión (Automática vs. Mecánica): El diagrama de cajas revela una diferencia de valor considerable entre ambas versiones:

  • Automáticos: Tienen una mediana de precio cercana a los $56.5 millones de COP, alcanzando techos de casi $100 millones en los modelos nuevos.

  • Mecanicos: Tienen una mediana en torno a los $38.5 millones de COP, concentrándose la mayoría por debajo de los $55 millones.

Esta brecha de casi $18 millones en la mediana obedece tanto al mayor costo de fábrica de las cajas automáticas como a la preferencia de los compradores urbanos en Colombia, justificando plenamente su incorporación como variable explicativa en el modelo múltiple.

2.5 Propuesta y Ajuste de Tres Modelos Simples

Se formulan tres modelos lineales simples con diferente naturaleza explicativa:

  1. Modelo Simple 1 (M1): precio ~ kilometraje (Deterioro físico continuo).
  2. Modelo Simple 2 (M2): precio ~ transmision (Variable categórica binaria: Mecánica vs. Automática).
  3. Modelo Simple 3 (M3): precio ~ modelo (Depreciación temporal o antigüedad).
m1 <- lm(precio ~ kilometraje, data = datos)
m2 <- lm(precio ~ transmision, data = datos)
m3 <- lm(precio ~ modelo, data = datos)

summary(m1)
## 
## Call:
## lm(formula = precio ~ kilometraje, data = datos)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -48903356  -6099182    143969   7453977  27560720 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 70942131.0  1381445.3   51.35   <2e-16 ***
## kilometraje     -285.1       15.9  -17.93   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 12260000 on 300 degrees of freedom
## Multiple R-squared:  0.5172, Adjusted R-squared:  0.5156 
## F-statistic: 321.4 on 1 and 300 DF,  p-value: < 2.2e-16
summary(m2)
## 
## Call:
## lm(formula = precio ~ transmision, data = datos)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -32282515 -12422370  -4172370  13182521  44217485 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          54282515    1306120  41.560  < 2e-16 ***
## transmisionMecánica -10360145    1953529  -5.303 2.21e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 16880000 on 300 degrees of freedom
## Multiple R-squared:  0.08571,    Adjusted R-squared:  0.08267 
## F-statistic: 28.12 on 1 and 300 DF,  p-value: 2.211e-07
summary(m3)
## 
## Call:
## lm(formula = precio ~ modelo, data = datos)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -40474054  -3687222   -100390   3679890  20139114 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -8.068e+09  1.746e+08  -46.22   <2e-16 ***
## modelo       4.029e+06  8.665e+04   46.50   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6162000 on 300 degrees of freedom
## Multiple R-squared:  0.8782, Adjusted R-squared:  0.8778 
## F-statistic:  2162 on 1 and 300 DF,  p-value: < 2.2e-16

##Justificación e interpretación de los modelos simples Para evaluar qué factor explica mejor el precio anunciado de un Mazda 2, se analizaron tres variables de naturaleza distinta:

Modelo 1 (Precio vs. Kilometraje): Evalúa el desgaste físico por uso acumulado. Por cada 10.000 kilómetros adicionales de recorrido, el precio anunciado disminuye en promedio cerca de 2.85 millones de pesos COP. El odómetro por sí solo explica el 51.7% de la variación del precio (R² = 0.517) con una significancia estadística alta (valor p menor a 0.001).

Modelo 2 (Precio vs. Transmisión): Evalúa el valor agregado según el tipo de caja (mecánica frente a automática). Tomando la caja automática como base, un Mazda 2 mecánico se publica en promedio 10.36 millones de pesos COP más barato. Aunque la diferencia es estadísticamente significativa (valor p menor a 0.001), solo explica el 8.6% del precio (R² = 0.086), demostrando que la transmisión es un factor secundario que no puede tasar un vehículo por sí solo.

Modelo 3 (Precio vs. Año del vehículo): Evalúa la antigüedad y la vigencia del carro. Por cada año más moderno del vehículo, su precio anunciado aumenta en promedio cerca de 4.03 millones de pesos COP. Es con amplia diferencia el predictor individual más fuerte: explica el 87.8% de las variaciones del precio (R² = 0.878) con una significancia sólida (valor p menor a 0.001).

Asociación estadística frente a causalidad

Es fundamental destacar que estos modelos reflejan una asociación estadística y no una relación causal directa: *Ni los kilómetros en el odómetro ni el cambio de año en el calendario reducen el precio por arte de magia. Funcionan como indicadores indirectos del desgaste mecánico real, el vencimiento de la garantía de fábrica y la llegada de versiones con mejor equipamiento.

*Alterar el kilometraje en el odómetro o matricular el carro en una fecha posterior no rejuvenece físicamente el motor ni los frenos del vehículo.

2.6 Interpretación de Coeficientes, \(R^2\), Significancia y Discusión de Causalidad

Tabla 2. Resumen Estadístico de los Modelos Simples
Modelo Predictor Beta_1 Error_Estandar Valor_p R_Cuadrado
kilometraje M1: Kilometraje Kilometraje (km) -2.851106e+02 15.9028 0 0.5172
transmisionMecánica M2: Transmisión Transmisión: Mecánica -1.036014e+07 1.953.528.6752 0 0.0857
modelo M3: Año (Modelo) Año (Modelo) 4.028944e+06 46.4992 0 0.8782

Interpretación de los resultados de la tabla

Al comparar los tres modelos simples, podemos entender con números claros cuánto pesa cada característica al momento de definir el precio anunciado de un Mazda 2:

Modelo 1 (Kilometraje):¨ El coeficiente (Beta_1) es de aproximadamente -285. Esto significa que, en promedio, por cada kilómetro adicional que tiene el carro, su precio anunciado baja 285 pesos. Llevado a una escala más realista del mercado, por cada 10.000 kilómetros recorridos el vehículo pierde cerca de 2.85 millones de pesos en su valor publicado. Con un R cuadrado de 0.5172, el desgaste del odómetro explica por sí solo el 51.7% de la variación del precio, y su valor p de 0 confirma que este impacto no es casualidad.

Modelo 2 (Transmisión mecánica frente a automática): Tomando los carros automáticos como punto de partida, el coeficiente para los mecánicos es de -10.360.140 pesos. En la práctica, esto muestra que un Mazda 2 con caja manual se publica en promedio 10.36 millones de pesos más barato que uno automático. Aunque esta diferencia es estadísticamente real (valor p de 0), su R cuadrado es de apenas 0.0857. Esto nos indica que el tipo de caja solo explica el 8.6% del precio: influye en el valor, pero nadie puede calcular el precio de un carro únicamente sabiendo si es mecánico o automático.

Modelo 3 (Año o modelo del vehículo): El coeficiente es de 4.028.944 pesos. Esto quiere decir que por cada año más nuevo que sea el carro, su precio anunciado sube en promedio unos 4.03 millones de pesos. Este es el modelo simple más contundente de todos: tiene un R cuadrado de 0.8782, lo que significa que la antigüedad explica por sí sola casi el 88% de los cambios en el precio.

¿Por qué una relación en los datos no significa una causa real?

Es fundamental no confundir una relación matemática con una causa directa al momento de tomar decisiones en el negocio:

El odómetro no le quita valor al carro por sí solo:Los números que marca el tablero no destruyen el valor comercial de un vehículo. El kilometraje simplemente funciona como un indicador del desgaste físico que han sufrido las llantas, los frenos, la suspensión y el motor. Si alguien alterara el odómetro para mostrar menos kilómetros, el carro no se volvería mecánicamente nuevo ni recuperaría su vida útil real.

El cambio de año no deteriora el vehículo: Que el calendario avance de un año a otro no oxida el metal ni daña las piezas. El año del modelo actúa como un reflejo de otros factores: la pérdida de la garantía de fábrica con la marca, el desgaste comercial por el paso del tiempo y la salida al mercado de versiones más modernas con mejor tecnología.

2.7 Comparación de Desempeño mediante Validación Cruzada y MAE

Siguiendo las pautas del caso, el Error Absoluto Medio (\(MAE\)) se evalúa mediante validación cruzada de 5 pliegues (5-fold CV) y se compara frente al modelo nulo o de referencia: predecir la mediana del conjunto de entrenamiento.

# Configuración de 5 pliegues fijos para comparación equitativa
set.seed(2026)
pliegues_cv <- createFolds(datos$precio, k = 5, list = TRUE)

# Benchmark: Error prediciendo la mediana de entrenamiento
mae_benchmark_k <- sapply(pliegues_cv, function(idx_test) {
  df_train <- datos[-idx_test, ]
  df_test <- datos[idx_test, ]
  mediana_entrenamiento <- median(df_train$precio)
  mean(abs(df_test$precio - mediana_entrenamiento))
})
mae_benchmark <- mean(mae_benchmark_k)

# Validación cruzada de los modelos simples
evaluar_mae_simple <- function(formula_mod) {
  sapply(pliegues_cv, function(idx_test) {
    df_train <- datos[-idx_test, ]
    df_test <- datos[idx_test, ]
    fit <- lm(formula_mod, data = df_train)
    preds <- predict(fit, newdata = df_test)
    mean(abs(df_test$precio - preds))
  })
}

mae_m1 <- mean(evaluar_mae_simple(precio ~ kilometraje))
mae_m2 <- mean(evaluar_mae_simple(precio ~ transmision))
mae_m3 <- mean(evaluar_mae_simple(precio ~ modelo))

tabla_cv_simples <- data.frame(
  Modelo = c("Benchmark (Mediana)", "M1: Kilometraje", "M2: Transmisión", "M3: Año (Modelo)"),
  MAE_Promedio_COP = c(mae_benchmark, mae_m1, mae_m2, mae_m3),
  Reduccion_Error = c("0%", 
                      percent(1 - mae_m1 / mae_benchmark),
                      percent(1 - mae_m2 / mae_benchmark),
                      percent(1 - mae_m3 / mae_benchmark))
)

kable(tabla_cv_simples, digits = 0, format.args = list(big.mark = "."),
      caption = "Tabla 3. Desempeño Predictivo de Modelos Simples (5-Fold CV)")
Tabla 3. Desempeño Predictivo de Modelos Simples (5-Fold CV)
Modelo MAE_Promedio_COP Reduccion_Error
Benchmark (Mediana) 14.661.543 0%
M1: Kilometraje 8.946.220 39%
M2: Transmisión 14.530.940 1%
M3: Año (Modelo) 4.510.625 69%

Evaluación del desempeño predictivo y elección del mejor modelo simplePara determinar cuál de los tres modelos simples ofrece predicciones más confiables en un escenario real, evaluamos su desempeño mediante validación cruzada de 5 pliegues (5-Fold CV) y calculamos el Error Absoluto Medio (MAE). El MAE representa la diferencia promedio, en pesos colombianos (\(COP\)), entre el precio que predice el modelo y el precio real anunciado del vehículo.

Al comparar los resultados de la Tabla 3, se desprenden conclusiones determinantes para el negocio:

Punto de partida ingenuo (Benchmark de la mediana): Si la empresa no utilizara ningún modelo estadístico y decidiera cotizar cada carro asignándole simplemente el precio típico del inventario (la mediana de $42.000.000 COP), se equivocaría en promedio por $14.661.543 COP por vehículo. Un margen de error tan amplio resulta inviable comercialmente, pues llevaría a sobrepagar o subvalorar gravemente los automóviles.

Modelo 2 (Transmisión):Arroja un MAE de $14.530.940 COP, logrando apenas una reducción del 1% frente al benchmark. Saber únicamente si el carro tiene caja mecánica o automática prácticamente no mejora la precisión de la tasación. Aunque en el mercado existe una prima por las cajas automáticas, este factor no compensa la falta de información sobre el estado o la edad del auto, descartándolo como predictor único.

Modelo 1 (Kilometraje):Alcanza un MAE de $8.946.220 COP, lo que representa una reducción del 39% en el error frente a la mediana. Incorporar el odómetro reduce la incertidumbre en casi $5.7 millones de pesos por vehículo. A pesar de esta mejora notable, un error promedio cercano a los $9 millones de pesos sigue siendo elevado para el segmento de carros usados, pues un Mazda 2 con poco kilometraje pero de modelo antiguo no vale lo mismo que uno reciente con uso moderado.

Modelo 3 (Año del vehículo):Obtiene el desempeño más destacado con un MAE de $4.510.625 COP, alcanzando una reducción del 69% respecto al benchmark. Solo conociendo el año de fabricación, el modelo es capaz de reducir el margen de error promedio a menos de la tercera parte del error original.

##Veredicto y justificación del modelo seleccionado

El Modelo 3 (Precio en función del Año de fabricación) es seleccionado de forma indiscutible como el mejor modelo de regresión lineal simple por tres razones:

Precisión predictiva: Supera con creces a las otras opciones al registrar el error absoluto más bajo ($4.510.625 COP) y la mayor capacidad de captura de valor en validación cruzada.

Coherencia de mercado: El año del carro no solo refleja el paso del tiempo, sino que resume de manera natural el fin de las garantías oficiales, el cambio tecnológico de motores (como la entrada de los motores Skyactiv a partir de 2015) y la depreciación comercial estándar que maneja el sector automotriz en Colombia.

Interpretabilidad ejecutiva:¨ El modelo es simple y transparente: permite a cualquier asesor comercial entender que, en promedio, cada año de modernidad le añade cerca de $4.03 millones de pesos al valor de vitrina del carro.

A pesar de la solidez del Modelo 3, un margen de error promedio de $4.5 millones todavía deja espacio para mejoras operativas, ya que ignora si el vehículo ha sido muy recorrido o si cuenta con caja automática. Este hallazgo justifica el paso hacia una regresión lineal múltiple, donde la combinación simultánea de año, kilometraje y transmisión permita acotar aún más la incertidumbre.


3. Regresión Lineal Múltiple (Punto 2)

3.1 Formulación y Justificación de Modelos Múltiples

Un vehículo no se deprecia únicamente por su edad calendaria; dos automóviles del mismo año pueden presentar valores dispares según su kilometraje acumulado y su tipo de equipamiento. Por tanto, se formulan dos modelos múltiples:

  1. Modelo Múltiple 1 (MM1): precio ~ modelo + kilometraje (Combina obsolescencia temporal con desgaste operativo físico).
  2. Modelo Múltiple 2 (MM2): precio ~ modelo + kilometraje + transmision (Añade la preferencia del mercado colombiano por cajas automáticas, con Automática como nivel de referencia).
mm1 <- lm(precio ~ modelo + kilometraje, data = datos)
mm2 <- lm(precio ~ modelo + kilometraje + transmision, data = datos)

summary(mm1)
## 
## Call:
## lm(formula = precio ~ modelo + kilometraje, data = datos)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -37032610  -3723831   -124745   3509148  19365298 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -7.442e+09  2.456e+08 -30.302  < 2e-16 ***
## modelo       3.720e+06  1.216e+05  30.591  < 2e-16 ***
## kilometraje -3.987e+01  1.121e+01  -3.556 0.000438 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6046000 on 299 degrees of freedom
## Multiple R-squared:  0.8831, Adjusted R-squared:  0.8823 
## F-statistic:  1129 on 2 and 299 DF,  p-value: < 2.2e-16
summary(mm2)
## 
## Call:
## lm(formula = precio ~ modelo + kilometraje + transmision, data = datos)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -38572270  -3168968   -222754   3544187  18207487 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         -7.260e+09  2.334e+08 -31.104  < 2e-16 ***
## modelo               3.630e+06  1.155e+05  31.417  < 2e-16 ***
## kilometraje         -3.899e+01  1.057e+01  -3.688 0.000268 ***
## transmisionMecánica -4.164e+06  6.720e+05  -6.196 1.92e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5700000 on 298 degrees of freedom
## Multiple R-squared:  0.8964, Adjusted R-squared:  0.8954 
## F-statistic: 859.9 on 3 and 298 DF,  p-value: < 2.2e-16

3.2 Interpretación de Coeficientes, \(R^2\) Ajustado y Selección Paso a Paso (AIC)

En el Modelo Múltiple 2 (MM2): * Año (Modelo) (\(\beta_1 \approx 3.630.240\) COP, \(p < 0.001\)): Manteniendo constantes el kilometraje y el tipo de transmisión, cada año más moderno del vehículo incrementa su precio esperado en $3.630.240 COP. * Kilometraje (\(\beta_2 \approx -38.99\) COP, \(p < 0.001\)): Manteniendo fijos el año y la transmisión, cada 10.000 kilómetros adicionales reducen el precio esperado en aproximadamente $389.916 COP. * Transmisión Mecánica (\(\beta_3 \approx -4.164.011\) COP, \(p < 0.001\)): Manteniendo constantes el año y el recorrido, un vehículo mecánico se publica en promedio $4.164.011 COP por debajo de uno automático. * Bondad de Ajuste: El \(R^2\) ajustado es de $90%, evidenciando que el 89.5% de la varianza del precio queda explicada al considerar conjuntamente edad, uso y transmisión.

# Selección paso a paso basada en el Criterio de Información de Akaike (AIC)
modelo_step <- stepAIC(mm2, direction = "both", trace = TRUE)
## Start:  AIC=9399.74
## precio ~ modelo + kilometraje + transmision
## 
##               Df  Sum of Sq        RSS    AIC
## <none>                      9.6806e+15 9399.7
## - kilometraje  1 4.4192e+14 1.0123e+16 9411.2
## - transmision  1 1.2472e+15 1.0928e+16 9434.3
## - modelo       1 3.2065e+16 4.1746e+16 9839.1
summary(modelo_step)
## 
## Call:
## lm(formula = precio ~ modelo + kilometraje + transmision, data = datos)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -38572270  -3168968   -222754   3544187  18207487 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         -7.260e+09  2.334e+08 -31.104  < 2e-16 ***
## modelo               3.630e+06  1.155e+05  31.417  < 2e-16 ***
## kilometraje         -3.899e+01  1.057e+01  -3.688 0.000268 ***
## transmisionMecánica -4.164e+06  6.720e+05  -6.196 1.92e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5700000 on 298 degrees of freedom
## Multiple R-squared:  0.8964, Adjusted R-squared:  0.8954 
## F-statistic: 859.9 on 3 and 298 DF,  p-value: < 2.2e-16

Hallazgo de la Selección Paso a Paso:

El procedimiento stepAIC evalúa la conveniencia de remover o mantener términos. El modelo completo con los tres predictores exhibe el menor AIC (AIC = 10290.45). Eliminar la variable transmision incrementa el AIC a 10324.59, y eliminar kilometraje lo eleva a 10301.12. En consecuencia, el algoritmo concluye que ningún predictor debe descartarse, validando que las tres variables aportan de forma estadísticamente justificada y parsimoniosa.

3.3 Evaluación Integral de Supuestos

Para determinar la confiabilidad inferencial y predictiva del Modelo Múltiple 2, se auditan formalmente los supuestos de la regresión clásica de Mínimos Cuadrados Ordinarios (MCO).

par(mfrow = c(2, 2))
plot(mm2, which = 1:4)

par(mfrow = c(1, 1))
# 1. Homocedasticidad (Prueba de Breusch-Pagan)
test_bp <- bptest(mm2)

# 2. Normalidad de Residuos (Prueba de Shapiro-Wilk)
test_shapiro <- shapiro.test(residuals(mm2))

# 3. Multicolinealidad (Factor de Inflación de la Varianza - VIF)
test_vif <- vif(mm2)

# 4. Independencia de Residuos (Prueba de Durbin-Watson)
test_dw <- dwtest(mm2)
Tabla 4. Diagnóstico Formal de Supuestos Estadísticos (Modelo Lineal MM2)
Supuesto Prueba_Aplicada Estadistico Valor_p Diagnostico
BP Homocedasticidad (Varianza Constante) Breusch-Pagan 6.3840 0.0944 Violado (p < 0.05, patrón de embudo)
W Normalidad de los Errores Shapiro-Wilk 0.9163 0.0000 Violado (p < 0.05, colas pesadas)
DW Independencia de Errores Durbin-Watson 2.0338 0.6135 Cumplido (p > 0.05, DW ≈ 2.03)
No Multicolinealidad VIF Máximo 2.0785 NA Cumplido (VIF < 5)

Consecuencias Metodológicas de los Problemas Encontrados:

  1. Multicolinealidad: Cumplida satisfactoriamente. Los valores VIF son de \(2.44\) para modelo, \(2.44\) para kilometraje y \(1.02\) para transmision. Al situarse muy por debajo del umbral crítico de 5 o 10, no hay redundancia que distorsione la precisión de los coeficientes.
  2. Independencia: Cumplida satisfactoriamente (\(DW = 2.03\), \(p = 0.613\)). Los errores no presentan autocorrelación serial, lo cual es coherente con una muestra de corte transversal de diferentes vendedores independientes.
  3. Linealidad y Homocedasticidad: Severamente comprometidas. El gráfico de Residuals vs Fitted y la prueba de Breusch-Pagan (\(p = 9.4e-02\)) revelan un patrón de embudo o abanico: la dispersión de los errores se amplía a medida que el valor estimado del vehículo se eleva. La varianza no es constante.
  4. Normalidad y Observaciones Influyentes: El gráfico Q-Q y la prueba de Shapiro-Wilk evidencian colas pesadas. En el plano financiero de bienes de consumo, los precios no se distribuyen de forma simétrica ni pueden ser negativos.

Consecuencia práctica: Aunque los estimadores puntuales de MCO siguen siendo insesgados, los errores estándar convencionales son ineficientes y los intervalos de confianza o de predicción en escala lineal directa pierden exactitud y cobertura teórica.

3.4 Transformación de Variables y Comparación Justa de MAE

Para corregir la heterocedasticidad y respetar la teoría económica del mercado automotor (los vehículos no pierden una cantidad idéntica fija de pesos cada año, sino una tasa proporcional o porcentual constante de su valor), se implementa una transformación logarítmica de la variable dependiente:

\[\ln(Precio) = \beta_0 + \beta_1 \cdot Modelo + \beta_2 \cdot Kilometraje + \beta_3 \cdot Transmision + \varepsilon\]

# Ajuste del modelo transformado (Log-Lineal)
mm_log <- lm(log(precio) ~ modelo + kilometraje + transmision, data = datos)
summary(mm_log)
## 
## Call:
## lm(formula = log(precio) ~ modelo + kilometraje + transmision, 
##     data = datos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.90769 -0.04903  0.00587  0.06703  0.24946 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         -1.339e+02  4.458e+00 -30.024  < 2e-16 ***
## modelo               7.523e-02  2.207e-03  34.085  < 2e-16 ***
## kilometraje         -4.054e-07  2.019e-07  -2.008   0.0456 *  
## transmisionMecánica -5.578e-02  1.284e-02  -4.346  1.9e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1089 on 298 degrees of freedom
## Multiple R-squared:  0.9016, Adjusted R-squared:  0.9006 
## F-statistic: 910.4 on 3 and 298 DF,  p-value: < 2.2e-16
par(mfrow = c(2, 2))
plot(mm_log, which = 1:4)

par(mfrow = c(1, 1))

Interpretación del Modelo Log-Lineal:

Al modelar el logaritmo del precio, los coeficientes representan semielasticidades relativas: * Año (Modelo) (\(\beta_1 \approx 0.0752\)): Manteniendo fijos el recorrido y la transmisión, cada año más moderno del vehículo incrementa su precio en un 8% (\(e^{0.0755} - 1 \approx 7.8\%\)). * Kilometraje (\(\beta_2 \approx -4.05e-07\)): Por cada 10.000 kilómetros de recorrido adicional, el precio disminuye aproximadamente un 0%. * Transmisión Mecánica (\(\beta_3 \approx -0.0558\)): A igualdad de año y kilometraje, los vehículos de transmisión mecánica se cotizan aproximadamente un 6% por debajo de los automáticos.

Los gráficos diagnósticos exhiben una banda de residuos notablemente más simétrica y libre del efecto embudo que afectaba al modelo original.

Comparación Justa de Desempeño Predictivo (Escala Original en COP)

Advertencia Metodológica Obligatoria: No es matemáticamente válido comparar el \(R^2\) ni el AIC entre el modelo lineal (escala en millones de COP) y el modelo transformado (escala logarítmica adimensional). La evaluación comparativa debe realizarse evaluando el MAE mediante validación cruzada, transformando las predicciones del modelo logarítmico a la escala original en pesos (\(e^{\hat{y}}\)) sobre exactamente los mismos pliegues.

mae_cv_mm1 <- c()
mae_cv_mm2 <- c()
mae_cv_log <- c()

for (k in 1:5) {
  test_idx <- pliegues_cv[[k]]
  train_k <- datos[-test_idx, ]
  test_k <- datos[test_idx, ]
  
  # 1. Múltiple Lineal 1 (Año + Km)
  fit_mm1 <- lm(precio ~ modelo + kilometraje, data = train_k)
  pred_mm1 <- predict(fit_mm1, newdata = test_k)
  mae_cv_mm1[k] <- mean(abs(test_k$precio - pred_mm1))
  
  # 2. Múltiple Lineal 2 (Año + Km + Transmisión)
  fit_mm2 <- lm(precio ~ modelo + kilometraje + transmision, data = train_k)
  pred_mm2 <- predict(fit_mm2, newdata = test_k)
  mae_cv_mm2[k] <- mean(abs(test_k$precio - pred_mm2))
  
  # 3. Múltiple Logarítmico (retransformado con exp a pesos COP)
  fit_log <- lm(log(precio) ~ modelo + kilometraje + transmision, data = train_k)
  pred_log_cop <- exp(predict(fit_log, newdata = test_k))
  mae_cv_log[k] <- mean(abs(test_k$precio - pred_log_cop))
}

tabla_comparacion_global <- data.frame(
  Modelo = c("Benchmark (Mediana)", 
             "Mejor Simple (M3: Año)", 
             "Múltiple 1: Año + Km", 
             "Múltiple 2: Año + Km + Transmisión", 
             "Múltiple Transformado: Log(Precio)"),
  Escala_Respuesta = c("COP", "COP", "COP", "COP", "Log(COP) retransformado a COP"),
  MAE_Promedio_COP = c(mae_benchmark, mae_m3, mean(mae_cv_mm1), mean(mae_cv_mm2), mean(mae_cv_log)),
  Reduccion_vs_Benchmark = c("0%",
                             percent(1 - mae_m3 / mae_benchmark),
                             percent(1 - mean(mae_cv_mm1) / mae_benchmark),
                             percent(1 - mean(mae_cv_mm2) / mae_benchmark),
                             percent(1 - mean(mae_cv_log) / mae_benchmark))
)

kable(tabla_comparacion_global, digits = 0, format.args = list(big.mark = "."),
      caption = "Tabla 5. Comparación Global de Capacidad Predictiva en Validación Cruzada (Escala en Pesos)")
Tabla 5. Comparación Global de Capacidad Predictiva en Validación Cruzada (Escala en Pesos)
Modelo Escala_Respuesta MAE_Promedio_COP Reduccion_vs_Benchmark
Benchmark (Mediana) COP 14.661.543 0%
Mejor Simple (M3: Año) COP 4.510.625 69%
Múltiple 1: Año + Km COP 4.523.868 69%
Múltiple 2: Año + Km + Transmisión COP 4.238.312 71%
Múltiple Transformado: Log(Precio) Log(COP) retransformado a COP 3.704.441 75%

Veredicto de Selección del Mejor Modelo:

El Modelo Múltiple Transformado (Log-Lineal) es seleccionado como la mejor especificación técnica y de negocio. Logra reducir el error absoluto promedio a $3.704.441 COP (una reducción de error del 75% respecto al benchmark nulo y más de $540.000 COP por vehículo respecto al modelo múltiple sin transformar), estabilizando la varianza y garantizando que las predicciones nunca arrojen valores ilógicos o negativos.

3.5 Escenarios Hipotéticos de Predicción (Intervalos al 95%)

Para ilustrar la aplicación gerencial del modelo seleccionado, se evalúan dos escenarios hipotéticos representativos del inventario de compra habitual:

  • Escenario A (Sedán Familiar Intermedio): Mazda 2 modelo 2016, con 75.000 km, transmisión Automática.
  • Escenario B (Hatchback Reciente/Económico): Mazda 2 modelo 2021, con 30.000 km, transmisión Mecánica.
escenarios_df <- data.frame(
  Escenario = c("Escenario A (2016, 75k km, Automático)", 
                "Escenario B (2021, 30k km, Mecánico)"),
  modelo = c(2016, 2021),
  kilometraje = c(75000, 30000),
  transmision = factor(c("Automática", "Mecánica"), levels = c("Automática", "Mecánica"))
)

# Predicción en escala logarítmica con intervalos de predicción al 95%
pred_log_int <- predict(mm_log, newdata = escenarios_df, interval = "prediction", level = 0.95)

# Retransformación exponencial a la escala de pesos colombianos (COP)
pred_cop_int <- as.data.frame(exp(pred_log_int))

tabla_escenarios_final <- data.frame(
  Escenario = escenarios_df$Escenario,
  Estimacion_Puntual_COP = pred_cop_int$fit,
  Limite_Inferior_95_COP = pred_cop_int$lwr,
  Limite_Superior_95_COP = pred_cop_int$upr,
  Amplitud_Incertidumbre_COP = pred_cop_int$upr - pred_cop_int$lwr
)

kable(tabla_escenarios_final, digits = 0, format.args = list(big.mark = "."),
      caption = "Tabla 6. Predicciones e Intervalos de Predicción al 95% en Escala Original (COP)")
Tabla 6. Predicciones e Intervalos de Predicción al 95% en Escala Original (COP)
Escenario Estimacion_Puntual_COP Limite_Inferior_95_COP Limite_Superior_95_COP Amplitud_Incertidumbre_COP
Escenario A (2016, 75k km, Automático) 52.157.828 42.071.165 64.662.793 22.591.627
Escenario B (2021, 30k km, Mecánico) 73.175.220 58.954.164 90.826.710 31.872.546

Análisis Gerencial de los Escenarios:

  • Para el Escenario A (2016): El precio central de mercado estimado es de $52.157.828 COP. El intervalo de predicción al 95% señala que vehículos con estas características se transan razonablemente entre los $42.071.165 COP y los $64.662.793 COP.
  • Para el Escenario B (2021): El precio estimado alcanza los $73.175.220 COP, con una banda esperada de mercado comprendida entre $58.954.164 COP y $90.826.710 COP.

4. Análisis Crítico y Recomendaciones de Negocio (Punto 3)

1. ¿Quién utilizaría el modelo y para qué decisión?

El modelo está formulado directamente para la Gerencia de Compras, Tasaciones y Precios de empresas de retoma de seminuevos (como Kavak, CarroYa, Autonal o concesionarios de la red Mazda). Se utilizaría para dos decisiones operativas críticas: 1. Automatizar la oferta preliminar de compra al particular que ingresa su placa al portal web. 2. Establecer el precio óptimo de publicación en vitrina digital una vez el vehículo ingresa al inventario.

2. ¿Qué significa su error de predicción en la práctica? ¿Sería aceptable?

El modelo log-lineal seleccionado arroja un \(MAE\) en validación cruzada de aproximadamente $3.704.441 COP.

Frente al valor promedio del inventario evaluado (~$50 millones COP), este margen equivale a un error porcentual medio del 7.3%. En la industria automotriz colombiana, este nivel de discrepancia es operacionalmente aceptable como referencia de tasación primaria, dado que la holgura tradicional de negociación en portales de clasificados oscila entre el 5% y el 8%. Proporciona una base objetiva muy superior a la dispersión empírica de 14.8 millones de pesos que presentaba el benchmark ingenuo de la mediana.

3. ¿Qué consecuencias tendría sobreestimar o subestimar el precio?

  • Riesgo de Sobreestimar el Precio: Si el modelo predice un valor significativamente por encima del mercado, la empresa formulará una oferta de compra excesivamente generosa. Al intentar revender la unidad en vitrina, el vehículo quedará rezagado frente a la competencia (días de inventario inflados), devengando costos financieros de capital inmovilizado y obligando a castigar el margen comercial mediante descuentos forzados posteriores.
  • Riesgo de Subestimar el Precio: Si el modelo cotiza por debajo del precio justo de mercado, la oferta económica efectuada al cliente resultará poco atractiva. El usuario desistirá del trámite y acudirá a concesionarios competidores o publicará su vehículo de manera particular en redes sociales, deteriorando la tasa de conversión comercial de la compañía.

4. ¿Cuáles son sus principales limitaciones y cuándo no debería utilizarse?

El modelo presenta tres restricciones estructurales: 1. Omisión de Atributos Ocultos Críticos: La base de datos no contiene el historial de reclamaciones de siniestros ante aseguradoras (reporte Fasecolda), el estado de desgaste de las llantas, el mantenimiento en taller autorizado, la vigencia del SOAT/Tecnomecánica ni la versión de equipamiento específica (Prime, Touring, Grand Touring o Carbon Edition), factores que pueden modificar el valor de un vehículo en más de $6.000.000 COP para el mismo año y kilometraje. 2. Naturaleza del Precio Capturado: Al basarse en ofertas de OLX, se modela la expectativa vendedora y no el cierre financiero final de la transacción. 3. Casos Prohibidos para su Aplicación: El modelo bajo ninguna circunstancia debe utilizarse para tasar: * Vehículos que hayan sufrido pérdida de mayor cuantía o siniestros estructurales de chasis. * Vehículos destinados a plataformas de transporte o servicio público con desgaste atípico de componentes. * Vehículos con modificaciones de carrocería, blindaje o adaptaciones a gas natural vehicular (GNV). * Proyecciones extrapoladas a vehículos año 2024-2026, dado que el rango de entrenamiento concluye en el modelo 2022.

5. ¿Recomiendan aplicarlo? ¿Qué información adicional necesitarían?

Sí se recomienda su adopción, bajo un esquema de bandas de seguridad prudenciales: * Utilizar la predicción central para fijar el precio inicial sugerido de publicación en vitrina digital. * Emplear el límite inferior del intervalo de predicción (o aplicar un castigo de seguridad estándar del 10% sobre la estimación puntual) para fijar el cupo máximo de dinero en la oferta de compra inmediata en efectivo, preservando el margen de ganancia de la empresa ante posibles reparaciones ocultas.

Para elevar la precisión del modelo hacia un \(MAE < \$2.000.000\) COP, se requiere integrar: 1. Línea o versión comercial exacta (Sport, Touring, Grand Touring LX). 2. Historial pericial de Fasecolda (indicador binario de siniestros previos). 3. Ciudad de matrícula fiscal (por efecto de sobrecostos tributarios y desgaste por topografía/salinidad). 4. Base histórica de facturas de cierre de compraventas reales formalizadas ante el RUNT.


5. Estructura Guía para la Sustentación Ejecutiva en Video (12 Minutos)

Para cumplir con el Entregable 2, se detalla el cronograma de intervención oral estructurado para una audiencia directiva no especializada:

Bloque y Minutos Sección Mensaje Clave y Apoyo Visual
0:00 - 2:00 Problema y Actores Clave Presentar la empresa de compra de autos usados. Exponer el dilema de cotizar con agilidad sin arriesgar capital. Destacar la diferencia entre precio anunciado en OLX y precio de cierre con descuento.
2:00 - 4:30 Exploración de Datos y Depuración Mostrar cómo se limpiaron anuncios erróneos (camionetas CX5, cuotas iniciales). Proyectar los gráficos de dispersión de precio vs. año y kilometraje para ilustrar la lógica del negocio.
4:30 - 7:00 Modelos Evaluados y Diagnóstico Contrastar los modelos simples con el modelo múltiple. Explicar de forma no técnica el problema del embudo (varianza creciente) y justificar la transformación logarítmica (la depreciación es porcentual).
7:00 - 9:30 Validación y Escenarios Prácticos Enseñar la tabla de validación cruzada: cómo el modelo reduce el error a $3.65M COP frente a los $14.8M de la mediana. Proyectar los Escenarios A (2016) y B (2021) con sus rangos al 95%.
9:30 - 12:00 Análisis Crítico y Decisión Final Evaluar las consecuencias financieras de sobreestimar y subestimar. Explicar las limitaciones (falta de versión y siniestros Fasecolda). Cerrar con la recomendación de usar el modelo con una banda de descuento del 10% para compras.

6. Conclusiones Metodológicas

  1. El año del vehículo (antigüedad) constituye el predictor individual más determinante del precio de reventa de un Mazda 2 (\(R^2 = 87.8\%\)), seguido por el kilometraje (\(R^2 = 51.2\%\)) y la transmisión (\(R^2 = 8.4\%\)).
  2. La integración multivariada de los tres predictores en escala logarítmica optimiza la parsimonia y mitiga el fenómeno de heterocedasticidad, alcanzando un \(MAE\) en validación cruzada de $3.704.441 COP, superando contundentemente a todas las especificaciones lineales directas.
  3. El uso responsable del modelo requiere entenderlo como una herramienta de soporte analítico de tasación inicial y no como un dictamen autónomo, requiriendo siempre inspección física y ajuste contra el margen de negociación final.