Saltar al contenido principal
RM
TrabajoSobre míFotografíaContacto
ENES
← Casos de estudio

Caso de estudio

Producto de datos / Motor benchmark desde datos raw

Benchmark Intelligence Engine

Un dashboard benchmark raw para cuota, ranking, monetización, agregación y escenarios locales de forecast.

Un dashboard público de inteligencia benchmark que convierte cinco años de observaciones mensuales sintéticas de revenue y tráfico en análisis de cuota del set benchmark, rankings, diagnóstico de monetización, agregación por periodo y forecasts locales de escenario. El sistema empieza con 480 filas mensuales raw y genera en código la capa de inteligencia: filas benchmark, cuotas, rankings, métricas de eficiencia, crecimiento y escenarios de forecast.

Solo en modo demo: compañías sintéticas, valores sintéticos y etiquetas públicas; sin datos reales de compañías, clientes, logos ni fuentes privadas.

Ver la demo pública →Ver el repositorio →
React/Vitesource_monthly480 filas rawForecast localDatos sintéticos publicables
Dashboard ejecutivo benchmark generado desde cinco años de datos mensuales raw sintéticos
Resumen ejecutivo generado desde cinco años de datos mensuales raw sintéticos. Solo datos sintéticos.
  • Cambio /
  • Arquitectura /
  • Pantallas /
  • Datos /
  • Seguridad /
  • Resultado

Resumen del caso

El brief estratégico

El problema, la respuesta del sistema, la prueba disponible, el valor estratégico y el límite intencional.

Ruta de lectura
  1. 01Resumen
  2. 02Problema
  3. 03Sistema
01Problema
El análisis benchmark es difícil de repetir cuando observaciones raw, definiciones métricas, validación, escenarios y preguntas ejecutivas están desconectadas.
02Sistema
Un motor benchmark desde datos raw con contrato source_monthly, pipeline canónico de métricas, filas benchmark generadas, vistas ejecutivas y forecasts locales de escenario.
03Prueba
Repo seguro para publicar, 480 filas mensuales sintéticas, market_total y market_average generadas, vistas Players/Battle Arena funcionando, validación y forecast etiquetado.
04Valor
Ayuda a responder quién gana cuota del set benchmark, quién es más eficiente, qué players mejoran y qué escenario revisar.
05Límite
El caso público usa compañías y valores sintéticos; los forecasts son proyecciones de escenario, no predicción real de mercado.
Ver prototipoVer GitHub

Contexto de negocio

El problema de flujo del proyecto

El análisis competitivo suele vivir en hojas de cálculo, capturas y decks aislados. Las mismas preguntas se repiten: quién gana cuota, quién es más eficiente, qué players mejoran y qué podría pasar después.

Sistema / Solución

Cómo se acota el flujo

Un contrato source_monthly alimenta un pipeline canónico que valida observaciones raw, genera filas benchmark, calcula cuotas/rankings/eficiencia, crea escenarios locales de forecast y renderiza el resultado en un dashboard ejecutivo React/Vite.

Inputs

480 observaciones mensuales raw: 8 compañías sintéticas durante 60 meses, más 12 eventos sintéticos publicables.

Flujo

Validación, pipeline benchmark canónico, filas market_total y market_average generadas, forecast, modelos de vista y checks de publicación.

Lógica de proceso

Cuota del set benchmark, rankings, crecimiento, métricas indexadas, revenue per visit, monetization gap, agregación y métricas derivadas del forecast se calculan en código.

Resultado

Dashboard ejecutivo, Players/perfiles, Battle Arena, vista de forecast, rankings y estado de datos publicable.

Límites

Disciplina de datos sintéticos, cero datos reales de clientes o competidores y validación de publicación antes de desplegar.

Qué cambió

De JSON preparado a inteligencia benchmark generada

Reconstruí el proyecto en varios sprints: de JSON preparado para dashboard a observaciones raw en source_monthly, de filas benchmark estáticas a market_total y market_average generadas, de métricas precalculadas a cálculos runtime, y de rutas frágiles a Battle Arena y Players/perfiles funcionando.

480filas mensuales raw
8 × 60compañías sintéticas × meses
12eventos sintéticos

Contrato raw

El JSON público guarda solo observaciones mensuales raw. Los payloads legacy con data.interface siguen soportados por compatibilidad, pero ya no son la fuente preferente.

Filas benchmark generadas

market_total y market_average se generan en runtime desde las filas observadas de compañías y se excluyen de denominadores de cuota y rankings cuando corresponde.

Métricas generadas

Cuota, rankings, crecimiento, métricas indexadas, revenue per visit, monetization gap, agregación anual y rangos se calculan en código.

Vistas de producto

Dashboard ejecutivo, Players/perfiles, rutas #/company/:id, rutas legacy #/empresa/:id, Battle Arena y Forecast funcionan desde filas canónicas generadas.

Arquitectura

El pipeline repetible detrás de la capa visual

La arquitectura final separa datos fuente e inteligencia benchmark. Revenue y visitas mensuales entran por data.source_monthly; el pipeline canónico valida filas, normaliza entidades, calcula métricas benchmark, genera filas sintéticas, crea forecasts, recalcula métricas derivadas y devuelve filas listas para el dashboard.

Datos source_monthly raw→Validación→Pipeline benchmark canónico→Métricas derivadas→Filas benchmark sintéticas→Forecast local→Dashboard React/Vite
01

Observaciones raw

Cinco años de revenue y visitas mensuales sintéticas: de 2021-01-01 a 2025-12-01.

02

Validación

Acepta filas source_monthly y rechaza métricas benchmark derivadas en la capa raw.

03

Pipeline canónico

Construye filas listas para dashboard desde observaciones raw y mantiene el JSON público pequeño, legible y seguro.

04

Inteligencia derivada

Calcula cuota del set benchmark, rankings, valores indexados, crecimiento, revenue per visit y monetization gap.

05

Forecasts de escenario

El default local_engine proyecta revenue y visitas y vuelve a pasar las filas forecast por el pipeline benchmark.

06

Interfaz del panel

Renderiza overview de mercado, Players, Battle Arena, perfiles, escenarios de forecast y contexto de salud de datos.

Prueba visual

Vistas de producto desde métricas benchmark generadas

La interfaz publicada muestra la superficie de producto alrededor del pipeline: overview ejecutivo, rankings, movimiento de cuota, Players/perfiles, Battle Arena y escenarios de forecast generados desde el histórico de cinco años.

Navegación del panel benchmark con pestañas Panel principal, Entidades, Comparativa y Previsión
Selector de vistas

La interfaz se organiza en modos ejecutivos funcionales: overview de mercado, Players, Battle Arena y espacio de forecast.

Selector temporal del panel benchmark con modo año y disponibilidad de métricas
Tiempo y disponibilidad

La agregación anual y por rango se calcula sumando revenue y visitas, y después recalculando las métricas benchmark del periodo.

Ranking competitivo sintético con tabla de facturación y gráfico de distribución
Ranking competitivo

Ranking con cuotas y posiciones generadas para el set benchmark, útil para comparación ejecutiva sin datos reales de compañías.

Gráfico sintético de momentum de crecimiento indexado entre entidades benchmark
Momentum de crecimiento

El crecimiento indexado y los cambios YoY/MoM se generan desde observaciones mensuales raw, no como valores finales guardados en el dashboard.

Perfil sintético de entidad con resumen ejecutivo y tarjetas KPI
Perfil de entidad

Perfil de compañía con métricas históricas y forecast generadas, disponible vía #/company/:id y rutas legacy #/empresa/:id.

Gráfica sintética de entidad con selección de series benchmark e histórico de facturación
Gráfico de entidad

El gráfico enfocado compara una entidad con market_average generado o con pares seleccionados en métricas benchmark históricas.

Comparativa sintética entre dos entidades por visitas, facturación, cuota y eficiencia
Comparativa directa

Battle Arena compara dos players sintéticos con métricas generadas de escala, cuota, crecimiento y eficiencia.

Proyección sintética de mercado con visitas y facturación proyectadas por entidad
Previsión de mercado

Vista de forecast con proyecciones locales de escenario que empiezan después de 2025-12-01 y recalculan filas benchmark por escenario.

Histórico observado y previsión sintética de una entidad benchmark
Previsión por entidad

base_case, conservative y aggressive incluyen diagnósticos de confianza y se presentan como proyecciones de escenario.

Contrato de datos

source_monthly es el contrato fuente

El JSON guarda solo observaciones mensuales raw. La app genera las filas de interface internamente: forecast rows, market_total, market_average, cuota, rankings, métricas indexadas, crecimiento, revenue per visit y monetization gap se generan en código.

data-contract.json
{
  "ok": true,
  "meta": {
    "dataset_name": "Demo Benchmark Dataset",
    "currency": "EUR",
    "source_type": "raw_monthly_observations",
    "data_policy": "Synthetic demo data only. No real company or client data is included."
  },
  "data": {
    "source_monthly": [
      {
        "date": "2025-01-01",
        "company_id": "focus",
        "display_name": "Focus Brand",
        "market": "Demo Market",
        "type": "own",
        "revenue": 125000,
        "visits": 82000,
        "active": true
      }
    ]
  }
}
source_monthly
Observaciones mensuales raw con date, company_id, display_name, market, type, revenue, visits y estado active.
generated rows
market_total, market_average y forecast rows se generan en runtime; no se guardan como registros fuente.
generated metrics
Cuota, rankings, métricas indexadas, crecimiento, revenue per visit y monetization gap se recalculan en el pipeline canónico.

Disciplina de publicación

Los datos sintéticos son parte del diseño del producto

El repo está diseñado para inspección pública. Usa nombres y valores sintéticos, cero datos privados de clientes, cero credenciales, ningún backend obligatorio, ninguna dependencia de API de pago, scripts de validación, auditoría pública, notas de seguridad, documentación de despliegue y un generador determinista de datos demo.

pnpm generate:datapnpm testpnpm buildpnpm validate:datapnpm audit:publicpnpm typecheckpnpm lint
  • Sin datos reales de compañías, competidores reales, datos privados de clientes, credenciales ni URLs privadas.
  • La demo pública usa por defecto un motor estadístico local; no requiere Python, pesos de modelo, backend ni API de pago.
  • TimesFM queda como infraestructura opcional y no es el posicionamiento de la demo pública.

Resultado

Un motor benchmark publicable

El resultado es un motor repetible de inteligencia benchmark que empieza con observaciones sintéticas raw y produce la capa analítica necesaria para vistas ejecutivas de cuota, ranking, monetización, agregación y escenarios.

Construcción

  • Contrato source_monthly limpio con 5 años de datos mensuales sintéticos: 8 compañías × 60 meses = 480 filas.
  • Pipeline benchmark canónico que genera market_total, market_average, cuota del set benchmark, rankings, crecimiento, métricas indexadas, revenue per visit y monetization gap.
  • Motor local de forecast de escenarios que proyecta revenue y visitas, y recalcula cuotas, rankings, eficiencia y filas benchmark para cada escenario.

Resultado

  • Dashboard ejecutivo, Players/perfiles, Battle Arena, Forecast, rutas #/company/:id y soporte legacy #/empresa/:id funcionando.
  • Repo public-ready con generate:data, validación, auditoría pública, documentación de despliegue, notas de seguridad y checklist de release.
  • Demo segura para portafolio que muestra el producto sin exponer compañías reales, datos reales de clientes ni infraestructura privada.
Ver la demo pública →Ver el repositorio →
ConclusiónUn pipeline repetible de inteligencia convierte los datos fuente en la capa de gráficos.

Por qué importa

La fiabilidad pesa más que la novedad

La inteligencia competitiva gana valor cuando la lógica de análisis es repetible. Este proyecto convierte observaciones mensuales raw en un pipeline benchmark inspeccionable en vez de tratar el dashboard como todo el producto.

Uso para clientes

Dónde se vuelve útil

Una versión para cliente podría ayudar a equipos de marca, ecommerce, marketing o estrategia a comparar mercados, monitorizar posicionamiento, diagnosticar gaps de monetización y producir lecturas ejecutivas sin rehacer el análisis desde cero.

Hablar de un sistema similar

¿Tienes un sistema que merece desarrollarse?

Si tu equipo tiene un proceso creativo, herramienta interna, flujo de campaña o sistema de marca que merece ampliarse con IA, envía un brief breve y te ayudo a definir la lógica más clara.

Enviar brief de proyecto

Sistemas relacionados

Continúa por una lógica de producto, prueba o dirección creativa relacionada.

Inteligencia de marketing / Producto de datosCampaign PulseVer caso →Sistemas de IA / Flujo analíticoDataBrief AIVer caso →
Volver arriba

En otros sitios

  • GitHub
  • Instagram
  • LinkedIn
  • Unsplash
  • X / Twitter

Estudio

  • Sobre mí
  • Contacto
  • Disponibilidad

Servicios

  • Desarrollo Web y Experiencias Digitales
  • Integraciones IA para Sistemas Creativos
  • Sistemas de Marca y Dirección Creativa
  • Datos, Investigación e Inteligencia
  • Productos Digitales, IA y Prototipado
RaúlMermans©2026

Diseñado y desarrollado por Raúl Mermans.

Con base en Madrid

Abierto a proyectos y colaboraciones seleccionadas.

Política de privacidadTérminos del servicio