Informes Estratégicos
Requisitos previos de acceso
- Permiso (módulo):
admin(guard de rutaAuthGuardServicecondata.module = admin) — es el informe de inteligencia más restringido del BackOffice. - Licencia/Feature: Ninguna.
- Contenedor del menú: GENERAL → grupo Dashboard
Qué es / cuándo usar
Conjunto de informes analíticos de inteligencia comercial (solo lectura) generados por el microservicio StrategicReportsService. A diferencia de los paneles del Dashboard (que solo suman lo que ya ocurrió), aquí hay cálculos derivados: segmentación RFM de clientes, tendencias de venta con comparación de período, embudo de conversión, performance de producto/proyecto, mix de medios de pago y estacionalidad. Úselo para decisiones de marketing, retención y priorización de producto — no como estado contable.
La pantalla es un contenedor con pestañas (/strategic-reports). Al abrirla, redirige automáticamente a RFM (/strategic-reports/rfm-analysis). Cada pestaña es una ruta hija que dispara su propia consulta al backend; cambiar de pestaña rehace la búsqueda de ese análisis.
Requisitos previos
- Permiso: módulo
adminen el rol del operador (permiso doble — enum CPM en el backend + módulo dinámico en la BD). Sinadmin, la ruta es bloqueada por el guard y el ítem ni siquiera aparece en el menú. - Licencia/Feature: Ninguna.
- Dependencias de otras pantallas: los informes consumen el agregador de órdenes del StrategicReportsService, que cruza órdenes generales (compras de token/NFT) y crowdfunding. Solo órdenes pagadas (
wasPaid = true) entran en RFM; en los demás análisis el filtrowasPaides configurable según la consulta.
Paso a paso
- Acceda al menú Dashboard → Informes estratégicos.
- La pantalla se abre en la pestaña RFM; espere a que cargue el gráfico.
- Ajuste el período (fecha inicial/final) del análisis — el valor predeterminado de RFM son los últimos 365 días hasta hoy.
- (Donde corresponda) elija los tipos de orden (
geral,crowdfunding) y el agrupamiento (día/semana/mes/año). - Cambie de pestaña para generar otro análisis — cada pestaña consulta su propio endpoint.
Pestañas (informes disponibles)
La barra de pestañas expone siete informes. Hay dos endpoints adicionales previstos en el código (Origen de Registro y Perfil del Cliente) que aún no están implementados en el backend y no aparecen como pestaña — ver "Reglas de negocio".
| Pestaña | Endpoint (API-Gateway /v1/strategic-reports/...) | Qué entrega | Parámetros de filtro |
|---|---|---|---|
| RFM | rfm-analysis | Segmentación de clientes por Recencia, Frecuencia y Valor monetario. Distribuye la base en segmentos (Champions, Loyal, At Risk, Hibernating, Lost, etc.) con conteo, % e ingresos por segmento. | from, to, orderTypes |
| Tendencias de Venta | sales-trends | Serie temporal de ventas con opción de comparar con el período anterior. | from, to, groupBy (día/semana/mes/año), compareWithPreviousPeriod, orderTypes |
| Análisis de Conversión | conversion-analysis | Tasa de conversión (ej.: registro → primera compra; pedido → pagado). | from, to, storeId, projectId, orderTypes |
| Performance de Producto | product-performance | Ranking de productos por ingresos/cantidad (limit para top-N). | from, to, storeId, orderTypes, limit, wasPaid |
| Performance de Tienda/Proyecto | store-project-performance | Comparativo por tienda y por proyecto de crowdfunding. | from, to, orderTypes, wasPaid |
| Medio de Pago | payment-method-analysis | Distribución de ingresos por método de pago. | from, to, storeId, orderTypes, wasPaid |
| Estacionalidad | seasonality-analysis | Patrones estacionales (picos por mes/día de la semana). | from, to, storeId, projectId, orderTypes, wasPaid |
Filtros y parámetros
| Filtro | Qué es | Efecto en el sistema/backend |
|---|---|---|
Fecha inicial / final (from/to) | Ventana del análisis | Enviadas en ISO al endpoint; limitan el conjunto de órdenes agregadas. En RFM, to también es el "ahora" usado para calcular la recencia (días desde la última compra). |
Tipos de orden (orderTypes) | geral y/o crowdfunding | Define qué flujos de orden entran en el cruce. all se normaliza a general. RFM separa conteo/valor por tipo (generalOrders* vs crowdfundingOrders*). |
Agrupamiento (groupBy) | Granularidad de la serie (solo Tendencias/Origen) | Agrupa la serie por día, semana, mes o año. |
| Comparar con período anterior | Refleja el intervalo hacia atrás | Cuando está activado en Tendencias, el backend calcula el intervalo inmediatamente anterior de igual duración para la variación %. |
wasPaid | Considerar solo órdenes pagadas | En Producto/Tienda/Pago/Estacionalidad es configurable; en RFM está forzado a true (solo las compras efectivamente pagadas puntúan). |
storeId / projectId | Restringir a una tienda/proyecto | Filtra la agregación a esa tienda o proyecto de crowdfunding. |
Cómo el RFM clasifica a los clientes
El RFM es el informe más elaborado y el único marcado como pestaña inicial. Entender la lógica evita lecturas erróneas:
- Para cada cliente con órdenes pagadas en el período, el agregador calcula Recencia (días desde la última compra), Frecuencia (nº de compras) y Monetario (total gastado).
- Cada métrica recibe una puntuación de 1 a 5 por percentiles de la base (p20/p40/p60/p80). Recencia es "cuanto menor mejor"; frecuencia y valor son "cuanto mayor mejor".
- La combinación de las tres puntuaciones define el segmento (reglas en cascada en el backend): por ejemplo,
R≥4 F≥4 M≥4= Champions;R≤2 F≥3 M≤2= At Risk; y lo que no encaja en ninguna regla cae en Lost. - El informe devuelve, por segmento, conteo, porcentaje e ingresos totales/promedio, además del segmento dominante y promedios de R/F/M de la base.
Las puntuaciones son relativas a la base, no absolutas
El score RFM se calcula por percentiles de la población del período, no por rangos fijos. Esto significa que "ser Champion" depende de cómo el cliente se compara con los demás en el mismo corte. Cambiar el período o los orderTypes reclasifica a todos. No compare segmentos entre dos cortes distintos como si fueran categorías estables.
Reglas de negocio / consideraciones
Atención
- Origen de Registro y Perfil del Cliente no están implementados. Los endpoints
registration-sourceycustomer-profileexisten en el servicio Angular y en el handler del backend, pero el handler retorna "report not yet implemented" (falla). No aparecen en la barra de pestañas. No documente/prometa estos dos informes al usuario final hasta que sean entregados. - Error ≠ cero. Cada pestaña muestra estado de carga (
loading) y, en caso de falla, no grafica nada (el RFM pone los gráficos en cero). Un gráfico vacío puede ser un período sin datos o indisponibilidad del StrategicReportsService — no lo interprete como "cero ventas". - Período predeterminado amplio. El RFM abre con 365 días; en bases grandes la agregación puede tardar algunos segundos. Los demás informes usan el período que usted defina.
- Solo lectura. Ninguna pestaña escribe datos; son informes derivados. Para conciliación oficial use Contabilidad y los Libros mayor.
- Valores financieros: los totales de ingresos se calculan sobre valores monetarios reales (tratados como
BigNumberen la agregación) — trate los números como indicadores analíticos, sin redondear en la lectura. - Alcance de los datos: la agregación cruza órdenes generales + crowdfunding; un análisis que ignore uno de los tipos requiere ajustar el filtro
orderTypes.