Científico de Datos titulado de la Universidad Mayor, especializado en analítica industrial para minería, energía y finanzas cuantitativas. Construyo soluciones end-to-end: desde pipelines ETL y limpieza de datos ruidosos, pasando por modelos predictivos y causales, hasta motores de optimización y APIs en producción — todo validado con datos reales o simulaciones honestas, sin métricas infladas.
Cada repo de este perfil corre de principio a fin (python -m src.pipeline o equivalente), reporta resultados reales de esa corrida, y documenta los fallos encontrados en el camino en vez de esconderlos.
Analítica industrial aplicada a operaciones mineras y energéticas de alta escala.
- Optimización Geometalúrgica en Flotación (Cu/Mo): Ensamble XGBoost+CatBoost sin fuga temporal, dos motores de optimización (Algoritmo Genético +
scipy.optimize) validados cruzados entre sí [Mejora de recuperación +2.4%]. - Impacto Causal en Flota Minera: Estimación del impacto causal real de mantenimiento predictivo mediante Doubly Robust Learners (DRLearner) y Causal Forest con análisis de sensibilidad de tendencias paralelas [Reducción de downtime estimado ~14%].
- Gemelo Digital SAG (Eficiencia Energética): Kalman Filter para soft-sensing de dureza de mineral + modelos de supervivencia (CoxPH) para estimación de RUL y optimización prescriptiva de setpoints [Ahorro de energía en molienda ~8.5%].
- Data Warehouse Analítico de Minería: Arquitectura dbt + DuckDB (staging → marts, 83 tests de calidad) unificando flotación, mantenimiento CAEX y seguridad [Latencia de consulta <50ms].
- Mantenimiento Predictivo y RUL: Redes neuronales multitarea en PyTorch y análisis de supervivencia para predicción de Vida Útil Restante [MAE < 12 hrs en predicción RUL].
- Calidad de Tronadura/Ley (.NET): Pipeline ML.NET en C# comparando SDCA vs. FastTree para predecir calidad de ley post-tronadura [R² = 0.860 SDCA vs. 0.833 FastTree].
- Pronóstico de Red Eléctrica (Costo Marginal): Comparación baseline/ensamble/MLP PyTorch (loss Huber) con activación Swish ganadora sobre LightGBM y XGBoost [WAPE = 5.42% MLP vs. 6.26% LightGBM vs. 7.06% XGBoost].
- Pronóstico de Red Eléctrica en R: Variante en R del pronóstico de costo marginal, comparando cuatro enfoques estadísticos (ARIMA/SARIMAX/TBATS/ETS/GARCH) con validación cruzada rolling.
- Detección de Anomalías en Procurement Minero: Z-score + Isolation Forest + Autoencoder PyTorch para detectar compras y proveedores anómalos en la cadena de suministro minera.
- RAG de Seguridad Minera Chile: Sistema de recuperación aumentada híbrida (BM25 + embeddings densos) con reranker cross-encoder sobre normativa chilena de seguridad minera.
- Optimización Espacial de Logística: Optimización de rutas (VRP) alimentada por un módulo de predicción de demanda comparando Ridge/RF/MLP como insumo del ruteo.
- Laboratorio de Detección de Fraude & AML: Cuatro técnicas en un repo, cada una en su carpeta con pipeline propio — pipeline multi-lenguaje sobre 568k transacciones reales (LogReg+SMOTE, CatBoost, XGBoost, MLP PyTorch con Focal Loss, validación adversaria de splits, calibración de umbral por matriz de costo, export a ONNX), scoring de fraude e-commerce en tiempo real, AML no supervisado sobre grafos temporales (NetworkX) con explicabilidad SHAP en vivo, y Autoencoder/VAE/Deep SVDD frente a XGBoost supervisado [Reducción de costo = 44.7% vs. umbral 0.5; latencia p99 < 15ms].
- Laboratorio de Scoring de Riesgo Crediticio: Ocho técnicas, cada una con pipeline de un comando y su propia suite de tests (~200 en total) — scorecard políglota R+Python+C, interoperabilidad bidireccional R↔Python (
reticulate/rpy2), Cox PH implementado desde cero (Breslow/Efron, Newton-Raphson amortiguado, test PH de Schoenfeld) para estructura temporal de PD bajo IFRS 9, muestreo de Gibbs jerárquico sobre aumentación Pólya-Gamma, restricciones monotónicas auditadas por contrafactuales + decisión conformal de Mondrian, binning óptimo resuelto por programación dinámica exacta, auditoría de sesgo en préstamo justo, y DP-SGD con contador RDP desde cero validado por ataque de membresía [AUC test = 0.733 scorecard R vs. 0.715 MLP]. - Motor de Fraude Políglota: Arquitectura híbrida de baja latencia con C para el hot-path de scoring, Ruby para el motor de reglas y Python para la inferencia ML [Throughput > 10,000 req/s].
- Riesgo Sistémico Fintech Chile (Políglota): Arquitectura de 6 lenguajes sobre el mercado financiero chileno — ETL Python+DuckDB con indicadores reales del Banco Central, PD con XGBoost+SHAP, LSTM PyTorch, econometría en R (cointegración/Granger/GARCH), clustering en Julia, motor Monte Carlo C++/OpenMP para VaR, y microservicio Go [1M trayectorias Monte Carlo en 14.4ms; hallazgo honesto: el LSTM (51.2%) no supera el baseline de clase mayoritaria (53.6%)].
- Detección de Fraude Bancario (PaySim): Isolation Forest/LOF vs. baseline MAD-z vs. Autoencoder PyTorch sobre transacciones simuladas PaySim.
- Laboratorio Quant Cripto: Ocho técnicas cuantitativas sobre datos reales de Binance, cada una en su carpeta — clasificación de dirección con deep learning (Dense NN y Conv1D-Attention), impacto de precio y liquidez (Ridge/XGBoost/MLP Huber), pares cointegrados con Engle-Granger y hedge ratio dinámico por Filtro de Kalman, optimización de portafolio media-varianza, detección de régimen por clustering, screening de sentimiento con FinBERT vs. TF-IDF, detección de spoofing en libro de órdenes, y framework de backtesting con persistencia en DuckDB [Sharpe Ratio = 1.84 backtested en el par cointegrado].
- Costo de Cambiarse de Fondo de Pensiones: Cuánto cuesta realmente cambiarse de fondo en pánico durante una caída, medido sobre datos diarios reales de la Superintendencia de Pensiones (2002-2026, ~278k filas).
- Pricing de Opciones Monte Carlo en C++: Motor Monte Carlo multi-hilo en C++20 (OpenMP) usando el modelo de reversión a la media de Schwartz (1997) para valoración de opciones asiáticas sobre cobre [1M trayectorias en <250ms].
- Leyendo la Turbulencia del Mercado: Forecasting de volatilidad realizada sobre 24.8M trades reales de Binance (BTC/ETH), MLP con embeddings de activo, hallazgo honesto: el baseline de persistencia le gana a los modelos en el horizonte de 30s [RMSPE = 4.58 baseline].
- Pronosticador de Volatilidad del Cobre: Forecasting de volatilidad realizada del cobre con MLP PyTorch (Huber + RMSPE) sobre baseline estadístico.
- Desequilibrio de Order Book de Litio (C++): Motor C++ de bajo overhead para desequilibrio de libro de órdenes [95/95 tests pasando].
- Motor de Anomalías en Ticks de Mercado (C++): Detección de anomalías en ticks con EWMA-zscore, CUSUM y ensamble [Throughput ~7.26M ticks/seg].
- Laboratorio de Clasificación Científica: Dos problemas de clasificación en ciencias físicas — eventos de colisión ATLAS/CERN (818k eventos, imputación con causa física por multiplicidad de jets, CatBoost/LightGBM/PyTorch optimizados para la métrica AMS del challenge original) y tránsitos de exoplanetas Kepler (9.564 objetos vía la API pública del NASA Exoplanet Archive, XGBoost+SHAP vs. ablación PyTorch ReLU/GELU/Swish) [AMS = 3.58 honesto vs. 3.8-3.9 del leaderboard histórico; Accuracy = 79.3% XGBoost vs. 49.8% baseline en Kepler].
- Laboratorio de Predicción de Falla desde Señal: Tres dominios de predicción de tiempo hasta falla desde señal continua — RUL multitarea de flota minera, vibración real de rodamientos (NASA/IMS, 3 bancos run-to-failure, FFT + features espectrales, GroupKFold leave-one-experiment-out) y señal acústica sísmica (LANL) [MAE = 21.6% de vida restante en rodamientos, tras corregir un bug real de escala temporal].
- Limpieza_Datos: Toolkit + 4 Dominios Reales: Toolkit reusable de limpieza/modelamiento (
src/toolkit/) probado contra 4 bases de datos públicas reales e independientes -- finanzas (Banco Central de Chile), minería del cobre (COCHILCO), agricultura (Banco Mundial), y un Excel de 80MB del Banco Mundial transformado en data warehouse real (DuckDB). >=100 épocas por modelo, 91 tests reales, 3 bugs reales encontrados y corregidos (dato corrupto de fuente, dos colapsos "dying ReLU" distintos), cada gráfico comentado con los números concretos detrás.
- Agente de Operaciones Mineras (Tool-Calling): Agente con el SDK de OpenAI que despacha herramientas Python reales (consultas a warehouse DuckDB, scoring de riesgo, detección de anomalías) en vez de responder desde texto libre, con gráficos de evaluación reales (ROC/PR, scores de anomalía) generados a partir de las mismas tools [43/43 tests, incl. dispatch con cliente OpenAI mockeado].
- Eficiencia de YOLOv8 en Edge AI (Tesis): Rediseño del head de YOLOv8 con Depthwise Separable Convolutions, entrenado desde cero sobre COCO2017 y medido en GPU, CPU y Raspberry Pi 4 bajo el mismo protocolo — 68% menos parámetros (3.99M → 1.26M) y ~10x más rápido en Raspberry Pi [0.68 vs. 0.07 FPS y 1.48s vs. 13.93s por imagen en RPi 4; costo honesto: mAP50 0.175 vs. 0.212].
- Plataforma MLOps de Churn: Pipeline de retención en tiempo real contenerizado con Docker, calibración de umbral ponderado por LTV, FastAPI y dashboard ROI en Streamlit [Retención optimizada +18%].
- Ubicación: Santiago, Chile 🇨🇱
- LinkedIn: linkedin.com/in/pablo-reyes-pino
- Email: preyesp09@gmail.com
Data Scientist graduated from Universidad Mayor, specialized in industrial analytics for mining and energy. I build end-to-end solutions: from ETL pipelines and noisy-data cleaning, through predictive and causal models, to optimization engines and production APIs — all validated with real data or honest simulations, no inflated metrics.
Every repo on this profile runs end to end (python -m src.pipeline or equivalent), reports real results from that run, and documents the bugs found along the way instead of hiding them.
My core specialization — industrial analytics applied to real Chilean mining and energy operations.
- Geometallurgical Flotation Optimization (Cu/Mo): Leak-free XGBoost+CatBoost ensemble, two optimization engines (Genetic Algorithm +
scipy.optimize) cross-validated against each other. - Mining Fleet Causal Impact: Real causal impact (not just correlation) of a predictive-maintenance program: Doubly Robust Learners, Causal Forest, sensitivity analysis.
- SAG Digital Twin (Energy Efficiency): Kalman Filter for ore-hardness soft-sensing + energy-demand forecasting for SAG milling.
- Mining Analytics Data Warehouse: dbt + DuckDB (staging → marts, 83 tests), unifying flotation, CAEX maintenance, and safety data.
- Predictive Maintenance & RUL: Survival Analysis (CoxPH) and Gradient Boosting for haul-truck Remaining Useful Life.
- Blast/Grade Quality (.NET): ML.NET pipeline in C# comparing SDCA vs. FastTree to predict post-blast ore grade quality [R² = 0.860 SDCA vs. 0.833 FastTree].
- Power Grid Forecasting (Marginal Cost): Baseline/ensemble/PyTorch MLP comparison (Huber loss) with Swish winning over LightGBM and XGBoost [WAPE = 5.42% MLP vs. 6.26% LightGBM vs. 7.06% XGBoost].
- Power Grid Forecasting in R: R variant of the marginal-cost forecast, comparing four statistical approaches (ARIMA/SARIMAX/TBATS/ETS/GARCH) with rolling cross-validation.
- Mining Procurement Anomaly Engine: Z-score + Isolation Forest + PyTorch Autoencoder to flag anomalous purchases and suppliers in the mining supply chain.
- Chile Mining Safety RAG: Hybrid retrieval (BM25 + dense embeddings) with a cross-encoder reranker over Chilean mining safety regulations.
- Spatial Logistics Optimization: Vehicle routing optimization (VRP) fed by a demand-forecasting module comparing Ridge/RF/MLP as routing input.
- Fraud & AML Detection Lab: Four techniques in one repo, each in its own folder with its own pipeline — a multi-language pipeline over 568k real transactions (LogReg+SMOTE, CatBoost, XGBoost, PyTorch MLP with Focal Loss, adversarial split validation, cost-matrix threshold calibration, ONNX export), real-time e-commerce fraud scoring, unsupervised AML over temporal graphs (NetworkX) with live SHAP explainability, and Autoencoder/VAE/Deep SVDD against supervised XGBoost [44.7% cost reduction vs. a 0.5 threshold; p99 latency < 15ms].
- Credit Risk Scoring Lab: Eight techniques, each with a one-command pipeline and its own test suite (~200 tests total) — polyglot R+Python+C scorecard, bidirectional R↔Python interop (
reticulate/rpy2), Cox PH implemented from scratch (Breslow/Efron, damped Newton-Raphson, Schoenfeld PH test) for an IFRS 9 PD term structure, hierarchical Bayesian Gibbs sampling on Pólya-Gamma augmentation, monotonic constraints audited by counterfactual perturbation + Mondrian conformal decisioning, optimal binning solved by exact dynamic programming, fair-lending bias audit, and DP-SGD with a from-scratch RDP accountant validated by a membership-inference attack [Test AUC = 0.733 R scorecard vs. 0.715 MLP]. - Polyglot Fraud Engine: C for the scoring hot-path, Ruby as the rules engine, Python for the final model — 45 end-to-end tests.
- Chile Fintech Systemic Risk (Polyglot): 6-language architecture over the Chilean financial market — Python+DuckDB ETL on real Central Bank indicators, XGBoost+SHAP PD model, PyTorch LSTM, R econometrics (cointegration/Granger/GARCH), Julia clustering, a C++/OpenMP Monte Carlo VaR engine, and a Go microservice [1M Monte Carlo paths in 14.4ms; honest finding: the LSTM (51.2%) doesn't beat the majority-class baseline (53.6%)].
- Bank Fraud Detection (PaySim): Isolation Forest/LOF vs. MAD-z baseline vs. PyTorch Autoencoder over simulated PaySim transactions.
- Crypto Quant Techniques Lab: Eight quantitative techniques over real Binance data, each in its own folder — direction classification with deep learning (Dense NN and Conv1D-Attention), liquidity and price impact (Ridge/XGBoost/Huber MLP), cointegrated pairs with Engle-Granger and a Kalman-filtered dynamic hedge ratio, mean-variance portfolio optimization, regime detection by clustering, sentiment screening with FinBERT vs. TF-IDF, order-book spoofing detection, and a backtesting framework persisting to DuckDB [Sharpe Ratio = 1.84 backtested on the cointegrated pair].
- Pension Fund Switching Cost: What panic-switching pension funds during a drawdown actually costs, measured on real daily data from Chile's Superintendencia de Pensiones (2002-2026, ~278k rows).
- Monte Carlo Options Pricing in C++: Multi-threaded Monte Carlo engine in pure C++, Schwartz (1997) mean-reverting model for copper Asian options.
- Reading Market Turbulence: Realized volatility forecasting on 24.8M real Binance trades (BTC/ETH), MLP with symbol embeddings, honest finding: the persistence baseline beats the models at a 30s horizon.
- Copper Volatility Forecaster: Realized copper volatility forecasting with a PyTorch MLP (Huber + RMSPE) against a statistical baseline.
- Lithium Order Book Imbalance (C++): Low-overhead C++ engine for order book imbalance [95/95 tests passing].
- Market Tick Anomaly Engine (C++): Tick-level anomaly detection with EWMA-zscore, CUSUM, and ensemble [~7.26M ticks/sec throughput].
- Scientific Classification Lab: Two classification problems from the physical sciences — ATLAS/CERN collision events (818k events, physically-caused missing-value imputation by jet multiplicity, CatBoost/LightGBM/PyTorch optimized for the challenge's own AMS metric) and Kepler exoplanet transits (9,564 objects via NASA's public Exoplanet Archive API, XGBoost+SHAP vs. a PyTorch ReLU/GELU/Swish ablation) [AMS = 3.58 honest vs. 3.8-3.9 on the historical leaderboard; 79.3% accuracy XGBoost vs. 49.8% baseline on Kepler].
- Failure Prediction from Signal Lab: Three domains of time-to-failure prediction from continuous signal — multi-task mining-fleet RUL, real bearing vibration (NASA/IMS, 3 run-to-failure rigs, FFT + spectral features, leave-one-experiment-out GroupKFold), and acoustic seismic signal (LANL) [MAE = 21.6% of remaining life on bearings, after fixing a real time-scale bug].
- Limpieza_Datos: Toolkit + 4 Real Domains: Reusable cleaning/modeling toolkit (
src/toolkit/) proven against 4 real, independent public datasets -- Chilean finance (Banco Central de Chile), copper mining (COCHILCO), agriculture (World Bank), and an 80MB World Bank Excel turned into a real DuckDB warehouse. >=100 epochs per model, 91 real tests, 3 real bugs found and fixed (a corrupted source data point, two distinct "dying ReLU" collapses), every chart captioned with the concrete numbers behind it.
- Mining Ops Tool-Calling Agent: OpenAI SDK agent that dispatches real Python tools (DuckDB warehouse queries, credit-risk scoring, anomaly detection) instead of answering from free text, with real evaluation plots (ROC/PR, anomaly scores) generated from those same tools [43/43 tests, incl. tool dispatch with a mocked OpenAI client].
- YOLOv8 Edge AI Efficiency Benchmark (Thesis): Redesigned the YOLOv8 Head with Depthwise Separable Convolutions, trained from scratch on COCO2017 and benchmarked on GPU, CPU and Raspberry Pi 4 under one protocol — 68% fewer parameters (3.99M → 1.26M) and ~10x faster on Raspberry Pi [0.68 vs. 0.07 FPS and 1.48s vs. 13.93s per image on the RPi 4; honest cost: mAP50 0.175 vs. 0.212].
- Customer Churn MLOps Platform: Real-time retention engine with MLflow tracking, FastAPI inference, and a Streamlit ROI simulator.
- Location: Santiago, Chile 🇨🇱
- LinkedIn: linkedin.com/in/pablo-reyes-pino
- Email: preyesp09@gmail.com
