## used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 622969 33.3 1428872 76.4 702077 37.5
## Vcells 1166937 9.0 8388608 64.0 1928255 14.8
La carga de datos representa una de las etapas más críticas dentro de cualquier pipeline de analítica avanzada debido a que establece las condiciones iniciales de integridad, estabilidad y reproducibilidad metodológica del proyecto. Una incorrecta importación de datos puede generar inconsistencias estructurales, errores de tipificación y sesgos analíticos que posteriormente afectan procesos de modelamiento, scoring y optimización organizacional.
El presente reporte técnico documenta el procedimiento de carga, validación inicial y tipificación estructural del dataset asociado al sistema comercial de agentes de seguros. La metodología implementada incorporó validaciones relacionadas con existencia física de archivos, construcción de rutas reproducibles, control de tipos de datos, identificación de valores faltantes y detección de duplicados estructurales.
Desarrollar el proceso de carga, validación inicial y comprensión estructural del dataset comercial asociado al sistema de agentes de seguros.
Inicialmente se desarrolló un proceso de limpieza del entorno computacional con el propósito de garantizar reproducibilidad y evitar conflictos derivados de objetos previamente cargados en memoria.
rm(list = ls()) # Limpiar entorno
gc() # Liberar memoria RAM
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 626159 33.5 1428872 76.4 728767 39.0
Vcells 1174116 9.0 8388608 64.0 1928255 14.8
options(scipen = 999) # Evitar notacion cientifica
El pipeline utilizó librerías especializadas en manipulación de datos, procesamiento temporal, limpieza estructural y administración reproducible de rutas.
paquetes <- c("tidyverse", # Manipulacion y transformacion de datos
"lubridate", # Manejo de fechas
"janitor", # Limpieza de nombres y estructuras
"here", # Manejo de rutas reproducibles
"fs") # Manejo avanzado archivos y carpetas
instalados <- paquetes %in% installed.packages()
if(sum(instalados) != length(paquetes)) {
install.packages(
paquetes[!instalados]
)
} # Instalar paquetes faltantes
invisible(
lapply(
paquetes,
require,
character.only = TRUE
)
) # Cargar librerias
La arquitectura del proyecto fue diseñada bajo principios de reproducibilidad computacional utilizando rutas relativas. Esta estrategia permite ejecutar el pipeline en diferentes sistemas operativos sin modificar manualmente las rutas de acceso.
ruta_proyecto <- here::here() # Ruta raiz proyecto
ruta_data_raw <- fs::path(
ruta_proyecto,
"data",
"raw"
) # Carpeta datos originales
ruta_data_processed <- fs::path(
ruta_proyecto,
"data",
"processed"
) # Carpeta datos procesados
ruta_outputs <- fs::path(
ruta_proyecto,
"outputs"
) # Carpeta outputs
dir.create(
ruta_data_processed,
recursive = TRUE,
showWarnings = FALSE
) # Crear carpeta processed
dir.create(
ruta_outputs,
recursive = TRUE,
showWarnings = FALSE
) # Crear carpeta outputs
El sistema implementó validación automática orientada a verificar la existencia física del dataset antes de ejecutar el proceso de lectura.
archivo_fuente <- fs::path(
ruta_data_raw,
"AnalisisAgentes.csv"
) # Ruta dataset original
if(!file.exists(archivo_fuente)) {
stop(
"El archivo AnalisisAgentes.csv no existe en la ruta especificada"
)
} # Validar existencia archivo
Antes de cargar completamente el dataset, se realizó una exploración preliminar orientada a validar estructura básica y delimitación del archivo fuente.
readr::read_lines(
archivo_fuente,
n_max = 3
) # Visualizar primeras lineas
[1] "agente,f_desde,f_hasta,zona,produccion,cartera,canal"
[2] "1,15/04/10,05/05/10,Norte,0,0,PropiaParticulares"
[3] "2,14/04/09,05/05/10,Norte,0,0,PropiaParticulares"
La lectura del dataset fue desarrollada mediante tipificación explícita de variables con el propósito de evitar errores derivados de inferencias automáticas incorrectas.
df_agentes <- readr::read_csv(
file = archivo_fuente,
col_types = cols(
agente = col_character(),
f_desde = col_date(
format = "%d/%m/%y"
),
f_hasta = col_date(
format = "%d/%m/%y"
),
zona = col_factor(),
canal = col_factor(),
produccion = col_double(),
cartera = col_double()
)
) %>%
janitor::clean_names() # Limpiar nombres variables
La utilización de tipificación explícita garantiza estabilidad metodológica y reduce riesgos asociados a interpretaciones ambiguas del sistema de variables.
Posteriormente se ejecutó un proceso de validación estructural orientado a verificar dimensiones generales, estructura organizacional y consistencia del sistema de variables.
glimpse(df_agentes) # Estructura general
Rows: 2,114
Columns: 7
$ agente <chr> "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "1…
$ f_desde <date> 2010-04-15, 2009-04-14, 2010-03-19, 2010-04-15, 2010-04-07…
$ f_hasta <date> 2010-05-05, 2010-05-05, 2010-05-05, 2010-05-05, 2010-05-05…
$ zona <fct> Norte, Norte, Norte, Norte, Norte, Norte, Centro, Centro, C…
$ produccion <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ cartera <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ canal <fct> PropiaParticulares, PropiaParticulares, PropiaParticulares,…
summary(df_agentes) # Resumen estadistico
agente f_desde f_hasta zona
Length:2114 Min. :1980-01-01 Min. :2010-05-05 Este :509
Class :character 1st Qu.:2002-04-01 1st Qu.:2010-05-05 Andalucía:422
Mode :character Median :2008-03-01 Median :2010-05-05 Centro :421
Mean :2005-11-10 Mean :2010-05-05 Norte :391
3rd Qu.:2010-01-15 3rd Qu.:2010-05-05 Galicia :149
Max. :2010-04-23 Max. :2010-05-05 Castilla :120
(Other) :102
produccion cartera canal
Min. : 0.0 Min. : 0 PropiaParticulares:605
1st Qu.: 0.0 1st Qu.: 1424 PropiaEmpresas : 23
Median : 733.6 Median : 13033 Oficina :105
Mean : 19064.1 Mean : 136835 Corredor :884
3rd Qu.: 11791.0 3rd Qu.: 87987 Agente :497
Max. :2419803.9 Max. :12908145
dim(df_agentes) # Dimensiones dataset
[1] 2114 7
La revisión de nombres de variables permite identificar posibles inconsistencias relacionadas con espacios, caracteres especiales o estructuras incompatibles con procesos analíticos posteriores.
names(df_agentes) # Nombres variables
[1] "agente" "f_desde" "f_hasta" "zona" "produccion"
[6] "cartera" "canal"
La auditoría inicial incorporó evaluación de valores faltantes debido a que la presencia de datos incompletos puede afectar estabilidad estadística y procesos posteriores de modelamiento.
df_agentes %>%
summarise(
across(
everything(),
~sum(is.na(.))
)
) # Conteo valores NA por variable
# A tibble: 1 × 7
agente f_desde f_hasta zona produccion cartera canal
<int> <int> <int> <int> <int> <int> <int>
1 0 0 0 0 0 0 0
El sistema implementó detección de duplicados asociados al identificador principal de agentes comerciales.
duplicados_agente <- df_agentes %>%
count(agente) %>%
filter(n > 1) # Detectar IDs duplicados
duplicados_agente # Mostrar duplicados
# A tibble: 0 × 2
# ℹ 2 variables: agente <chr>, n <int>
Finalmente, el dataset validado fue exportado hacia la carpeta de datos procesados con el propósito de facilitar reutilización dentro del pipeline analítico.
write_csv(
df_agentes,
fs::path(
ruta_data_processed,
"agentes_loaded.csv"
)
) # Exportar dataset cargado
El procedimiento de carga permitió construir una base estructural sólida para el desarrollo posterior del pipeline analítico. La utilización de rutas reproducibles, tipificación explícita y validaciones iniciales garantiza estabilidad organizacional y trazabilidad metodológica dentro del proyecto.
Sin embargo, durante la exploración inicial se identificó presencia significativa de registros con producción financiera igual a cero. Este comportamiento puede indicar: - agentes sin actividad comercial, - registros administrativos, - placeholders organizacionales, - o estructuras exportadas automáticamente desde sistemas corporativos.
Este hallazgo representa un aspecto crítico debido a que dichos registros pueden afectar: - métricas promedio, - sistemas de scoring, - análisis Pareto, - normalización, - clustering, - y procesos multicriterio posteriores.
La presencia de múltiples registros con valores financieros iguales a cero introduce riesgos relevantes relacionados con: - distorsión de promedios organizacionales, - sesgo en métricas relativas, - concentración artificial, - degradación del scoring, - pérdida de interpretabilidad estadística.
Por esta razón, en fases posteriores será necesario evaluar: - exclusión de registros inactivos, - segmentación operacional, - análisis de actividad comercial, - validación de consistencia organizacional.
El proceso de carga y validación inicial permitió construir una infraestructura reproducible y metodológicamente consistente para el desarrollo integral del proyecto de analítica estratégica asociado al sistema comercial de agentes de seguros.
Desde una perspectiva técnica, el dataset presenta condiciones adecuadas para posteriores procesos de auditoría estadística, feature engineering, scoring multicriterio y optimización organizacional. No obstante, la identificación de múltiples registros con producción nula constituye un hallazgo relevante que deberá ser tratado cuidadosamente para evitar distorsiones analíticas en las siguientes fases del pipeline.