data-metrics.pro/Servicios/Odoo Analytics
● Servicio · Data warehouse + BI + ML básico · 6 – 14 semanas

Odoo con cerebro de datos. Literalmente.

Tu Odoo es el corazón — bombea operaciones. Le falta el cerebro — un data warehouse separado que responde lo que los reportes nativos no responden: margen real por canal, churn proyectado, food cost por SKU, demand forecasting a 8 semanas. Eso lo construyo yo.

9 años
data engineering
// Estée Lauder · gran combinado metalúrgico · Dodo · QIC · Aeroflot
+$8.5B
transacciones bajo análisis
// 6 carreras enterprise
10 – 25
dashboards por proyecto
// no «un Tableau bonito»
B → S → G
medallion architecture
// estándar Databricks
100M+
filas / mes en pipelines
// production-grade · no demo
// flujo del servicio LIVE
EXTRACTTRANSFORMLOADAGGPREDICTALERTRENDER
// 01 · TL;DR

El servicio, en cuatro frases.

Para los que llegaron desde LinkedIn y solo tienen 30 segundos. Si quieres profundidad, sigue scrolleando.

01

Tu Odoo no responde preguntas analíticas.

Es un ERP — pensado para operar, no para decidir. ¿Cuál fue mi margen real por canal en los últimos 90 días, deduciendo descuentos y mermas? ¿Qué clientes están a 30 días de churn? Estos números no salen de los reportes nativos.

02

Construyo un data warehouse separado.

Bronze → Silver → Gold encima de tu Postgres Odoo (replicación CDC) + integraciones externas (Shopify · ML · pasarelas de pago · Meta · Google Ads). Stack: Airflow + ClickHouse / BigQuery según volumen.

03

10–25 dashboards iterados con tu equipo.

Metabase free para PYME · Looker / Power BI / Superset según preferencia. Itero 4–6 dashboards por sprint según uso real. Si nadie abre el dashboard, lo mato y construyo otro.

04

Diccionario de métricas obligatorio.

Cada KPI tiene una definición SQL inequívoca. «Margen» significa una cosa, no cinco. Tu CFO y tu COO miran el mismo número — no algo que cambia según quien preguntó.

// 02 · El problema

Por qué llegaste aquí.

  1. 01

    5 definiciones de «margen».

    Cada departamento calcula diferente. Ventas suma sin restar promociones. Finanzas resta IVA. Operación incluye fletes. CEO no sabe cuál creer.

    5 verdades
  2. 02

    Reportes nativos lentos.

    Los report.xml con joins de 6 tablas tardan 8+ segundos. Tu equipo deja de consultarlos. Y empieza a operar a ciegas.

    8 s
  3. 03

    Excel paralelo crece sin control.

    14 archivos con la palabra «final» en el nombre. Cada uno con fórmulas distintas. Bus factor 1 persona que recuerda cómo se calcula cada cosa.

    14 «final»
  4. 04

    CFO baja CSV los lunes.

    4 horas semanales descargando exports manuales y pegándolos en otro Excel. Cuando se acaba el mes, son 16 horas + posible error humano.

    4 h/sem
  5. 05

    Decisiones con datos de hace 7-10 días.

    El comité directivo decide promociones, asignaciones de inventario, contrataciones — con cifras de la semana pasada. En e-commerce eso son 7–10 días de oportunidad perdida.

    7–10 d
  6. 06

    Forecasting = «el dueño tiene un feeling».

    Demanda, churn, fraude — todo decidido por intuición. Tienes 12-24 meses de datos en Odoo y no los estás explotando.

    0 ML
// CFO en exports manuales
4h/sem
// decisiones tarde vs competencia
5/5
// ingresos perdidos por decidir sin datos
$40 – 120k/año
// 03 · La solución

Lo que construimos contigo.

No vendemos plantillas — construimos capas finas que comunican lo que ya existe.

SUPERFICIE 01

Dashboard ejecutivo · una pantalla, 8 KPIs, cero ambigüedad

Mismo número, mismo momento, mismo significado para CEO/CFO/COO. Revenue 7d, Margin 7d, Churn 30d, AOV, Stock-out, Forecast 8w, Top/Bottom SKU.

SUPERFICIE 02

Diccionario de métricas · 1 definición SQL por KPI

«Margen» significa una cosa, no cinco. Definición SQL inequívoca, owner asignado, validado en CI/CD. Tu equipo deja de pelear por las cifras.

SUPERFICIE 03

Anomaly alerts en Slack · te avisa antes que tu equipo

Reglas + ML. Si churn salta 30% en una cohorte, llega un mensaje a quien tiene que actuar — antes que el problema llegue a tu CEO por reclamo.

SUPERFICIE 04

Forecast 8 semanas · demanda, churn, lead scoring

ML básico cuando tiene ROI claro. No vendo «IA» — vendo modelos que pagan factura en < 6 meses. LightGBM · MAPE 6.2%.

// 04 · Pieza firma

Recorrido Bronze → Silver → Gold · un pedido, 9 capas, 2.3 segundos

Sigue un solo sale.order.line desde que se crea en Odoo hasta que aparece como KPI en el dashboard del CEO. 9 pasos. Stack visible. Latencias reales.

  1. 01

    01 · ORIGEN — Cliente crea pedido en Odoo

    sale.order.create() en producción. Fila nueva en sale_order + N filas en sale_order_line. Latencia: 0 ms.

  2. 02

    02 · CDC — Debezium captura el INSERT

    Postgres logical replication detecta el cambio. Debezium emite evento JSON al Kafka topic odoo.sale_order. Latencia: ~50 ms.

  3. 03

    03 · BRONZE — Aterriza en ClickHouse raw

    Tabla bronze.sale_order_raw. Sin tocar nada — solo _ingested_at. Una fila exacta como salió de Odoo. Latencia: ~200 ms.

  4. 04

    04 · BRONZE — Eventos paralelos · payments

    En paralelo: Stripe webhook, Kushki webhook, Mercado Libre webhook llegan al mismo topic. Bronze guarda los 4. Latencia: ~250 ms.

  5. 05

    05 · SILVER — Airflow corre el DAG silver

    DAG cada 5 min. Lee bronze, hace clean + join + dedup + null-handling. Crea fila en silver.sale_order_clean. Latencia: +5 min.

  6. 06

    06 · SILVER — Cross-join con catálogo + cliente

    Join con dimensiones dim_product, dim_customer, dim_location. Ahora la fila tiene 47 columnas — incluido cohort, channel, region, discount_pct. Latencia: +5 s.

  7. 07

    07 · GOLD — Pre-aggregation a fact

    DAG gold cada 15 min. Pre-agrega a fact_sales_daily. KPIs como margen_bruto_7d, aov_7d, cohort_retention ya pre-calculados. Latencia: +15 min.

  8. 08

    08 · METRIC — Diccionario de métricas valida

    Cada KPI tiene una definición en YAML. CI/CD valida que la query SQL coincida con la definición. Si CFO y CEO miran el mismo número — es el mismo SQL.

  9. 09

    09 · DASHBOARD — Render en Metabase · CEO ve KPI

    Dashboard cargado en 2.3 s (cache Redis · TTL 5 min). CEO ve «Margen 7d: 31.8% ▼0.4pp». Mismo número que CFO. Mismo número que COO. Cero ambigüedad.

// 05 · Arquitectura

Cómo está armado.

L1

Ingestion

Cómo entra el dato al warehouse
CDC
Debezium + Postgres logical replication
EVENT BROKER
Apache Kafka (o Redpanda self-hosted)
EXTERNAL API
Airbyte · Fivetran según pricing
WEBHOOK
n8n + custom Python (idempotencia)
L2

Storage

Dónde vive el dato
OLAP COLUMNAR
ClickHouse self-hosted (≥ 100M filas/mes)
SERVERLESS
BigQuery (< 100M filas/mes)
LAKEHOUSE
Delta Lake en S3 (multi-tenant grande)
OLTP REPLICA
Postgres réplica read-only
L3

Transform & orchestration

Cómo se modela
ORCHESTRATOR
Apache Airflow self-hosted
TRANSFORM
dbt Core · 80–150 modelos
STREAMING
Spark Structured Streaming (cuando aplica)
ML PIPELINE
MLflow + LightGBM / Prophet
L4

Surfaces

Cómo se ve
BI MASIVO
Metabase (gratis para empezar)
BI ENTERPRISE
Looker · Power BI · Superset
ALERTAS
Slack bot + Telegram
EXEC MOBILE
Custom React Native (opcional)
// 06 · Evidencia

Los números reales.

Métricas observadas en proyectos concretos. Baseline antes vs estado después de la intervención.

Métrica Antes Después Δ
Tiempo en exports manuales
16 h/sem
0 h/sem
−100%
Latencia decisión → datos
7-10 días
< 20 min
−99%
Definiciones de KPI distintas
5
1
−80%
Dashboards usados activamente
3/24
12/18
+75%
Forecast MAPE
n/a
6.2%
first quarter
Tiempo de cierre contable
9 días
4 horas
~50× más rápido
Alertas accionables / mes
0
47
+47
Adopción de power users
2
8
+300%

«Pasamos de discutir cifras en reuniones a discutir decisiones. Las cifras ya no se discutían — todos veían el mismo número, definido en SQL, validado en CI. Esto no es BI bonito — es infraestructura de decisión.»

A
Anónimo CEO · PYME e-commerce · México · 80 empleados
Inversión proyecto USD 8 – 40 k // según perfil
Ahorro horas operativas 64 h/mes // CFO + COO + analistas
Payback 4 – 9 meses // según volumen
ROI a 24 meses 3 – 6× // + decisión más rápida
// 07 · Objeciones

Tres preguntas reales — y mis respuestas honestas.

L1

¿Por qué no usar los reportes nativos de Odoo?

Funcionan para 5 KPIs simples. Para 50, son lentos y limitados — y no atraviesan integraciones externas (Shopify · Meta Ads · Stripe). Un warehouse separado escala 100×.

L2

¿ClickHouse o BigQuery?

ClickHouse si self-hosted y ≥ 100M filas/mes (más barato a escala). BigQuery si serverless y < 100M filas/mes (menos ops). Te recomiendo según volumen real, no según moda.

L3

¿El ML realmente vale la pena en una PYME?

Para forecasting de demanda y lead scoring: sí — ROI claro en < 6 meses. Para todo lo demás: depende del caso. Te lo digo honesto antes de cobrarte. No vendo IA.

// 08 · Qué incluye

Qué entregamos, sin sorpresas.

  • Diseño de arquitectura medallion (Bronze / Silver / Gold) sobre tu fuente
  • ETL pipelines Airflow desde Odoo Postgres a tu warehouse
  • Modelo dimensional (star schema) optimizado para tus preguntas reales
  • 10–25 dashboards en Metabase / Looker / Superset / Power BI
  • Diccionario de métricas (DEFINE de cada KPI, sin ambigüedad)
  • Anomaly alerts vía Slack / email
  • ML forecasting básico (demanda, churn, fraude) si aplica
  • Capacitación a 2–3 power users de tu equipo
// 09 · Cómo funciona

El proceso en 5 pasos.

  1. 01

    Discovery de preguntas

    Qué decisiones tomas semanalmente. Qué datos te faltan ahora.

  2. 02

    Arquitectura técnica

    ClickHouse / BigQuery / Postgres réplica — según tu volumen y presupuesto.

  3. 03

    ETL + modelo de datos

    Airflow pipeline desde Odoo a warehouse. Star schema.

  4. 04

    Dashboards iterativos

    Sprint de 1 semana = 4–6 dashboards. Iteramos según uso real.

  5. 05

    ML opcional

    Si aplica: forecasting, churn, lead scoring.

Tu Odoo tiene corazón. Le falta cerebro.

Odoo es un ERP excelente. Pero como toda fuente operacional, no está diseñado para responder preguntas analíticas.

  • ¿Cuál fue mi margen real por canal en los últimos 90 días, deduciendo descuentos y mermas?
  • ¿Qué clientes están a 30 días de churn?
  • ¿Cuánto inventario me sobra en SKUs muertos?

Estas preguntas necesitan un data warehouse separado, un modelo dimensional bien hecho, y dashboards que tu equipo realmente abra.

Qué construyo

Odoo (Postgres) → Airflow ETL → ClickHouse/BigQuery → Metabase/Looker

                                  ML forecasting
  • Bronze layer — réplica raw de tablas Odoo + integraciones externas.
  • Silver layer — limpieza, joins, deduplicación, conformación.
  • Gold layer — métricas precalculadas, fact tables y dimensiones.
  • Dashboards — 10–25 paneles iterados con tu equipo según uso real.
  • Diccionario de métricas — qué significa CADA número que ves.

El cerebro que tu Odoo merece

Mi diferenciador no es solo Odoo. Mis 9 años de carrera son data engineering — Estée Lauder, Aeroflot, Dodo Pizza, Qatar Insurance. He construido warehouses con +$8.5B en transacciones bajo gestión.

Tu Odoo + un data warehouse hecho bien = un sistema que decide mejor que tus competidores.

// FAQ

Preguntas que recibo cada semana.

¿Por qué no usar los reportes nativos de Odoo?

Funcionan para 5 KPIs. Para 50, son lentos y limitados. Un warehouse separado escala 100x.

¿ClickHouse o BigQuery?

ClickHouse si self-hosted y >100M filas/mes. BigQuery si serverless y <100M filas/mes. Te recomiendo según volumen real.

¿Y Looker / Power BI?

Metabase es excelente y gratis para empezar. Looker $$$. Power BI si ya usas Microsoft 365. Superset gratis pero learning curve.

¿El ML realmente vale la pena en una PYME?

Para forecasting de demanda y lead scoring: sí, ROI claro en <6 meses. Para todo lo demás: depende del caso. Te lo digo honesto.

¿Tocas mi base de producción Odoo?

No. Replicación CDC + warehouse separado. Tu Odoo en producción no ve mi pipeline. Si mi warehouse cae, tu operación sigue.

¿Multi-empresa / multi-país?

Sí. Patrón normalizado a UTC + locale-aware. Tu CEO ve el LATAM completo en una sola pantalla, con cada país en hora local.