📊 Revo Analytics — Catálogo de KPIs

Plataforma de Business Intelligence para hostelería que transforma los datos de Revo XEF en indicadores accionables, predicciones y alertas automáticas.

27
EntitySets OData
14
Dashboards
21
Transformers
30+
Tablas BD
10
KPIs Operativos
💡 ¿Por qué lo necesitan?
Revo XEF tiene informes básicos. Revo Analytics convierte esos datos en inteligencia de negocio que genera decisiones rentables.
🎯
Descuentos desglosados por producto
Motor de prorrateo que asigna el descuento de factura a cada línea proporcionalmente. Sabes el descuento real efectivo que tiene cada producto — no solo el total.
❌ Revo: solo muestra descuento total por factura
✅ Analytics: descuento desglosado por producto, camarero, franja horaria
Menu Engineering (Matriz BCG)
Clasifica cada producto: Star (mantener), Plowhorse (subir precio), Puzzle (promocionar), Dog (reformular/eliminar). Decisiones basadas en popularidad × rentabilidad.
❌ Revo: ranking de ventas sin contexto de margen
✅ Analytics: clasificación automática con recomendaciones claras
🔮
Forecast de ventas 30 días
Predicción diaria basada en patrones semanales, estacionalidad y tendencia. Con intervalo de confianza del 80%. Permite planificar compras y personal.
❌ Revo: sin predicciones
✅ Analytics: forecast diario con tendencia rising/stable/falling
🚨
Alertas automáticas
Detecta anomalías sin que nadie las busque: bajadas de ventas >40%, descuentos excesivos, productos inactivos, horarios anómalos, food cost alto, merma excesiva.
❌ Revo: sin alertas proactivas
✅ Analytics: 11 tipos de alerta con severidad y umbrales configurables
🧬
Segmentación de clientes (RFM)
Clasifica clientes en VIP, Frecuente, Ocasional, En riesgo, Perdido según recencia, frecuencia y valor monetario. Permite campañas de retención dirigidas.
❌ Revo: listado plano de clientes sin insights
✅ Analytics: segmentos con cohortes de retención mensuales
💰
Food Cost Real con mermas
Combina automáticamente las ventas de Revo con los costes y mermas registrados en la app OPS. Food Cost, Prime Cost, EBITDA y punto de equilibrio calculados automáticamente.
❌ Revo: no tiene costes ni mermas
✅ Analytics: KPIs operativos en tiempo real + en OData para Power BI
⚖️ Revo XEF vs Revo Analytics
Todo lo que Revo no ofrece y el cliente necesita para tomar decisiones rentables.
FuncionalidadRevo XEFAnalyticsImpacto en el negocio
Ventas por producto✅ Básico✅ AvanzadoMás columnas: margen, coste, descuento desglosado, franja, camarero
Descuento efectivo por líneaSaber qué producto absorbe el descuento realmente
Clasificación ABC (Pareto)Identificar el 20% de productos que generan el 80% de ingresos
Menu Engineering (BCG)Star, Plowhorse, Puzzle, Dog → decisiones de carta
Cross-selling (venta cruzada)Qué productos se compran juntos → sugerencias, combos
Predicción de ventasForecast 30 días → planificar compras y turnos
Segmentación clientes RFMVIP / En riesgo / Perdido → campañas de retención
Cohortes de retención% de clientes que vuelven cada mes
Detección de anomalíasAlertas automáticas sin que nadie las busque
Heatmap ocupaciónDía × hora → optimizar turnos y promociones
Velocidad de servicioTiempos por camarero, mesa, franja → mejora operativa
Análisis de anulacionesScoring de riesgo de fraude 0–100 por camarero
Rendimiento de camareros360°: ventas, tickets, velocidad, descuentos, anulaciones
Simulador de preciosWhat-if: qué pasa si subo/bajo el precio de X
Penetración de categorías% de tickets que incluyen cada categoría
Rentabilidad por productoMargen bruto real con ranking y % contribución
Comparativo YoY✅ Básico✅ AutomáticoVariación vs periodo anterior y vs mismo periodo año pasado
Food Cost realMermas + compras + ventas = food cost real, no teórico
Prime Cost / EBITDAIndicador clave de viabilidad del negocio
Registro de mermasApp de 3 toques para cocina → trazabilidad total
Cierre de turno digitalRating, incidencias, roturas de stock → mejora continua
NPS simplificadoFeedback rápido (1 toque) → medir satisfacción
OData v4 para Power BI✅ 27 entidadesConexión directa Power BI sin intermediarios
Informes exportables✅ PDF básico✅ Interactivos11 tipos de informe generables desde el dashboard
Multi-tenantN/AUn servidor → múltiples clientes aislados
Seguridad y auditoríaLogs de acceso, auditoría de acciones, rate limiting
🖥️ Dashboards y Páginas (14)
Cada página del dashboard consume datos de una o más tablas e incluye KPIs, gráficos y filtros interactivos.
PáginaURLQué muestraDatos origen
📊 Resumen Ejecutivo #resumen KPIs principales, comparativa periodos, top productos, mini-ingeniería de menú, velocidad KpisResumen MenuEng
💰 Ventas #ventas Series temporales, franjas horarias, patrones semanales, ticket medio Facturas VentasLinea
🍕 Productos #productos Ranking, clasificación ABC, Menu Engineering (Star/Plowhorse/Puzzle/Dog), rentabilidad Productos MenuEng Rentabilidad
👥 Personal y Mesas #personal Rendimiento de camareros, rotación de mesas, patrones de descuento por staff Camareros Mesas
🏆 Staff 360 #staff360 Visión 360° por camarero: ventas, tickets, velocidad, descuentos, anulaciones Camareros VelocidadServicio Anulaciones
🌡️ Mapa de Velocidad #heatmapvel Heatmap velocidad servicio: día × franja, cuellos de botella visuales VelocidadServicio Heatmap
🏷️ Descuentos #descuentos Descuento línea vs factura, % efectivo, por producto, camarero, evolución VentasLinea
🎯 Penetración #penetracion % de tickets que incluyen cada categoría, oportunidades de venta sugerida VentasLinea Categorias
🧮 Simulador de Precios #simulador What-if: impacto de cambios de precio en ingresos y margen Productos Rentabilidad
⚖️ Comparativo #comparativo Comparación período vs período y YoY automático KpisResumen
🔬 Análisis Avanzado #analisis Cross-selling, cohortes de retención, forecast, segmentación clientes Combinaciones Cohortes Forecast Clientes
🔔 Alertas #alertas Centro de alertas: filtros por severidad y tipo, timeline, resolución Alertas
📄 Informes #informes 11 tipos de informe generables: completo, comparativa, cierre, semanal, heatmap, ABC, menú, personal, velocidad, forecast, anulaciones, cross-selling, clientes Todos
🔐 OPS Security #opssecurity Logs de acceso, auditoría, gestión de PINs, intentos fallidos, brute-force AccessLog AuditLog

Nota: La app OPS (🍳) es una PWA independiente para cocina/sala/gerente, accesible desde el sidebar vía ops.html. Role-based con 3 PINs.

📈 KPIs Analíticos — Detalle
Calculados automáticamente por el pipeline ETL a partir de los datos de Revo XEF.
KPI / AnálisisTransformerFórmula / MétodoOData EntityPara qué sirve
Ticket mediokpi_calculatorΣ total_final / count(facturas)KpisResumenEvolución del gasto medio por visita
Ingreso por comensalkpi_calculatorΣ ventas / Σ comensalesKpisResumenRentabilidad real por persona
Variación vs periodo anteriorkpi_calculator(ventas_actual − ventas_anterior) / ventas_anterior × 100KpisResumenTendencia inmediata
Variación YoYkpi_calculator(ventas_actual − ventas_yoy) / ventas_yoy × 100KpisResumenComparación interanual
Clasificación ABCabc_classifierPareto 80/15/5 sobre ventas acumuladasProductosFoco en los productos que importan
Menu Engineeringmenu_engineeringPopularidad × Rentabilidad → BCG 2×2MenuEngDecisiones de carta: subir precio, promocionar, eliminar
Cross-sellingcross_sellingMarket Basket: confidence P(B|A), liftCombinacionesSugerencias de venta, diseño de combos
Forecast 30 díasforecastMedia ponderada por día semana + estacionalidad + tendenciaForecastPlanificación de compras y personal
Segmentación RFMcustomer_segmentationRecency/Frequency/Monetary scoring 1-5ClientesCampañas dirigidas: retener VIP, recuperar perdidos
Cohortes retencióncohort_analysisCohorte mensual, seguimiento 6 periodosCohortesMedir lealtad real de clientes
Anomalíasanomaly_detector4 detectores: caída ventas >40%, descuentos >30%, inactividad >14d, horarios ±2σAlertasProblemas detectados antes que el gerente
Heatmap ocupaciónheatmap_builderMatriz día×hora con índice ocupación 0-100HeatmapOptimizar turnos, promociones happy hour
Velocidad servicioservice_speedMedia, mediana, P25/P75, % rápidos/lentos por dimensiónVelocidadServicioDetectar cuellos de botella
Anulaciones + fraudecancellation_analyzerScoring 0-100: volumen, % sobre ventas, hour pattern, repeticiónAnulacionesDetectar fraude interno
RentabilidadprofitabilityIngresos − coste → margen bruto, % margen, rankingRentabilidadSaber qué productos ganan dinero de verdad
Descuento efectivodiscount_calculator(desc_línea + prorrateo_factura) / (cant × precio_carta) × 100VentasLineaDescuento real por producto (no el genérico)
🏭 KPIs Operativos (OPS)
Combinan datos de Revo (ventas) con datos manuales (costes, mermas, feedback). Disponibles en dashboard + OData para Power BI.
KPIFórmulaODataUmbral alertaPara qué sirve
Food Cost %compras_food / ventas_food × 100KpisOps⚠️ >35% · 🔴 >40%El indicador #1 de hostelería — controlar coste de materia prima
Beverage Cost %compras_bev / ventas_bev × 100KpisOps⚠️ >25% · 🔴 >30%Control específico de bebida (márgenes diferentes)
Labor Cost %nóminas / ventas × 100KpisOps⚠️ >35% · 🔴 >40%¿El personal es sostenible con las ventas actuales?
Prime Cost %(food + bev + labor) / ventas × 100KpisOps⚠️ >65% · 🔴 >70%El mega-indicador: si supera 70%, hay problemas serios
Merma % ventasΣ coste_mermas / ventas × 100KpisOps⚠️ >€50/díaCuánto se tira vs cuánto se vende
SPLHventas / horas_laboradasKpisOpsSales Per Labor Hour — productividad laboral
NPS simplificado((😊 − 😞) / total) × 100KpisOps⚠️ <50Termómetro rápido de satisfacción del cliente
Salud OperativaScore compuesto 0–100KpisOps⚠️ <50Indicador resumen: ¿va bien el negocio hoy?
EBITDA simplificadoventas − variables − fijosKpisOpsBeneficio operativo antes de impuestos
Punto de equilibriofijos / (1 − %variables)KpisOpsVentas mínimas para no perder dinero
🔗 OData v4 — 27 EntitySets para Power BI
Endpoint: /odata/v1/$metadata — Conexión directa desde Power BI Desktop sin middleware. Namespace: RevoAnalytics
#EntitySetTipoColsDescripción
1VentasLineaCore45Ventas por línea con descuento prorrateado, camarero, mesa, franja
2FacturasCore34Facturas con totales, duración servicio, mix de pago
3ProductosCore17Catálogo con ABC, coste, precio
4CategoriasCore8Jerarquía de categorías
5GruposCore6Jerarquía de grupos
6MetodosPagoCore3Métodos de pago
7DesglosePagosCore5Desglose pago por factura
8DesgloseImpuestosCore6Desglose impuestos por factura
9CalendarioCore15Dimensión tiempo 2020-2030+ con festivos y YoY
10CamarerosCore12Dimensión camareros con métricas acumuladas
11MesasCore13Dimensión mesas con rotación y duración
12KpisResumenKPI23Scorecard ejecutivo diario/semanal/mensual
13CombinacionesKPI15Market Basket Analysis — pares con confidence y lift
14AlertasAlert16Anomalías y alertas operativas
15HeatmapKPI13Matriz ocupación día×hora
16ForecastKPI13Predicción 30 días con confianza
17ClientesKPI16Segmentación RFM
18RentabilidadKPI13Rentabilidad por producto/categoría/grupo
19AnulacionesKPI19Análisis de anulaciones con scoring fraude
20MenuEngineeringKPI19Matriz BCG para restaurantes
21VelocidadServicioKPI16Velocidad de servicio por dimensión
22CohortesKPI7Retención mensual de clientes
23MermasOPS16Registro de mermas con zona, causa, coste
24TurnosOPS17Cierres de turno con rating e incidencias
25CostesSemanalOPS11Compras semanales food/bev
26GastosMensualOPS16Gastos fijos mensuales
27KpisOpsOPS25Food cost, prime cost, SPLH, NPS, EBITDA, punto equilibrio
🗄️ Esquema de Base de Datos
Star schema: dimensiones + hechos. Los KPIs se calculan en el pipeline ETL y se persisten para consulta rápida.
📐 Dimensiones (8 tablas)
dim_tiempo
🔑 id
fecha, año, trimestre, mes
dia_semana, nombre_dia
es_festivo, semana_iso
fecha_yoy
dim_empresa
🔑 id
nombre, slug
api_key_hash
activo, created_at
dim_producto
🔑 id
nombre, precio, coste
categoria_id, grupo_id
abc_clasificacion
dim_categoria
🔑 id
nombre, grupo_id
super_grupo
dim_grupo
🔑 id
nombre
dim_metodo_pago
🔑 id
nombre
dim_camarero
🔑 id
nombre, total_facturas
ventas_netas, ticket_medio
comensales, descuentos
dim_mesa
🔑 id
nombre, ventas_netas
ticket_medio, comensales_avg
duracion_avg, rotacion
📊 Tablas de Hechos — Core (4 tablas)
fact_ventas_linea
🔑 id, fecha_id, factura_id
producto, cantidad, precios
descuento_linea
descuento_factura_prorrata
descuento_total_efectivo
pct_descuento_efectivo
margen, IVA
franja, camarero, mesa
fact_factura
🔑 id, fecha_id
totales, descuentos
duracion_servicio_min
comensales, mesa, camarero
metodo_pago_principal
mix pagos (efect/tarj/otros)
fact_pagos
🔑 id, factura_id
metodo_pago_id, importe
fact_impuestos
🔑 id, factura_id
tipo_impuesto, base, cuota
🧠 Tablas de Hechos — KPIs Calculados (11 tablas)
fact_kpi_resumen
ventas, facturas, ticket_medio
variacion_pct, variacion_yoy
top_producto, franja_top
fact_combinaciones
producto_a, producto_b
soporte, confidence, lift
fact_heatmap
dia_semana × franja
facturas, ventas, comensales
indice_ocupacion 0-100
fact_forecast
fecha, ventas_predichas
lim_inferior, lim_superior
factor_estacional, tendencia
dim_cliente
rfm_recency/frequency/monetary
segmento (VIP...Perdido)
dias_desde_ultima
fact_rentabilidad
nivel (producto/cat/grupo)
ingresos, coste, margen
pct_margen, ranking
fact_anulaciones
dimension (camarero/producto..)
cantidad, importe, pct_ventas
scoring_riesgo 0-100
fact_menu_engineering
producto, popularidad, margen
clasificacion (Star/Dog...)
recomendacion
fact_velocidad_servicio
dimension, valor_dimension
media, mediana, min, max
pct_rapidos, pct_lentos
fact_cohorte_retencion
cohorte_mes, periodo
clientes_activos
pct_retencion, revenue_avg
fact_alertas
tipo_alerta, severidad
mensaje, detalle_json
resuelta, fecha_deteccion
🏭 Tablas OPS (8 tablas)
ops_waste_log
zona (cocina/barra)
causa, rango_coste
producto (opcional)
ops_shift_log
personal, reservas
rating, incidencias
roturas_stock, feedback
ops_cost_entry
compras_food, compras_bev
compras_otros, inventario
consumo_interno
ops_monthly_fixed
nóminas, alquiler
suministros, seguros, RRHH
datos ESG
ops_config
pin_cocina, pin_encargado
pin_gerente
umbrales_alerta, config
fact_kpi_ops
food_cost_%, prime_cost_%
splh, nps, salud_operativa
ebitda, punto_equilibrio
ops_access_log
slug, ip, user_agent
exito, rol, motivo_fallo
ops_audit_log
rol, accion
detalle (JSON), ip
⚙️ Pipeline ETL — Flujo de Procesamiento
El pipeline se ejecuta automáticamente (schedule diario) o bajo demanda. Modos: incremental (ayer), full (N días), catalog.
1 Revo API → Catálogo
2 Enriquecer (costes, IVA)
3 Sync dimensiones BD
4 Revo API → Pedidos
5 fact_ventas_linea + fact_factura
6 ABC + Camareros + Cross-selling
7 Mesas + Heatmap + KPIs + Anomalías
8 Forecast + RFM + Rentabilidad
9 Anulaciones + Menu Eng. + Velocidad + Cohortes
10 KPIs OPS + Alertas OPS
Resultado: ~30 tablas actualizadas, 27 EntitySets OData listos para Power BI, dashboard web con datos frescos, alertas generadas automáticamente.
🚨 Sistema de Alertas Automáticas
11 tipos de alerta se generan sin intervención humana. Severidad: 🟢 Info / ⚠️ Warning / 🔴 Critical
TipoOrigenDisparadorSeveridad
Caída de ventasanomaly_detectorVentas >40% bajo media móvilCritical
Descuentos excesivosanomaly_detectorDescuento medio >30%Warning
Producto inactivoanomaly_detector>14 días sin ventasWarning
Horario anómaloanomaly_detectorVentas ±2σ del patrón habitualWarning
Food Cost altoops_alerts>35% (warning) / >40% (critical)Configurable
Beverage Cost altoops_alerts>25% / >30%Configurable
Prime Cost altoops_alerts>65% / >70%Configurable
Merma excesivaops_alerts>€50/díaWarning
NPS bajoops_alerts<50Warning
Salud operativa bajaops_alerts<50Warning
Labor Cost altoops_alerts>35% / >40%Configurable
🔐 Seguridad y Auditoría
Sistema completo de control de acceso, rate limiting y trazabilidad.
🔑
Auth multi-capa
API Key (dashboard) + OPS Token HMAC-SHA256 (app) + HTTP Basic (Power BI). Multi-tenant aislado.
🛡️
Brute-force protection
5 intentos fallidos → bloqueo 5 minutos por slug+IP. Rate limiting en memoria.
📋
Auditoría completa
Cada acción registrada: quién (rol), qué (acción), cuándo, desde dónde (IP).
👥
3 roles (PIN)
Cocina (botonera), Encargado (turno+botonera), Gerente (todo+config+seguridad).