UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

ESCUELA DE POSGRADO

MAESTRÍA EN ESTADÍSTICA

Curso: Minería de Datos

Título del proyecto: Análisis de ventas y patrones de compra mediante técnicas de Machine Learning en Online Retail

Estudiante: Any Lopez Rojas

Docente: Cleto de la Torre Dueñas

Lugar y año: Cusco, Perú, 2026

1 Introducción y planteamiento del problema

1.1 Introducción

El comercio electrónico genera registros que permiten estudiar las ventas, las características de las operaciones y los patrones de compra. Para transformar esta información en evidencia útil es necesario comprender la estructura de los datos, evaluar su calidad y seleccionar técnicas de análisis acordes con cada objetivo.

En este trabajo se utiliza el conjunto de datos Online Retail, publicado en el repositorio UCI por Chen (2015). La base original contiene 541 909 registros de operaciones de una empresa de comercio electrónico del Reino Unido, correspondientes al periodo comprendido entre el 1 de diciembre de 2010 y el 9 de diciembre de 2011. La empresa se dedica principalmente a la comercialización de regalos y artículos para distintas ocasiones, y parte de sus clientes son mayoristas.

El proyecto comprende seis actividades: comprensión y preparación de los datos, predicción de ventas diarias, clasificación de facturas, segmentación de clientes, identificación de asociaciones entre productos y análisis de las descripciones mediante minería de texto. Cada actividad requiere una unidad de análisis específica y decisiones de preparación coherentes con su finalidad.

El análisis se desarrollará en RStudio mediante un procedimiento reproducible. Los modelos supervisados se evaluarán con datos reservados para prueba, mientras que los segmentos, las reglas y los términos identificados se interpretarán según sus características observadas. Las conclusiones se limitarán al periodo, la empresa y los registros efectivamente analizados.

1.2 Planteamiento del problema

Los registros comerciales contienen información detallada, pero su estructura original no responde directamente a preguntas sobre ventas diarias, categorías de facturas, segmentos de clientes o asociaciones entre productos. Además, las cancelaciones, los valores ausentes, las repeticiones y los posibles valores extremos requieren una revisión previa para evitar interpretaciones equivocadas.

Una fila representa una línea de detalle de una operación. En consecuencia, no debe confundirse el número de filas con el número de facturas, clientes o compras independientes. Asimismo, una cantidad negativa o una factura de cancelación no constituye automáticamente un error de registro.

El problema consiste en determinar cómo preparar y analizar esta información para obtener predicciones y patrones evaluables, evitando la fuga de información, la eliminación injustificada de registros y las conclusiones que excedan la evidencia disponible.

1.3 Pregunta general

¿Cómo pueden las técnicas de Machine Learning aplicadas al conjunto Online Retail contribuir a predecir ventas diarias, clasificar facturas, segmentar clientes e identificar asociaciones entre productos y patrones en sus descripciones?

2 Objetivos

2.1 Objetivo general

Aplicar y evaluar técnicas de Machine Learning sobre el conjunto Online Retail para predecir ventas diarias, clasificar facturas, segmentar clientes y descubrir patrones de asociación y de contenido textual, mediante un análisis reproducible en RStudio.

2.2 Objetivos específicos

  1. Examinar la estructura y calidad de los datos, y documentar las decisiones de limpieza.
  2. Construir variables derivadas y tablas de análisis adecuadas para cada actividad.
  3. Comparar al menos dos modelos de regresión para predecir ventas diarias mediante una partición temporal.
  4. Comparar al menos dos clasificadores para identificar facturas de importe alto, evitando predictores que revelen directamente la etiqueta.
  5. Identificar y describir segmentos de clientes mediante variables RFM.
  6. Obtener e interpretar al menos cinco reglas de asociación entre productos.
  7. Identificar y visualizar los términos más frecuentes de Description.
  8. Formular conclusiones y recomendaciones sustentadas en los resultados observados.

3 Descripción y referencia de la base de datos

3.1 Fuente y cobertura

La base Online Retail fue publicada por Chen (2015) en UCI Machine Learning Repository. El archivo original, denominado Online Retail.xlsx, contiene 541 909 registros y ocho columnas.

El periodo documentado comprende del 1 de diciembre de 2010 al 9 de diciembre de 2011. Estos datos describen operaciones históricas de una empresa del Reino Unido; no constituyen una muestra representativa de todo el comercio electrónico.

Página oficial:
https://archive.ics.uci.edu/dataset/352/online+retail

Identificador DOI:
https://doi.org/10.24432/C5BW33

Licencia: Creative Commons Attribution 4.0 International.

3.2 Descripción de las variables

Variable Tipo conceptual Descripción
InvoiceNo Categórica nominal Identificador de factura; el prefijo C indica cancelación.
StockCode Categórica nominal Identificador del producto.
Description Texto Nombre o descripción del producto en inglés.
Quantity Cuantitativa discreta Cantidad del producto registrada en la línea.
InvoiceDate Temporal Fecha y hora de la operación.
UnitPrice Cuantitativa continua Precio unitario expresado en libras esterlinas.
CustomerID Categórica nominal Identificador del cliente.
Country Categórica nominal País asociado al cliente.

4 Metodología

4.1 Enfoque y diseño

El estudio tendrá un enfoque cuantitativo, observacional y retrospectivo, con componentes descriptivos y predictivos. Se analizarán registros preexistentes sin manipular las condiciones en que ocurrieron las operaciones.

El procedimiento comprenderá diagnóstico de calidad, preparación específica por actividad, construcción de variables, ajuste de modelos, evaluación e interpretación.

4.2 Comprensión y limpieza

Se conservará una copia de los datos originales y se registrará el número de observaciones afectadas por cada decisión.

4.2.1 Valores ausentes

Se cuantificarán los valores ausentes por variable y su porcentaje. El tratamiento dependerá del significado de la variable y de la tarea.

No se imputarán identificadores de clientes mediante medias, medianas u otros procedimientos numéricos, porque ello podría crear vinculaciones ficticias entre operaciones. Las filas sin CustomerID podrán utilizarse en actividades que no requieran identificar clientes, si cumplen los demás criterios.

Cuando se considere imputar otras variables, se justificará el procedimiento y, en análisis predictivos, se ajustará exclusivamente con información de entrenamiento.

4.2.2 Duplicados y repeticiones

Se identificarán duplicados exactos mediante la coincidencia de las ocho columnas originales. Se distinguirán de las filas que comparten factura y producto pero difieren en cantidad, precio, fecha u otro atributo.

La coincidencia parcial no se utilizará como evidencia suficiente para eliminar registros. Incluso la eliminación de duplicados exactos se documentará como una decisión de preparación, pues la coincidencia por sí sola no demuestra el origen de la repetición.

4.2.3 Cancelaciones, cantidades y precios

Se examinarán por separado:

  • Facturas cuyo código comienza con C.
  • Cantidades negativas o iguales a cero.
  • Precios unitarios negativos o iguales a cero.
  • Combinaciones potencialmente inconsistentes entre estas variables.

Para estudiar ventas positivas y construir cestas de compra se definirá una tabla de operaciones con cantidades y precios positivos, excluyendo cancelaciones según el criterio documentado. Esta definición corresponde a ventas brutas positivas y no equivale a ventas netas de devoluciones.

4.2.4 Valores extremos

Se utilizarán resúmenes descriptivos y gráficos para identificar valores extremos en cantidades, precios e importes. Las reglas estadísticas, como el rango intercuartílico, se emplearán como herramientas de detección y no como órdenes automáticas de eliminación.

Se considerará que la presencia de mayoristas puede producir compras de gran volumen. Cualquier exclusión o transformación deberá justificarse y evaluarse por su efecto sobre los resultados.

4.3 Variables derivadas

Variable Definición Uso
Importe de línea Quantity × UnitPrice Agregaciones monetarias
Fecha Fecha sin componente de hora Agregación diaria
Venta diaria Suma del importe de las operaciones incluidas por día Regresión
Importe de factura Suma del importe de sus líneas incluidas Etiqueta de clasificación
Factura de importe alto Indicador de superar el umbral definido en entrenamiento Clasificación
Recencia Días entre la última compra y la fecha de corte Clustering
Frecuencia Número de facturas distintas por cliente Clustering
Valor monetario Importe acumulado por cliente Clustering

4.4 Regresión de ventas diarias

Se compararán al menos dos modelos: regresión lineal y árbol de regresión o Random Forest.

La variable respuesta será la venta diaria bajo la definición comercial adoptada. Los predictores podrán incluir características del calendario y rezagos de ventas, siempre que estén disponibles en el momento del pronóstico.

La partición respetará el orden temporal: el tramo inicial se utilizará para entrenamiento y el más reciente para prueba. La selección de parámetros se realizará dentro del entrenamiento.

Se documentará el horizonte de predicción. Si se utilizan ventas observadas del día anterior durante la prueba, la evaluación se interpretará como un procedimiento de un paso adelante.

Se reportarán MAE, RMSE y R² predictivo:

\[ MAE=\frac{1}{n}\sum_{i=1}^{n}|y_i-\widehat{y}_i| \]

\[ RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i-\widehat{y}_i)^2} \]

\[ R^2=1-\frac{\sum_{i=1}^{n}(y_i-\widehat{y}_i)^2} {\sum_{i=1}^{n}(y_i-\bar{y})^2} \]

El R² predictivo puede ser negativo. No se sustituirá por la correlación al cuadrado sin aclarar que se trata de otra medida.

4.5 Clasificación de facturas

Se definirá una etiqueta binaria que distinga facturas de importe alto y no alto. El umbral se establecerá utilizando únicamente entrenamiento y permanecerá fijo en la prueba.

Se compararán al menos dos clasificadores, como regresión logística, CART o Random Forest.

Se excluirá el importe de factura de los predictores. También se revisarán sus componentes y transformaciones para evitar una reconstrucción directa de la etiqueta. Se declarará el momento de predicción para determinar qué información estaría realmente disponible.

La clase positiva será “Alto”. Se reportarán matriz de confusión, exactitud, sensibilidad, especificidad y F1, junto con la distribución de clases y una referencia basada en la clase mayoritaria.

4.6 Segmentación de clientes

Se construirán variables RFM para clientes con identificador disponible. La fecha de corte se fijará después de la última fecha incluida en el análisis.

Se examinarán las distribuciones y, cuando corresponda, se aplicarán transformaciones logarítmicas antes de la estandarización. Se utilizará K-means y se justificará el número de grupos mediante el método del codo y/o la silueta.

Los grupos se describirán mediante tamaños y resúmenes de RFM en sus unidades originales. Sus nombres comerciales se asignarán después de examinar los perfiles.

4.7 Reglas de asociación

Se construirán cestas con productos distintos por factura. La repetición de un producto dentro de una factura se representará como presencia del producto para este análisis.

Se aplicará Apriori y se documentarán soporte mínimo, confianza mínima y longitud de las reglas. Se interpretarán al menos cinco reglas, considerando soporte, confianza, lift y número de facturas que las respaldan.

Las asociaciones se interpretarán como coocurrencias y no como relaciones causales.

4.8 Minería de texto

Se analizará Description mediante limpieza textual, tokenización, revisión de palabras vacías y cálculo de frecuencias.

Se declarará si el corpus contiene todas las líneas de venta o descripciones únicas por producto. El primer criterio pondera los términos por aparición en líneas; el segundo describe principalmente el catálogo.

Las palabras se revisarán en su contexto comercial. No se realizará una interpretación de sentimiento, porque las descripciones son nombres de productos y no opiniones de clientes.

4.9 Reproducibilidad

Se registrarán semillas aleatorias, versiones de paquetes, criterios de limpieza, periodos de partición y parámetros de los algoritmos. El código deberá ejecutarse en orden desde la importación hasta las conclusiones.

5 Resultados

Esta sección se completará después de ejecutar el análisis. No se presentan cifras ni desempeños que todavía no hayan sido calculados.

5.1 Calidad de datos

Se presentarán dimensiones, tipos de variables, valores ausentes, duplicados exactos y observaciones señaladas por los criterios de revisión.

La tabla antes y después distinguirá registros detectados, registros modificados y registros excluidos. Los indicadores pueden solaparse; por ello, sus frecuencias no se sumarán como si fueran categorías excluyentes.

# Incorporar aquí el código ejecutado del diagnóstico.
# Mostrar la tabla de calidad antes y después de la preparación.

Interpretación: [Describir las cifras obtenidas, las decisiones aplicadas y su efecto sobre los datos disponibles.]

5.2 Exploración de ventas

Se mostrarán la evolución diaria de ventas y las distribuciones de Quantity, UnitPrice e importe, indicando la tabla de operaciones utilizada.

# Incorporar aquí los gráficos y resúmenes calculados.

Interpretación: [Describir tendencias, asimetrías y valores extremos observados, sin atribuir causas no verificadas.]

5.3 Regresión

Se presentarán los periodos de entrenamiento y prueba, las métricas por modelo y el gráfico de ventas observadas y predichas.

# Mostrar tabla con Modelo, MAE, RMSE y R2.
# Graficar observados y predicciones del periodo de prueba.

Interpretación: [Identificar el modelo con menor error bajo el criterio principal declarado y explicar los desacuerdos entre métricas.]

5.4 Clasificación

Se reportarán el umbral monetario, la distribución de clases, las matrices de confusión y las métricas de los clasificadores.

# Mostrar matrices de confusión y tabla comparativa.

Interpretación: [Comparar falsos positivos y falsos negativos. Relacionar sensibilidad, especificidad y F1 con la clase Alto.]

5.5 Segmentación RFM

Se mostrarán los criterios utilizados para elegir el número de grupos, sus tamaños y los perfiles de recencia, frecuencia y valor monetario.

# Mostrar codo y/o silueta, tamaños y perfiles RFM.

Interpretación: [Describir cada grupo según sus resultados. No asignar características que no se hayan medido.]

5.6 Reglas de asociación

Se presentarán al menos cinco reglas con antecedente, consecuente, soporte, confianza, lift y frecuencia absoluta.

# Mostrar las reglas seleccionadas y una visualización legible.

Interpretación: [Explicar cada regla en términos de las facturas analizadas, su frecuencia y su asociación respecto al soporte del consecuente.]

5.7 Minería de texto

Se mostrarán las frecuencias de términos y un gráfico de los más relevantes, indicando la unidad de conteo utilizada.

# Mostrar tabla y gráfico de frecuencias de términos.

Interpretación: [Describir el contenido comercial observado. No confundir frecuencia de palabras con preferencias declaradas o satisfacción de clientes.]

6 Comparación e interpretación de modelos y patrones

6.1 Modelos de regresión

[Comparar MAE, RMSE y R² sobre el mismo periodo de prueba. Precisar si la ventaja observada es consistente entre métricas y si los errores se concentran en días particulares.]

6.2 Modelos de clasificación

[Comparar los clasificadores sobre las mismas facturas de prueba. Considerar el desbalance y el tipo de error, además de la exactitud.]

6.3 Segmentos, asociaciones y términos

[Relacionar los perfiles y patrones observados cuando exista evidencia para hacerlo. No afirmar que un segmento compra determinados productos si esa relación no se ha calculado.]

No se establecerá un único algoritmo ganador para todo el proyecto, porque las actividades responden a objetivos y métricas diferentes.

7 Limitaciones, posibles sesgos y amenazas a la validez

  1. Cobertura histórica y empresarial. Los datos corresponden a una empresa y a un periodo de 2010–2011; su generalización a otros contextos requiere evidencia adicional.

  2. Clientes sin identificación. Excluirlos del análisis RFM puede producir sesgo si sus operaciones difieren de las de clientes identificados.

  3. Decisiones de limpieza. Excluir cancelaciones, precios cero o registros repetidos cambia la población analizada y la interpretación del importe de ventas.

  4. Compras mayoristas. Los valores extremos pueden reflejar operaciones válidas y afectar de manera importante las agregaciones.

  5. Cobertura del calendario. La ausencia de registros en una fecha no demuestra por sí sola que las ventas hayan sido cero. Además, diciembre de 2011 no cubre el mes completo.

  6. Dependencia temporal y entre clientes. Las observaciones pueden compartir patrones por fecha o cliente; una partición aleatoria puede ofrecer una evaluación demasiado favorable para ciertos usos.

  7. Etiqueta construida. La categoría de importe alto depende del umbral elegido y no constituye una categoría natural o universal.

  8. Sobreajuste y fuga de información. Usar la prueba para seleccionar modelos, transformaciones o umbrales comprometería la evaluación.

  9. Segmentación exploratoria. Los grupos dependen de las variables, transformaciones, escalas y parámetros elegidos.

  10. Selección de reglas. Explorar numerosas reglas puede producir patrones inestables. Un lift alto con pocas facturas requiere cautela.

  11. Alcance del texto. Description describe productos y no permite medir satisfacción ni sentimiento de los compradores.

8 Conclusiones y recomendaciones

8.1 Conclusiones

Las siguientes conclusiones se completarán exclusivamente a partir de las salidas ejecutadas:

  1. Calidad: [Problemas detectados, magnitud y efecto del tratamiento.]
  2. Regresión: [Modelo con mejor desempeño observado en prueba, acompañado de sus métricas y horizonte.]
  3. Clasificación: [Desempeño y errores principales respecto a la clase Alto.]
  4. Segmentación: [Número de grupos justificado y perfiles observados.]
  5. Asociación: [Reglas respaldadas por las facturas analizadas.]
  6. Texto: [Términos predominantes bajo el criterio de conteo elegido.]

8.2 Recomendaciones

[Relacionar cada recomendación con una tabla, gráfico o resultado concreto. Las propuestas comerciales se formularán como acciones por evaluar, sin afirmar incrementos de ventas que no se hayan medido.]

9 Referencias bibliográficas

Chen, D. (2015). Online Retail [Conjunto de datos]. UCI Machine Learning Repository. https://doi.org/10.24432/C5BW33

[Agregar las referencias efectivamente consultadas para los métodos y paquetes utilizados. No incluir bibliografía que no se haya revisado.]

10 Anexos

10.1 Script completo

[Adjuntar el archivo .R completo o incorporar el código en el orden en que debe ejecutarse, conforme a las indicaciones del docente.]

10.2 Información de la sesión

sessionInfo()
## R version 4.6.1 (2026-06-24 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 10 x64 (build 19045)
## 
## Matrix products: default
##   LAPACK version 3.12.1
## 
## locale:
## [1] LC_COLLATE=Spanish_Peru.utf8  LC_CTYPE=Spanish_Peru.utf8   
## [3] LC_MONETARY=Spanish_Peru.utf8 LC_NUMERIC=C                 
## [5] LC_TIME=Spanish_Peru.utf8    
## 
## time zone: America/Lima
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## loaded via a namespace (and not attached):
##  [1] digest_0.6.39     R6_2.6.1          fastmap_1.2.0     xfun_0.60        
##  [5] cachem_1.1.0      knitr_1.52        htmltools_0.5.9   rmarkdown_2.32   
##  [9] lifecycle_1.0.5   cli_3.6.6         sass_0.4.10       jquerylib_0.1.4  
## [13] compiler_4.6.1    rstudioapi_0.19.0 tools_4.6.1       evaluate_1.0.5   
## [17] bslib_0.12.0      yaml_2.3.12       otel_0.2.0        jsonlite_2.0.0   
## [21] rlang_1.3.0