InstituciónTecnológico de Monterrey, Campus Monterrey
ProgramaLicenciatura en Inteligencia de Negocios
MateriaGeneración de escenarios futuros con analítica (CD-3001B). Módulo 1
IntegrantesPatricio Hermosillo Sepúlveda (A01567036)
Lucero Salazar (A00834893)
ProfesorRaúl Alejandro Cantú

Resumen ejecutivo

Las tres partes de esta actividad comparten una misma pregunta: cuánta innovación o cuánto crecimiento compra de verdad la inversión, y hasta dónde se puede estirar un modelo antes de que deje de servir. Las tres se resuelven con datos de panel, que es el tema del Módulo 1.

Parte 1: Patentes. Modelamos las patentes solicitadas de 226 empresas entre 2012 y 2021 con una regresión de Poisson con efectos fijos de empresa y año, usando el stock de I+D rezagado un año. La elasticidad es de 0.487: subir 10 % la inversión acumulada se asocia con +4.8 % más patentes. El retorno es positivo, pero cada peso adicional rinde menos que el anterior. Las ventas dejan de explicar nada en cuanto controlamos por inversión.

Parte 2: Cuidado de la piel. Antes de modelar tuvimos que limpiar la taxonomía del reporte de Euromonitor, donde Men’s Grooming duplica conteo, y pasar todo a pesos constantes de 2025. Con eso estimamos la tendencia real de siete subcategorías. Recomendamos invertir en Skin Care: es el mercado más grande, el de tendencia más confiable y el único que no retrocedió en 2020. No es el que más crece, y por eso dedicamos una sección a explicar por qué lo preferimos sobre Fragrances, que es su rival de verdad.

Parte 3: Banco Mundial. Con 69 países entre 1996 y 2021, bajados de la API del Banco Mundial, la prueba de Hausman rechaza los efectos aleatorios y nos deja con un modelo de efectos fijos de país. Su elasticidad (0.54) cae en el mismo orden de magnitud que la de empresas, lo cual da confianza en las dos. Al agrupar por décadas aparece lo más interesante: el rendimiento de la inversión en investigación se ha deteriorado, y México recortó su gasto en I+D casi a la mitad desde 2010.

Una advertencia que atraviesa todo el trabajo. En las Partes 1 y 3 pusimos cada modelo a predecir años que no había visto, y lo comparamos contra un pronóstico ingenuo del tipo “el próximo año será igual al anterior”. El ingenuo ganó las dos veces. Lo reportamos tal cual: estos modelos sirven para entender y para simular escenarios de decisión, no para adivinar el siguiente dato.

1 Introducción

1.1 Objetivo y alcance

La actividad pide tres cosas, una por base de datos: armar el mejor modelo, generar predicciones y sustentar las conclusiones en el modelo y no en la corazonada. Las juntamos en un solo informe porque comparten el método (datos de panel) y la pregunta de fondo (qué tanto rinde la inversión). Así podemos contrastar lo que sale a nivel de empresas con lo que sale a nivel de países.

1.2 Datos utilizados

Tabla 1. Bases de datos empleadas en cada parte del trabajo
Parte Base de datos Estructura del panel Fuente
Parte 1 PATENT 3 (1).xls 226 empresas x 10 años (2012-2021) Panel de empresas manufactureras (EE. UU.)
Parte 2 Market sizes.xls 13 categorías x 15 años (2011-2025) Euromonitor International, México
Parte 3 API del Banco Mundial 69 países x 26 años (1996-2021) World Development Indicators

1.3 Nota sobre la estructura de datos de panel

Las tres bases tienen la misma forma: una unidad observada varias veces en el tiempo (empresa-año, categoría-año, país-año). Eso obliga a separar dos tipos de variación, la que hay entre unidades y la que hay dentro de cada una a lo largo del tiempo. Por ahí se entiende por qué las tres partes terminan en modelos de efectos fijos: sin ellos, las diferencias permanentes entre unidades se confunden con el efecto que queremos medir.

Algo que vale la pena dejar claro desde el principio: el identificador de la unidad (cusip en la Parte 1, iso3 en la Parte 3) no es una variable explicativa. Es la etiqueta que define al individuo del panel, y entra al modelo como efecto fijo, nunca como regresor.

2 Parte 1. Patentes: el retorno decreciente de la inversión en I+D

2.1 Datos y variable dependiente

pat <- read.csv("datos/patentes.csv")
dim(pat)
## [1] 2260   13
Tabla 2. Diccionario de variables del panel de patentes
Variable Significado
cusip Identificador de la empresa (no es predictor)
patents Patentes SOLICITADAS en el año
patentsg Patentes otorgadas en el año
rnd Gasto en I+D del año (millones de USD corrientes)
rndstck Stock acumulado de I+D
sales Ventas (millones de USD corrientes)
employ Empleados (miles)
merger = 1 si hubo una fusión importante
year Año de observación

La variable que hay que modelar es el número de patentes solicitadas (patents), no las otorgadas (patentsg). La solicitud refleja lo que la empresa decidió hacer. El otorgamiento depende de la oficina de patentes y de cuánto se tarde, que es un proceso ajeno a la inversión que queremos medir.

2.2 Depuración: el año 2021 está truncado

Tabla 3. Las solicitudes se desploman en 2021 mientras las otorgadas no: el registro está incompleto
Año Solicitadas Otorgadas Razón solic./otorg.
2012 5931 7244 0.82
2013 5884 7095 0.83
2014 6036 7000 0.86
2015 6198 6515 0.95
2016 5800 6464 0.90
2017 5811 5916 0.98
2018 5518 5932 0.93
2019 5313 4345 1.22
2020 4153 5230 0.79
2021 1117 5585 0.20
<a id='fig1'></a>**Figura 1.** Comparación de patentes solicitadas y otorgadas por año. La caída aislada de las solicitudes en 2021 es un artefacto del registro, no un cambio de comportamiento.

Figura 1. Comparación de patentes solicitadas y otorgadas por año. La caída aislada de las solicitudes en 2021 es un artefacto del registro, no un cambio de comportamiento.

Las solicitudes caen a 1,117 en 2021 cuando venían arriba de 5,000, y las otorgadas ni se inmutan. Si la caída fuera real, las otorgadas también bajarían uno o dos años después. No pasa. Descartamos 2021; en la sección 2.6 verificamos que 2020 tampoco distorsiona el resultado.

2.3 Por qué las patentes exigen un modelo de conteo

d0 <- pat[pat$year <= 2020, ]
c(ceros           = mean(d0$patents == 0),
  media           = mean(d0$patents),
  varianza        = var(d0$patents),
  razon_var_media = var(d0$patents) / mean(d0$patents))
##           ceros           media        varianza razon_var_media 
##       0.2030482      24.8987217    5343.3994770     214.6053735
<a id='fig2'></a>**Figura 2.** Distribución de las patentes solicitadas por empresa-año: valores enteros, no negativos y fuertemente sesgados, con una acumulación en cero.

Figura 2. Distribución de las patentes solicitadas por empresa-año: valores enteros, no negativos y fuertemente sesgados, con una acumulación en cero.

El 20 % de las observaciones son cero y la distribución está muy sesgada a la derecha. Un modelo lineal aquí está mal de origen: supone un error continuo y de varianza constante, y admite predicciones negativas, que para un conteo no significan nada. Lo que corresponde es Poisson, que modela el conteo directo y nunca predice por debajo de cero.

2.4 El rezago de la inversión: aplicarlo y medir su costo

Una empresa no patenta el mismo año en que invierte. Montar la capacidad de investigación y llegar a una solicitud toma años, así que la inversión tiene que entrar rezagada. Construimos los rezagos dentro de cada empresa, sin mezclar observaciones de empresas distintas.

pat <- pat[order(pat$cusip, pat$year), ]

rezagar <- function(x, grupo, k) {
  ave(x, grupo, FUN = function(v) c(rep(NA, k), head(v, -k)))
}

pat$stk_l1 <- rezagar(pat$rndstck, pat$cusip, 1)   # stock del año anterior
pat$stk_l2 <- rezagar(pat$rndstck, pat$cusip, 2)   # stock de hace dos años
Tabla 4. Costo del rezago: cada año aplicado elimina la primera observación de cada empresa
Especificación Observaciones usables Observaciones perdidas
Stock del mismo año (sin rezago) 1890 0
Stock rezagado un año 1680 210
Stock rezagado dos años 1470 420

Cada año de rezago cuesta unas 210 observaciones, una por empresa. Es un intercambio que preferimos dejar a la vista: sacrificamos muestra a cambio de una relación causal más defendible.

2.4.1 ¿Qué rezago conviene?

La comparación tiene que hacerse sobre la misma muestra, o sea sobre las observaciones donde existen las tres especificaciones. Comparar el AIC entre muestras de distinto tamaño no sirve, porque el criterio depende de cuántas observaciones haya.

ok <- complete.cases(b[, c("patents", "rndstck", "stk_l1", "stk_l2", "sales")]) &
  b$rndstck > 0 & b$stk_l1 > 0 & b$stk_l2 > 0 & b$sales > 0
comun <- b[ok, ]
comun$lsales <- log(comun$sales)

comparar <- function(v) {
  comun$lX <- log(comun[[v]])
  m <- glm(patents ~ lX + lsales + merger + factor(cusip) + factor(year),
           family = poisson, data = comun)
  cl <- coeftest(m, vcov = vcovCL, cluster = ~cusip)
  c(elasticidad = coef(m)["lX"], ee = cl["lX", "Std. Error"], AIC = AIC(m))
}

tab_rez <- t(sapply(c("rndstck", "stk_l1", "stk_l2"), comparar))
Tabla 5. Comparación de rezagos sobre la misma muestra (1458 observaciones): la elasticidad es prácticamente invariante
Especificación Elasticidad Error estándar AIC
Sin rezago 0.617 0.202 7686
Rezago de un año 0.594 0.200 7690
Rezago de dos años 0.602 0.209 7689

Rezagar la inversión no mueve la elasticidad. La razón es económica, no estadística: rndstck es un stock acumulado, y los stocks se mueven muy despacio de un año al siguiente. El rezago sí importa conceptualmente, porque evita que la inversión del mismo año explique patentes que ya venían en camino. Pero aquí no cambia la conclusión, y preferimos decirlo antes que atribuirle un efecto que no tiene.

Nos quedamos con el stock rezagado un año porque ya está fija de antemano: su valor no cambia cuando la empresa decide cuántas patentes solicitar. Ese es el argumento para tratarla como causa y no como consecuencia.

d <- pat[pat$year <= 2020, ]
d$X <- d$stk_l1
d <- d[complete.cases(d[, c("patents", "X", "sales")]) & d$X > 0 & d$sales > 0, ]
d$lX     <- log(d$X)
d$lsales <- log(d$sales)
d$t      <- d$year - min(d$year)

c(observaciones = nrow(d), empresas = length(unique(d$cusip)),
  primer_anio = min(d$year), ultimo_anio = max(d$year))
## observaciones      empresas   primer_anio   ultimo_anio 
##          1680           216          2013          2020

Trabajamos en logaritmos para leer los coeficientes como elasticidades. De paso, eso resuelve la diferencia de escala entre variables chicas (patentes) y grandes (ventas).

2.5 El modelo: Poisson con efectos fijos de empresa y año

Dos empresas del mismo tamaño y con la misma inversión pueden patentar cantidades muy distintas por cosas que no observamos: la capacidad científica del equipo, dónde están, en qué industria compiten, cómo protegen su propiedad intelectual. Todo eso, si es propio de la empresa y no cambia con los años, lo absorben los efectos fijos de empresa. Los de año recogen lo que les pasa a todas por igual: el ciclo económico, un cambio de criterio en la oficina de patentes.

# 1) Especificación incorrecta: OLS sobre el logaritmo del conteo
m_ols  <- lm(log(patents + 1) ~ lX + lsales + merger + factor(year), data = d)

# 2) Poisson agrupado, sin efectos fijos de empresa
m_pool <- glm(patents ~ lX + lsales + merger + factor(year),
              family = poisson, data = d)

# 3) Poisson con efectos fijos de empresa y de año  <-- modelo seleccionado
m_fe   <- glm(patents ~ lX + lsales + merger + factor(cusip) + factor(year),
              family = poisson, data = d)
Tabla 6. La elasticidad se reduce al aislar la variación interna de cada empresa
Modelo Efectos fijos Elasticidad I+D AIC
OLS sobre log(1 + patentes) Sin efecto fijo de empresa 0.553
Poisson agrupado Sin efecto fijo de empresa 0.649 33767
Poisson con efectos fijos Empresa y año 0.487 9075

Sin efectos fijos el modelo mezcla dos cosas: las empresas grandes acumulan más I+D y más patentes al mismo tiempo, y eso infla la elasticidad. Con el efecto fijo de empresa la estimación se apoya solo en cómo cambia cada empresa a lo largo del tiempo, y la elasticidad baja a 0.487. Ese número es mucho más creíble como efecto causal, y el AIC confirma que el modelo ajusta mejor.

2.5.1 Variables excluidas y su justificación

cc <- d[complete.cases(d[, c("employ", "return", "lsales")]), ]
c(cor_empleados_ventas   = cor(log(cc$employ), cc$lsales),
  cor_rendimiento_ventas = cor(cc$return, cc$lsales))
##   cor_empleados_ventas cor_rendimiento_ventas 
##             0.96575094             0.08212959

employ tiene una correlación de 0.97 con las ventas: las dos miden el tamaño de la empresa, y meterlas juntas solo introduce multicolinealidad. return es el rendimiento de la acción, que responde a expectativas del mercado y no es un insumo del proceso de innovación. Ninguna de las dos entra al modelo.

2.5.2 Corrección por sobredispersión

dispersion <- sum(residuals(m_fe, "pearson")^2) / m_fe$df.residual
round(dispersion, 2)   # un valor > 1 indica sobredispersión
## [1] 2.15

Poisson supone que la varianza es igual a la media. Los efectos fijos de empresa ya bajaron esa razón de 215 a 2.2, pero el residual sigue arriba de 1, así que los errores estándar de Poisson saldrían demasiado chicos. Reportamos errores agrupados por empresa. Una precisión sobre su alcance: no cambian el coeficiente, solo su error estándar. Sirven para no declarar significativo algo que no lo es.

Tabla 7. Modelo Poisson con efectos fijos y errores estándar agrupados por empresa
Variable Coeficiente Error estándar Valor z Valor p
log(stock de I+D, rezagado un año) 0.487 0.180 2.711 0.007
log(ventas) 0.044 0.147 0.303 0.762
Fusión importante 0.063 0.076 0.831 0.406

Solo el stock de I+D sale significativo. Las ventas no: controlando por inversión acumulada, el tamaño de la empresa por sí solo no agrega patentes. La fusión tampoco. En términos de negocio el mensaje es simple: lo que produce patentes es invertir en innovación de forma sostenida, no ser grande.

El modelo de conteo con panel que resuelve formalmente la sobredispersión es la binomial negativa de efectos fijos (Hausman, Hall y Griliches, 1984). Aquí no hizo falta: los efectos fijos absorbieron casi toda la dispersión y los errores agrupados corrigen lo que queda. La cito porque es la referencia del caso, no porque el resultado dependa de ella.

2.6 Robustez: el resultado no depende de 2020

Conservamos 2020 argumentando que el efecto fijo de año absorbe el golpe de la pandemia. Ese tipo de argumento hay que verificarlo, no darlo por bueno.

m_sin20 <- glm(patents ~ lX + lsales + merger + factor(cusip) + factor(year),
               family = poisson, data = d[d$year <= 2019, ])
c(con_2020 = coef(m_fe)["lX"], sin_2020 = coef(m_sin20)["lX"])
## con_2020.lX sin_2020.lX 
##   0.4870750   0.4365471

La elasticidad pasa de 0.487 a 0.437: se mueve poco y la conclusión aguanta. Nos quedamos con 2020 por las 216 observaciones que aporta.

2.7 Predicciones

2.7.1 Validación fuera de muestra frente a un pronóstico ingenuo

Un ajuste alto dentro de la muestra no prueba nada cuando el modelo tiene un parámetro por empresa: en ese caso simplemente memoriza el nivel de cada una. La prueba de verdad es predecir años que el modelo no vio. Entrenamos con 2013-2018, predecimos 2019-2020 y lo comparamos contra el pronóstico ingenuo: “esta empresa va a solicitar las mismas patentes que el año pasado”.

tr <- d[d$year <= 2018, ]
te <- d[d$year >= 2019, ]
te <- te[te$cusip %in% unique(tr$cusip), ]
tr$empresa <- factor(tr$cusip)
te$empresa <- factor(te$cusip, levels = levels(tr$empresa))

# se usa una tendencia lineal en lugar de indicadores de año, para que el
# modelo pueda extrapolar a años que no aparecen en el entrenamiento
m_train <- glm(patents ~ lX + lsales + merger + t + empresa,
               family = poisson, data = tr)
te$pred <- predict(m_train, newdata = te, type = "response")

# pronóstico ingenuo: las patentes del año anterior de la misma empresa
llave <- paste(d$cusip, d$year)
te$ingenuo <- d$patents[match(paste(te$cusip, te$year - 1), llave)]
te <- te[!is.na(te$ingenuo) & !is.na(te$pred), ]
Tabla 8. Error de predicción en 2019-2020 (417 observaciones). Un valor menor indica mejor desempeño
Método MAE RMSE
Modelo Poisson con efectos fijos 7.05 16.80
Pronóstico ingenuo (año anterior) 6.29 16.17
<a id='fig3'></a>**Figura 3.** Predicción fuera de muestra frente a los valores observados (2019-2020, escala logarítmica). La línea diagonal representa la predicción perfecta.

Figura 3. Predicción fuera de muestra frente a los valores observados (2019-2020, escala logarítmica). La línea diagonal representa la predicción perfecta.

Gana el ingenuo. El modelo da un MAE de 7.05 contra 6.29 del método simple. Este modelo sirve para explicar, no para pronosticar. Y tiene sentido: las patentes de una empresa son muy persistentes, así que “lo mismo que el año pasado” es una vara difícil de superar.

2.7.2 Simulación de escenarios: para qué sí sirve el modelo

Como el coeficiente es una elasticidad, se traduce directo en una regla de decisión.

b_elas <- coef(m_fe)["lX"]
escenarios <- c(0.10, 0.25, 0.50)
round(100 * ((1 + escenarios)^b_elas - 1), 1)   # cambio porcentual esperado
## [1]  4.8 11.5 21.8
Tabla 9. Escenarios de inversión: al ser la elasticidad menor que 1, los retornos son positivos pero decrecientes
Aumento en el stock de I+D Cambio esperado en patentes
+10 % +4.8 %
+25 % +11.5 %
+50 % +21.8 %

2.8 Conclusiones de la Parte 1

Afirmación. Invertir en I+D genera más patentes solicitadas, con rendimientos decrecientes: cada 10 % adicional de stock se asocia con cerca de +4.8 % de patentes. Pero el modelo no sirve para pronosticar cuántas patentes pedirá una empresa el año que viene.

Razonamiento. Las patentes son un conteo, responden con rezago a la inversión y varían muchísimo entre empresas. Eso pide un Poisson con efectos fijos de empresa y año, con la inversión rezagada y en logaritmos. Ese modelo aísla bien el efecto de la inversión, pero el fenómeno es tan persistente que no le gana a un pronóstico ingenuo.

Evidencia.

  • Elasticidad de la I+D igual a 0.487, significativa con errores agrupados por empresa; ventas y fusión no salen significativas.
  • Sin el efecto fijo de empresa la elasticidad se infla a 0.65.
  • Rezagar la inversión cuesta unas 210 observaciones y no modifica la elasticidad; excluir 2020 tampoco (0.437).
  • Fuera de muestra, el pronóstico ingenuo obtiene un MAE de 6.29 frente a 7.05 del modelo.

3 Parte 2. Cuidado de la piel: decisión de inversión por subcategoría

3.1 Los datos y la trampa de la taxonomía

ms_todo <- read.csv("datos/market_sizes.csv")
names(ms_todo)[3] <- "nominal"
sort(unique(ms_todo$categoria))
##  [1] "Bath and Shower"                        
##  [2] "Beauty and Personal Care"               
##  [3] "Deodorants"                             
##  [4] "Depilatories"                           
##  [5] "Dermocosmetics Beauty and Personal Care"
##  [6] "Fragrances"                             
##  [7] "Hair Care"                              
##  [8] "Mass Beauty and Personal Care"          
##  [9] "Men's Grooming"                         
## [10] "Premium Beauty and Personal Care"       
## [11] "Prestige Beauty and Personal Care"      
## [12] "Skin Care"                              
## [13] "Sun Care"

El reporte mete tres criterios de clasificación distintos en una sola columna. Sumar las filas sin fijarse en cuál es cuál infla el tamaño del mercado.

Tabla 10. Solo las siete categorías de producto constituyen subcategorías sumables
Nivel Categorías ¿Se suma?
Total (agregado) Beauty and Personal Care No: contiene a las demás
Producto Bath and Shower, Deodorants, Depilatories, Fragrances, Hair Care, Skin Care, Sun Care Sí: son mutuamente excluyentes
Producto transversal Men’s Grooming No: ya contabilizada en las anteriores
Posicionamiento Premium, Prestige, Mass, Dermocosmetics No: otra forma de segmentar el mismo total

3.1.1 Demostración aritmética del doble conteo

Decir que Men’s Grooming es transversal no basta: hay que demostrarlo con los números. El reporte no trae todas las categorías de producto de Beauty and Personal Care; faltan al menos Oral Care, Color Cosmetics y Baby and Child. Entonces:

\[\text{Total} - \sum(\text{7 categorías de producto}) = \text{residual}\]

Ese residual tiene que alcanzar para las tres categorías que faltan. La prueba es ver qué le pasa si además sumamos Men’s Grooming como si fuera un componente aparte.

productos <- c("Bath and Shower", "Deodorants", "Depilatories", "Fragrances",
               "Hair Care", "Skin Care", "Sun Care")

valor <- function(cat, anio) {
  ms_todo$nominal[ms_todo$categoria == cat & ms_todo$anio == anio]
}

prueba <- do.call(rbind, lapply(c(2021, 2025), function(a) {
  total <- valor("Beauty and Personal Care", a)
  suma7 <- sum(sapply(productos, valor, anio = a))
  mg    <- valor("Men's Grooming", a)
  data.frame(anio = a, total = total, suma7 = suma7,
             residual_sin_mg = total - suma7,
             mens_grooming   = mg,
             residual_con_mg = total - suma7 - mg)
}))
Tabla 11. Al sumar Men’s Grooming, el residual deja de alcanzar para las tres categorías ausentes (millones de pesos corrientes)
Año Total BPC Suma de 7 Residual sin MG Men’s Grooming Residual con MG
2021 211,921 153,754 58,168 32,939 25,229
2025 313,593 234,227 79,366 49,508 29,858

En 2021 el residual sin Men’s Grooming es de 58,168 millones, cifra razonable para cubrir Oral Care, Color Cosmetics y Baby and Child. Si sumamos Men’s Grooming, ese residual se desploma a 25,229 millones, una caída de 57 %, y queda por debajo del propio Men’s Grooming (32,939). O sea: tres categorías completas, con Oral Care adentro, tendrían que valer menos que Men’s Grooming sola. No cuadra.

Men’s Grooming no es un componente más, sino una agrupación transversal de productos masculinos que ya vienen contados en Bath and Shower, Deodorants, Depilatories, Fragrances y Skin Care. La dejamos fuera del análisis, igual que el total y los cortes de posicionamiento.

ms <- ms_todo[ms_todo$categoria %in% productos, ]

3.2 Deflactación: el crecimiento nominal induce a error

Comparar categorías por crecimiento nominal mezcla la subida de precios con el crecimiento real del mercado. México tuvo una inflación cercana al 4.5 % anual en el periodo, así que un mercado que “crece” 5 % nominal casi no se mueve en términos reales. Deflactamos todo a pesos constantes de 2025 con el Índice de Precios al Consumidor.

# IPC de México, promedio anual, base 2010 = 100
# Fuente: Banco Mundial, indicador FP.CPI.TOTL
ipc <- c(`2011` = 103.407, `2012` = 107.659, `2013` = 111.757, `2014` = 116.248,
         `2015` = 119.411, `2016` = 122.780, `2017` = 130.198, `2018` = 136.577,
         `2019` = 141.543, `2020` = 146.350, `2021` = 154.677, `2022` = 166.890,
         `2023` = 176.116, `2024` = 184.433, `2025` = 191.453)

ms$real <- ms$nominal * (ipc["2025"] / ipc[as.character(ms$anio)])
Tabla 12. Crecimiento anual compuesto 2011-2025: en términos nominales todas las categorías aparentan crecer entre 6 y 10 %
Subcategoría Crecimiento nominal Crecimiento real Escala 2025 (MXN mill.)
Sun Care 10.0 % 5.2 % 4,326
Fragrances 8.2 % 3.6 % 56,742
Skin Care 7.6 % 3.0 % 71,830
Bath and Shower 6.9 % 2.3 % 21,342
Deodorants 6.4 % 1.8 % 21,824
Depilatories 6.2 % 1.7 % 1,873
Hair Care 6.0 % 1.4 % 56,290
<a id='fig4'></a>**Figura 4.** Evolución del tamaño real de cada subcategoría en pesos constantes de 2025. Skin Care es la de mayor escala y acelera su crecimiento a partir de 2021.

Figura 4. Evolución del tamaño real de cada subcategoría en pesos constantes de 2025. Skin Care es la de mayor escala y acelera su crecimiento a partir de 2021.

3.3 La tendencia no es constante: el mercado cambió tras la pandemia

Antes de estimar una sola tendencia hay que ver si tiene sentido. En la figura anterior varias categorías se empinan a partir de 2021, así que partimos el periodo en dos tramos.

per <- do.call(rbind, lapply(productos, function(k) {
  s <- ms[ms$categoria == k, ]
  data.frame(categoria = k,
             antes   = 100 * cagr(s$real, s$anio, 2011, 2019),  # pre-pandemia
             despues = 100 * cagr(s$real, s$anio, 2021, 2025),  # post-pandemia
             vs_2019 = 100 * (s$real[s$anio == 2025] / s$real[s$anio == 2019] - 1))
}))
per$aceleracion <- per$despues - per$antes
per <- per[order(-per$despues), ]
Tabla 13. Casi todas las subcategorías aceleran tras la pandemia; la última columna descarta que se trate únicamente de un rebote
Subcategoría Real 2011-2019 Real 2021-2025 Aceleración Nivel 2025 vs. 2019
Sun Care 5.7 % 11.1 % +5.4 pp +30.9 %
Fragrances 1.3 % 9.6 % +8.2 pp +47.3 %
Skin Care 1.8 % 4.9 % +3.0 pp +30.7 %
Deodorants 3.7 % 4.0 % +0.3 pp -3.6 %
Hair Care 1.1 % 3.5 % +2.4 pp +11.7 %
Bath and Shower 1.5 % 2.7 % +1.3 pp +21.7 %
Depilatories 4.1 % -0.8 % -4.9 pp -8.7 %

La última columna es la que separa rebote de crecimiento. Si una categoría solo estuviera recuperando lo que perdió en 2020, su nivel de 2025 se parecería al de 2019. No es lo que pasa: Fragrances está 47 % arriba de su nivel previo a la pandemia y Skin Care 31 %. Eso es crecimiento de verdad.

3.4 Modelo de panel y tendencias por subcategoría

ms$t     <- ms$anio - 2011
ms$covid <- as.integer(ms$anio == 2020)
ms$lreal <- log(ms$real)

pd <- pdata.frame(ms, index = c("categoria", "anio"))
m_panel <- plm(lreal ~ t + covid, data = pd, model = "within")
coefs <- coef(m_panel)

El modelo de panel con efectos fijos de categoría da el contexto agregado del sector: en promedio el mercado crece 2.4 % real anual y cayó -9.6 % en 2020. Sirve para enmarcar, no para decidir. Para elegir dónde invertir necesitamos distinguir entre categorías, y eso pide estimar cada tendencia por separado.

trend <- do.call(rbind, lapply(productos, function(k) {
  s  <- ms[ms$categoria == k, ]
  m  <- lm(lreal ~ t + covid, data = s)
  ct <- summary(m)$coefficients
  data.frame(categoria = k,
             crec_real = 100 * (exp(ct["t", "Estimate"]) - 1),
             p_valor   = ct["t", "Pr(>|t|)"],
             r2        = summary(m)$r.squared,
             cambio_2020 = 100 * (s$real[s$anio == 2020] / s$real[s$anio == 2019] - 1),
             escala      = s$real[s$anio == 2025])
}))
trend <- trend[order(-trend$crec_real), ]
Tabla 14. Todas las subcategorías crecen en términos reales, pero difieren en velocidad, ajuste, comportamiento en 2020 y escala
Subcategoría Crecimiento real anual Sig. Cambio en 2020 Escala 2025
Sun Care 4.65 % *** 0.87 -19.2 % 4,326
Fragrances 3.24 % *** 0.83 -13.4 % 56,742
Skin Care 3.09 % *** 0.93 +0.4 % 71,830
Bath and Shower 2.09 % *** 0.94 +9.2 % 21,342
Depilatories 1.58 % *** 0.58 -4.9 % 1,873
Deodorants 1.32 % ** 0.49 -20.1 % 21,824
Hair Care 1.01 % *** 0.70 -4.1 % 56,290

Significancia: * p < 0.01, p < 0.05, * p < 0.10.

3.5 Predicciones 2026-2028

La proyección parte del último dato observado (2025) y le aplica la tasa real estimada. Reportamos dos escenarios, uno con la tendencia de quince años y otro con la reciente, para que se vea cuánto depende el resultado de ese supuesto.

pred <- do.call(rbind, lapply(productos, function(k) {
  base       <- ms$real[ms$categoria == k & ms$anio == 2025]
  g_largo    <- trend$crec_real[trend$categoria == k] / 100
  g_reciente <- per$despues[per$categoria == k] / 100
  data.frame(categoria = k, real_2025 = base,
             pred_largo    = base * (1 + g_largo)^3,
             pred_reciente = base * (1 + g_reciente)^3)
}))
pred <- pred[order(-pred$pred_reciente), ]
Tabla 15. Skin Care conserva el primer lugar por escala en 2028 bajo los dos supuestos de tendencia (millones de pesos constantes)
Subcategoría Real 2025 Proyección 2028 (15 años) Proyección 2028 (reciente)
Skin Care 71,830 78,686 82,844
Fragrances 56,742 62,441 74,650
Hair Care 56,290 58,007 62,499
Deodorants 21,824 22,702 24,526
Bath and Shower 21,342 22,710 23,151
Sun Care 4,326 4,958 5,934
Depilatories 1,873 1,963 1,827

3.6 Recomendación de inversión

<a id='fig5'></a>**Figura 5.** Mapa de decisión: crecimiento real (eje horizontal), comportamiento durante 2020 (eje vertical) y escala del mercado (área del círculo).

Figura 5. Mapa de decisión: crecimiento real (eje horizontal), comportamiento durante 2020 (eje vertical) y escala del mercado (área del círculo).

3.6.1 El competidor relevante no es Sun Care, sino Fragrances

Sun Care es fácil de descartar. Crece 4.6 % real, sí, pero es el mercado más chico (4,326 millones, diecisiete veces menor que Skin Care) y el que más se cayó en 2020 (-19 %). Es un producto de temporada y de los que se pueden posponer.

Fragrances sí es un rival serio, y hay que decirlo. Crece 9.6 % real anual en el periodo reciente, más del doble que Skin Care; está 47 % arriba de su nivel previo a la pandemia; y tiene escala parecida (56,742 millones). No lo elegimos por dos razones concretas:

  1. Es cíclica. Retrocedió -13.4 % en 2020, frente a 0.4 % de Skin Care. La fragancia se compra por gusto o para regalar: en la única crisis observada, se pospuso.
  2. Su tendencia es menos confiable. Presenta un R² de 0.83 frente a 0.93 de Skin Care, y depende casi por completo del tramo reciente: es una apuesta a que la aceleración siga.

3.6.2 Recomendación fundamentada

Afirmación. Si tuviéramos que invertir en una subcategoría, elegimos Skin Care, aunque no sea la que más crece.

Razonamiento. Es la que mejor junta las cuatro condiciones que hacen sostenible una inversión: escala, crecimiento real que además se está acelerando, la tendencia más confiable de las siete y el mejor comportamiento en la única crisis que observamos. Se compra por hábito y se repone, no es un gasto que la gente posponga. Y siguiendo lo que advirtió el socioformador (Nielsen), el crecimiento alto atrae competencia: no conviene sobrepagar por velocidad, y Skin Care crece lo suficiente sin ser la categoría de moda.

Evidencia.

  • Escala: 71,830 millones de pesos constantes en 2025, la mayor de las siete, y primer lugar en la proyección a 2028 bajo ambos supuestos.
  • Crecimiento: 3.1 % real anual en 2011-2025, con aceleración a 4.9 % en 2021-2025 y un nivel 31 % superior al previo a la pandemia.
  • Confiabilidad: R² de 0.93, el mayor de las siete.
  • Comportamiento en 2020: prácticamente estable (+0.4 %), frente a caídas de entre 13 y 20 % en Sun Care, Deodorants y Fragrances.

3.6.3 Alcance y supuestos de la recomendación

Sobre la evidencia de 2020. Que Skin Care no cayera en 2020 es un solo episodio, y además raro: confinamiento, más higiene y cuidado personal en casa, menos consumo social. No prueba que aguante cualquier recesión. Es la única evidencia de comportamiento en crisis que tenemos, y como tal la usamos.

Supuesto de valor contra volumen. Los datos son valor de venta, no unidades. Si el crecimiento real de Skin Care viniera sobre todo de precios más altos y productos más caros y no de vender más, la tesis cambiaría: estaríamos invirtiendo en un mercado que sube de precio, no que gana consumidores. Con esta base no podemos distinguir los dos casos, así que la recomendación vale bajo el supuesto de que el crecimiento en valor refleja crecimiento en volumen.

Alternativas según el perfil de riesgo. Quien tolere volatilidad y apueste a que la aceleración siga, tiene en Fragrances el doble de crecimiento reciente con escala parecida. Quien busque defenderse de otra crisis, Bath and Shower fue la única subcategoría que creció en 2020 (+9 %).

4 Parte 3. Banco Mundial: la innovación a nivel de país

4.1 Objetivo

En la Parte 1 estimamos, con datos de empresas, cuántas patentes compra la inversión en I+D. Aquí hacemos la misma pregunta a nivel de país con datos del Banco Mundial, donde tenemos veintiséis años de historia en vez de diez, y ubicamos a México en ese panorama.

4.2 Importación de los datos

Los datos salen de la API del Banco Mundial (World Development Indicators). La función guarda una copia local la primera vez que corre y después la reutiliza, así que el documento se puede volver a compilar sin conexión.

dir.create("datos", showWarnings = FALSE)   # por si la carpeta aún no existe

descargar_wb <- function(codigo) {
  archivo <- file.path("datos", paste0("wb_", gsub("\\.", "_", codigo), ".csv"))
  if (file.exists(archivo)) return(read.csv(archivo))        # copia local
  url <- paste0("https://api.worldbank.org/v2/country/all/indicator/",
                codigo, "?format=json&per_page=20000")
  json <- jsonlite::fromJSON(url)[[2]]
  d <- data.frame(iso3 = json$countryiso3code, pais = json$country$value,
                  anio = as.integer(json$date), valor = as.numeric(json$value))
  write.csv(d, archivo, row.names = FALSE, na = "")
  d
}

# catálogo de países: permite separar países de agregados regionales
descargar_paises <- function() {
  archivo <- "datos/wb_paises.csv"
  if (file.exists(archivo)) return(read.csv(archivo))
  meta <- jsonlite::fromJSON(
    "https://api.worldbank.org/v2/country?format=json&per_page=400")[[2]]
  d <- data.frame(iso3 = meta$id, pais = meta$name, region = meta$region$value)
  write.csv(d, archivo, row.names = FALSE, na = "")
  d
}

indicadores <- c(patentes  = "IP.PAT.RESD",
                 id_pib    = "GB.XPD.RSDV.GD.ZS",
                 pib_pc    = "NY.GDP.PCAP.KD",
                 poblacion = "SP.POP.TOTL")

series <- list()
for (nombre in names(indicadores)) {
  d <- descargar_wb(indicadores[nombre])
  names(d)[names(d) == "valor"] <- nombre
  series[[nombre]] <- d[, c("iso3", "pais", "anio", nombre)]
}
wb <- Reduce(function(a, b) merge(a, b, by = c("iso3", "pais", "anio"), all = TRUE),
             series)
Tabla 16. Indicadores del Banco Mundial empleados en el modelo
Código Indicador Papel en el modelo
IP.PAT.RESD Solicitudes de patente de residentes Variable dependiente
GB.XPD.RSDV.GD.ZS Gasto en investigación y desarrollo (% del PIB) Variable de interés
NY.GDP.PCAP.KD PIB per cápita (USD constantes de 2015) Control
SP.POP.TOTL Población total Control
# La consulta "country/all" devuelve también agregados regionales y grupos de
# ingreso. Deben excluirse: son los mismos países contabilizados otra vez.
paises <- descargar_paises()
paises <- paises[paises$region != "Aggregates", ]
wb <- wb[wb$iso3 %in% paises$iso3, ]

# 1996 es el primer año con datos de I+D; 2021 el último con patentes completas
p <- wb[wb$anio >= 1996 & wb$anio <= 2021, ]
p <- p[complete.cases(p[, c("patentes", "id_pib", "pib_pc", "poblacion")]), ]

# se exigen al menos 15 años por país: con menos, el efecto fijo se estimaría
# con muy poca información
obs <- table(p$iso3)
p <- p[p$iso3 %in% names(obs)[obs >= 15], ]

p$lpat   <- log(p$patentes + 1)
p$lid    <- log(p$id_pib)
p$lpib   <- log(p$pib_pc)
p$lpob   <- log(p$poblacion)
p$decada <- paste0(floor(p$anio / 10) * 10, "s")
p$pat_pm <- p$patentes / (p$poblacion / 1e6)

c(observaciones = nrow(p), paises = length(unique(p$iso3)),
  primer_anio = min(p$anio), ultimo_anio = max(p$anio))
## observaciones        paises   primer_anio   ultimo_anio 
##          1566            69          1996          2021

Quitar los agregados no es opcional. Si se quedan, cada país entra varias veces: una solo y otra dentro de “América Latina” o “Ingreso medio alto”. Es el mismo doble conteo de la Parte 2, con otra cara.

4.3 Selección del modelo mediante la prueba de Hausman

Los países se diferencian en cosas que no observamos y que cambian muy despacio: el sistema legal de patentes, la tradición científica, la estructura industrial. La pregunta típica de datos de panel es si esas diferencias se tratan como efectos fijos, correlacionados con las variables explicativas, o como efectos aleatorios, independientes de ellas. Estimamos los tres modelos y dejamos que la prueba decida.

pd3 <- pdata.frame(p, index = c("iso3", "anio"))

m_pool3 <- plm(lpat ~ lid + lpib + lpob, data = pd3, model = "pooling")  # agrupado
m_fe3   <- plm(lpat ~ lid + lpib + lpob, data = pd3, model = "within")   # efectos fijos
m_re3   <- plm(lpat ~ lid + lpib + lpob, data = pd3, model = "random")   # aleatorios

hausman <- phtest(m_fe3, m_re3)
Tabla 17. El modelo agrupado duplica la elasticidad al confundir diferencias permanentes entre países con el efecto de la inversión
Modelo Elasticidad de la I+D
Agrupado (pooling) 1.196
Efectos fijos (within) 0.544
Efectos aleatorios 0.598
data.frame(estadistico     = round(unname(hausman$statistic), 2),
           grados_libertad = unname(hausman$parameter),
           p_valor         = format.pval(hausman$p.value, eps = 0.0001))
estadistico grados_libertad p_valor
55.99 3 < 0.0001

La prueba de Hausman da un valor p de <0.0001, así que se rechazan los efectos aleatorios y nos quedamos con efectos fijos. Tiene sentido económico: cuánto patenta un país está correlacionado con cuánto invierte en I+D, que es justo lo que el modelo de efectos aleatorios supone que no pasa.

Tabla 18. Modelo de efectos fijos de país. Variable dependiente: logaritmo de las solicitudes de patente
Variable Coeficiente Error estándar Valor t Valor p
log(gasto en I+D, % del PIB) 0.5439 0.0402 13.5412 0.0000
log(PIB per cápita) 0.1436 0.0493 2.9145 0.0036
log(población) 1.6138 0.1597 10.1047 0.0000

La elasticidad de la I+D es 0.544: dentro de un mismo país, subir 10 % el gasto en investigación como proporción del PIB se asocia con 5.3 % más solicitudes de patente. Cae en el mismo orden de magnitud que la estimación con empresas de la Parte 1 (0.49), y eso refuerza las dos: datos, unidades y periodos distintos apuntando al mismo fenómeno de rendimientos decrecientes.

El R² within es de 0.205: el modelo explica una parte de lo que pasa dentro de cada país, no todo. Era de esperarse, porque patentar depende de muchas cosas que el modelo no ve.

4.4 Análisis por décadas

En clase se pidió mirar la base por décadas y no año con año, para captar cambios de fondo. Esa agrupación cambia por completo lo que se ve.

por_decada <- aggregate(cbind(pat_pm, id_pib) ~ decada, data = p, FUN = median)

elasticidad_decada <- function(dc) {
  s <- p[p$decada == dc, ]
  n <- table(s$iso3)
  s <- s[s$iso3 %in% names(n)[n >= 3], ]   # se requiere variación interna
  m <- plm(lpat ~ lid + lpib + lpob,
           data = pdata.frame(s, index = c("iso3", "anio")), model = "within")
  summary(m)$coefficients["lid", c("Estimate", "Pr(>|t|)")]
}

# los 2020s solo cubren dos años: no constituyen una década
decadas <- c("1990s", "2000s", "2010s")
elas <- t(sapply(decadas, elasticidad_decada))
Tabla 19. La elasticidad de la inversión en I+D se reduce a la mitad entre los años 2000 y 2010
Década Elasticidad Valor p
1990s (1996-1999) 0.531 <0.0001
2000s 0.519 <0.0001
2010s 0.229 <0.0001
Tabla 20. Los países destinan cada vez más recursos a investigación y patentan cada vez menos por habitante (medianas)
Década Patentes por millón de habitantes Gasto en I+D (% del PIB)
1990s 62.4 0.70 %
2000s 52.5 0.76 %
2010s 46.6 0.84 %
2020s 36.9 1.10 %
<a id='fig6'></a>**Figura 6.** Divergencia entre esfuerzo y resultado: el gasto en investigación aumenta mientras el patentamiento por habitante disminuye.

Figura 6. Divergencia entre esfuerzo y resultado: el gasto en investigación aumenta mientras el patentamiento por habitante disminuye.

Cada peso invertido en investigación compra menos patentes que antes. La mediana mundial pasa de 62.4 patentes por millón de habitantes en los noventa a 36.9 en los veinte, mientras el gasto en I+D sube de 0.7 % a 1.1 % del PIB. La elasticidad estimada cae de 0.53 a 0.23.

Este patrón solo aparece al agrupar por décadas. En la variación año con año queda enterrado en el ruido, y ahí está la razón de la instrucción. Dejamos los 2020 fuera del cálculo de elasticidad porque cubren nada más 2020 y 2021.

4.5 Predicciones

4.5.1 Validación fuera de muestra

Igual que en la Parte 1, la prueba que importa es predecir años no observados. Entrenamos con 1996-2017 y predecimos 2018-2021, otra vez contra el pronóstico ingenuo.

tr3 <- p[p$anio <= 2017, ]
te3 <- p[p$anio >= 2018, ]
te3 <- te3[te3$iso3 %in% unique(tr3$iso3), ]

m_train3 <- lm(lpat ~ lid + lpib + lpob + factor(iso3), data = tr3)
te3$pred <- exp(predict(m_train3, newdata = te3)) - 1

llave3 <- paste(p$iso3, p$anio)
te3$ingenuo <- p$patentes[match(paste(te3$iso3, te3$anio - 1), llave3)]
te3 <- te3[!is.na(te3$ingenuo), ]
Tabla 21. Error de predicción 2018-2021 (245 observaciones). Un valor menor indica mejor desempeño
Método MAE RMSE
Modelo de efectos fijos 21,061 141,108
Pronóstico ingenuo (año anterior) 2,561 15,983

El ingenuo vuelve a ganar, y por mucho. Es el mismo resultado de la Parte 1 y deja la misma lección: cuánto patenta un país es tan persistente que superar la referencia del año anterior es dificilísimo. Un modelo como este sirve para entender el fenómeno y simular escenarios, no para adivinar el siguiente dato. Decirlo es parte del análisis; venderlo como si predijera bien sería engañoso.

4.5.2 Escenario para México

b3 <- coef(m_fe3)["lid"]
mx <- p[p$iso3 == "MEX" & p$anio == 2021, ]

metas <- c(0.40, 0.55, 1.00)                       # % del PIB
escenario <- data.frame(
  meta     = metas,
  multiplo = metas / mx$id_pib,
  patentes = mx$patentes * (metas / mx$id_pib)^b3)
escenario$cambio <- 100 * (escenario$patentes / mx$patentes - 1)
Tabla 22. Escenarios de inversión para México, que en 2021 destinó 0.27 % del PIB a I+D y registró 1,117 solicitudes
Si el gasto en I+D alcanzara Respecto al nivel actual Solicitudes esperadas Variación
0.40 % del PIB 1.5x 1,375 +23 %
0.55 % del PIB 2.0x 1,635 +46 %
1.00 % del PIB 3.7x 2,263 +103 %

Llegar al 1 % del PIB, meta declarada en México desde hace años, significaría multiplicar por 3.7 el gasto actual, y duplicaría las solicitudes de patente hasta unas 2,263. Sigue siendo poco frente a los líderes. El escenario dice que invertir ayuda, pero que por sí solo no cierra una brecha de dos órdenes de magnitud.

4.6 México en contexto

mex <- p[p$iso3 == "MEX", ]
round(c(id_pib_2010              = mex$id_pib[mex$anio == 2010],
        id_pib_2021              = mex$id_pib[mex$anio == 2021],
        patentes_por_millon_2021 = mex$pat_pm[mex$anio == 2021]), 2)
##              id_pib_2010              id_pib_2021 patentes_por_millon_2021 
##                     0.47                     0.27                     8.75
<a id='fig7'></a>**Figura 7.** Evolución del gasto en investigación y desarrollo de México. Tras alcanzar su máximo en 2010, el esfuerzo se redujo casi a la mitad, en sentido contrario a la tendencia mundial.

Figura 7. Evolución del gasto en investigación y desarrollo de México. Tras alcanzar su máximo en 2010, el esfuerzo se redujo casi a la mitad, en sentido contrario a la tendencia mundial.

Tabla 23. México invierte y patenta menos que sus comparables regionales (datos de 2021)
País Gasto en I+D (% del PIB) Solicitudes Por millón de habitantes
Korea, Rep.  4.60 % 186,245 3597.6
United States 3.47 % 262,244 789.7
Canada 1.87 % 4,710 123.2
Spain 1.40 % 1,308 27.6
Brazil 1.13 % 4,666 22.3
Chile 0.36 % 402 20.7
Argentina 0.52 % 406 9.0
Mexico 0.27 % 1,117 8.8
<a id='fig8'></a>**Figura 8.** Relación entre gasto en investigación y patentamiento por habitante en 2021 (escala logarítmica). México se ubica en el extremo inferior de la distribución.

Figura 8. Relación entre gasto en investigación y patentamiento por habitante en 2021 (escala logarítmica). México se ubica en el extremo inferior de la distribución.

México destina hoy 0.27 % del PIB a investigación, contra 0.47 % en 2010: recortó su esfuerzo casi a la mitad justo cuando el resto del mundo lo subía. Con 8.8 patentes por millón de habitantes queda debajo de Brasil y Chile, y a dos órdenes de magnitud de Corea del Sur.

4.7 Conclusiones de la Parte 3

Afirmación. El gasto en I+D también genera patentes a nivel de país, con rendimientos decrecientes, pero ese rendimiento se ha deteriorado década tras década. México va a contracorriente: recortó su inversión mientras el mundo la aumentaba.

Razonamiento. En un panel de países hay que separar el efecto de la inversión de las diferencias permanentes entre naciones. La prueba de Hausman apunta a efectos fijos, que además es lo razonable porque cuánto patenta un país y cuánto invierte están correlacionados. Agrupar por décadas destapa un deterioro que la variación anual esconde. Y como el fenómeno es tan persistente, el modelo se usa para simular escenarios, no para pronosticar.

Evidencia.

  • Hausman rechaza los efectos aleatorios (p = <0.0001); el modelo seleccionado presenta una elasticidad de 0.544, coherente con el 0.49 estimado a nivel de empresa.
  • La elasticidad cae de 0.53 en los noventa a 0.23 en los 2010, y las patentes por millón descienden de 62.4 a 36.9.
  • Fuera de muestra el pronóstico ingenuo obtiene un MAE de 2,561 frente a 21,061 del modelo.
  • México pasó de 0.47 % a 0.27 % del PIB entre 2010 y 2021.

5 Conclusiones generales

5.1 Síntesis de las tres partes

Tabla 24. Resumen de los modelos seleccionados y sus resultados
Parte Modelo seleccionado Resultado principal Capacidad predictiva
Parte 1 Poisson con efectos fijos de empresa y año Elasticidad I+D = 0.487 Gana el pronóstico ingenuo
Parte 2 Panel con efectos fijos y tendencias por categoría Recomendación: Skin Care Proyección 2028 bajo dos escenarios
Parte 3 Efectos fijos de país (seleccionado por Hausman) Elasticidad I+D = 0.544 Gana el pronóstico ingenuo

5.2 Tres lecciones metodológicas

Primera: los efectos fijos cambian la respuesta, no solo la precisión. En las Partes 1 y 3, ignorar que las unidades son distintas entre sí infla la elasticidad: de 0.49 a 0.65 entre empresas, y de 0.54 a 1.20 entre países. No es un matiz estadístico. Es la diferencia entre atribuirle a la inversión un efecto que en realidad viene del tamaño de la empresa o de la tradición científica del país.

Segunda: limpiar los datos decide el resultado. Tres decisiones de limpieza cambiaron conclusiones de fondo: descartar el año truncado en la Parte 1, sacar la categoría transversal en la Parte 2 y eliminar los agregados regionales en la Parte 3. Las tres salen de la misma idea, que es revisar qué representa cada fila antes de modelar. Y ninguna se ve en la salida de un modelo mal especificado.

Tercera: hay que declarar los límites del modelo. En las Partes 1 y 3 el pronóstico ingenuo le ganó al modelo estructural. Reportarlo no debilita el trabajo, lo acota: deja claro para qué sirve cada herramienta. Estos modelos contestan cuánto cambia el resultado si cambia la inversión, que es lo que necesitamos para decidir, no cuál será el dato del próximo año.

5.3 Recomendación integrada

Los dos niveles de análisis llegan al mismo mensaje: el retorno de la innovación es positivo pero decreciente, y se ha ido deteriorando. Para México, que gasta 0.27 % del PIB en I+D, el margen de mejora es amplio y el modelo sugiere que duplicar el esfuerzo daría efectos medibles. En el mercado de consumo, esa misma lógica de rendimientos decrecientes respalda la elección de Skin Care: entre una categoría grande y de crecimiento sostenido y otra que crece rápido pero es volátil, conviene la primera, sobre todo cuando crecer rápido atrae competencia.

6 Referencias

Banco Mundial. (2026). World Development Indicators. Indicadores IP.PAT.RESD, GB.XPD.RSDV.GD.ZS, NY.GDP.PCAP.KD, SP.POP.TOTL y FP.CPI.TOTL. Consultados el 24 de agosto de 2026 mediante la API pública. https://api.worldbank.org

Croissant, Y. y Millo, G. (2008). Panel Data Econometrics in R: The plm Package. Journal of Statistical Software, 27(2), 1-43.

Euromonitor International. (2026). Market Sizes: Beauty and Personal Care, México, 2011-2025. Retail Value RSP, precios corrientes. Exportado el 8 de julio de 2026.

Hausman, J., Hall, B. H. y Griliches, Z. (1984). Econometric Models for Count Data with an Application to the Patents-R&D Relationship. Econometrica, 52(4), 909-938.

Zeileis, A. (2004). Econometric Computing with HC and HAC Covariance Matrix Estimators. Journal of Statistical Software, 11(10), 1-17.

7 Anexo. Reproducibilidad

Todo el documento se compila desde este archivo. Los datos de las Partes 1 y 2 vienen de los archivos originales convertidos a CSV; los de la Parte 3 se bajan de la API del Banco Mundial y se guardan localmente en la primera corrida.

Tabla 25. Archivos de datos utilizados
Archivo Tamaño
market_sizes.csv 7 KB
patentes.csv 184 KB
wb_GB_XPD_RSDV_GD_ZS.csv 498 KB
wb_IP_PAT_RESD.csv 483 KB
wb_NY_GDP_PCAP_KD.csv 695 KB
wb_paises.csv 19 KB
wb_SP_POP_TOTL.csv 594 KB
Tabla 26. Entorno de cómputo empleado
Componente Versión
R 4.6.1
plm 2.6.7
sandwich 3.1.3
lmtest 0.9.40
knitr 1.51
kableExtra 1.4.1
jsonlite 2.0.0

7.1 Índice de figuras

  • Figura 1. Comparación de patentes solicitadas y otorgadas por año. La caída aislada de las solicitudes en 2021 es un artefacto del registro, no un cambio de comportamiento.
  • Figura 2. Distribución de las patentes solicitadas por empresa-año: valores enteros, no negativos y fuertemente sesgados, con una acumulación en cero.
  • Figura 3. Predicción fuera de muestra frente a los valores observados (2019-2020, escala logarítmica). La línea diagonal representa la predicción perfecta.
  • Figura 4. Evolución del tamaño real de cada subcategoría en pesos constantes de 2025. Skin Care es la de mayor escala y acelera su crecimiento a partir de 2021.
  • Figura 5. Mapa de decisión: crecimiento real (eje horizontal), comportamiento durante 2020 (eje vertical) y escala del mercado (área del círculo).
  • Figura 6. Divergencia entre esfuerzo y resultado: el gasto en investigación aumenta mientras el patentamiento por habitante disminuye.
  • Figura 7. Evolución del gasto en investigación y desarrollo de México. Tras alcanzar su máximo en 2010, el esfuerzo se redujo casi a la mitad, en sentido contrario a la tendencia mundial.
  • Figura 8. Relación entre gasto en investigación y patentamiento por habitante en 2021 (escala logarítmica). México se ubica en el extremo inferior de la distribución.

7.2 Índice de tablas

  • Tabla 1. Bases de datos empleadas en cada parte del trabajo
  • Tabla 2. Diccionario de variables del panel de patentes
  • Tabla 3. Las solicitudes se desploman en 2021 mientras las otorgadas no: el registro está incompleto
  • Tabla 4. Costo del rezago: cada año aplicado elimina la primera observación de cada empresa
  • Tabla 5. Comparación de rezagos sobre la misma muestra (1458 observaciones): la elasticidad es prácticamente invariante
  • Tabla 6. La elasticidad se reduce al aislar la variación interna de cada empresa
  • Tabla 7. Modelo Poisson con efectos fijos y errores estándar agrupados por empresa
  • Tabla 8. Error de predicción en 2019-2020 (417 observaciones). Un valor menor indica mejor desempeño
  • Tabla 9. Escenarios de inversión: al ser la elasticidad menor que 1, los retornos son positivos pero decrecientes
  • Tabla 10. Solo las siete categorías de producto constituyen subcategorías sumables
  • Tabla 11. Al sumar Men’s Grooming, el residual deja de alcanzar para las tres categorías ausentes (millones de pesos corrientes)
  • Tabla 12. Crecimiento anual compuesto 2011-2025: en términos nominales todas las categorías aparentan crecer entre 6 y 10 %
  • Tabla 13. Casi todas las subcategorías aceleran tras la pandemia; la última columna descarta que se trate únicamente de un rebote
  • Tabla 14. Todas las subcategorías crecen en términos reales, pero difieren en velocidad, ajuste, comportamiento en 2020 y escala
  • Tabla 15. Skin Care conserva el primer lugar por escala en 2028 bajo los dos supuestos de tendencia (millones de pesos constantes)
  • Tabla 16. Indicadores del Banco Mundial empleados en el modelo
  • Tabla 17. El modelo agrupado duplica la elasticidad al confundir diferencias permanentes entre países con el efecto de la inversión
  • Tabla 18. Modelo de efectos fijos de país. Variable dependiente: logaritmo de las solicitudes de patente
  • Tabla 19. La elasticidad de la inversión en I+D se reduce a la mitad entre los años 2000 y 2010
  • Tabla 20. Los países destinan cada vez más recursos a investigación y patentan cada vez menos por habitante (medianas)
  • Tabla 21. Error de predicción 2018-2021 (245 observaciones). Un valor menor indica mejor desempeño
  • Tabla 22. Escenarios de inversión para México, que en 2021 destinó 0.27 % del PIB a I+D y registró 1,117 solicitudes
  • Tabla 23. México invierte y patenta menos que sus comparables regionales (datos de 2021)
  • Tabla 24. Resumen de los modelos seleccionados y sus resultados
  • Tabla 25. Archivos de datos utilizados
  • Tabla 26. Entorno de cómputo empleado