RM
← Casos 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.

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.

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.

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.

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 rawValidaciónPipeline benchmark canónicoMétricas derivadasFilas benchmark sintéticasForecast localDashboard 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.

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.

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 IA similar

¿Tienes un sistema creativo 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.

Sistemas relacionados

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