Referencia
Metodología de Cálculo
Definiciones, fórmulas y criterios aplicados en el dashboard

📊 Página Principal (Comparativa)

1
Origen de los Datos

Todos los datos del dashboard provienen de la réplica de solo lectura de la base de datos Comerzzia (czz-pampling). Un proceso ETL automático descarga, filtra y pre-agrega la información en una base de datos local.

Tabla fuente Contenido
d_clie_albaranes_cab_tbl Cabecera de albaranes: fecha, tienda, ID de transacción
d_clie_albaranes_det_tbl Detalle de albaranes: importe, cantidad, artículo

Ambas tablas se unen por ID_CLIE_ALBARAN. Se aplican dos filtros de calidad:

Solo se incluyen líneas con cantidad > 0 e importe > 0.
Esto excluye devoluciones, anulaciones y líneas sin valor monetario.
🔄
Pipeline de Datos

El sistema ejecuta un pipeline diario automatizado que mantiene los datos actualizados.

ETL diario (05:30 AM)

Descarga los últimos 14 días de datos de ventas desde Comerzzia (MySQL) hacia PostgreSQL. Se descargan 14 días (no solo el último) para capturar correcciones retroactivas como devoluciones o ajustes. Tablas actualizadas:

  • fact_sales_daily — ventas agregadas por tienda/marca/familia
  • fact_articles_daily — ventas por artículo y tienda
  • fact_articles_detail_daily — ventas por artículo, color y talla
  • fact_stock_daily — movimientos de stock por tienda, artículo, color y talla

Resúmenes pre-agregados

Tras el ETL se recalculan tablas resumen para acelerar las consultas del dashboard:

  • summary_stock_by_store — stock total por tienda/día
  • summary_stock_by_article — stock total por artículo/día
  • summary_sales_by_article — ventas por artículo/día

Materialización de alertas

Se calculan y almacenan las alertas automáticas:

  • Rotura de stock en artículos must-have
  • Caídas significativas de ventas
  • Exceso de stock con baja rotación
  • Artículos sin ventas recientes

Catálogo de productos

Los productos se sincronizan manualmente desde Odoo (ERP). El sistema detecta automáticamente cuando hay productos nuevos en ventas que no están en el catálogo y avisa en la página de configuración.

Análisis de chat

Si hay nuevos registros en el chat del dashboard, se analizan errores SQL y patrones de uso para mejorar el sistema.

2
Definición de KPIs

El dashboard muestra seis indicadores clave. Los cuatro primeros aparecen tanto en la página de comparativa como en el detalle de tienda; los dos últimos (Uds/Ticket y Precio Medio) se muestran solo en el detalle de tienda (ver sección 11). Todos se calculan sobre el período y filtros seleccionados.

Venta Total
SUM( det.IMPORTE )

Suma de importes de todas las líneas de albarán. Expresada en euros.

Unidades Vendidas
SUM( det.CANTIDAD )

Suma de cantidades de todas las líneas de albarán.

N.º de Tickets
COUNT( DISTINCT cab.ID_CLIE_ALBARAN )

Transacciones únicas. Cada albarán puede contener varias líneas.

Ticket Medio
Venta Total / N.º de Tickets

Importe medio por transacción. Valor 0 si no hay tickets.

3
Comparación Interanual

Para comparar dos períodos preservando el mismo día de la semana, se utiliza un offset de 364 días (52 semanas exactas) en lugar de 365.

Período B = Período A − 364 días
Ejemplo: si el Período A va del lunes 10/03/2026 al domingo 16/03/2026, el Período B será del lunes 17/03/2025 al domingo 23/03/2025. Lunes con lunes, martes con martes, etc.

Esto elimina las distorsiones causadas por comparar días de la semana distintos (un sábado contra un martes tendría patrones de venta muy diferentes).

En el modo Avanzado del selector de fechas, el usuario puede definir manualmente las fechas del Período B.

4
Variación Porcentual (Δ%)

Cada KPI muestra su variación respecto al período de comparación:

Δ% = ( Período A − Período B ) / | Período B | × 100
Indicador Significado
▲ Positivo El valor del Período A es mayor que el del Período B (crecimiento)
▼ Negativo El valor del Período A es menor que el del Período B (descenso)
El Período B no tiene datos (tienda cerrada o sin ventas). No se calcula variación
5
Filtro de Tiendas Comunes

Por defecto, la comparación solo incluye tiendas que tuvieron ventas en ambos períodos. Esto evita que la apertura o cierre de tiendas distorsione los totales comparados.

Tiendas comunes = Tiendas con ventas en Período A  ∩  Tiendas con ventas en Período B
Comportamiento automático: cuando se selecciona una tienda específica en el filtro, este criterio se desactiva automáticamente para poder ver sus datos aunque no tenga ventas en ambos períodos.

Se puede activar o desactivar manualmente con el checkbox "Solo tiendas comunes" en la barra de filtros.

6
Media por Tienda

Debajo de cada KPI se muestra la media de la red de tiendas como referencia comparativa.

Media = Total de todas las tiendas en Período A / N.º de tiendas con datos
Criterio Detalle
Filtros de dimensión Se aplican los filtros activos de país, marca, empresa y familia
Filtro de tienda No se aplica — se promedian todas las tiendas para obtener una referencia global
Tiendas excluidas 0155 y 0216 — tiendas online/outlet que distorsionarían la media de tiendas físicas

El delta (Δ%) junto a la media indica cuánto se desvía la tienda o selección actual respecto al promedio de la red.

7
Fecha de Apertura de Tiendas

La fecha de apertura de cada tienda se infiere automáticamente como la fecha de su primera venta registrada en el sistema:

Fecha apertura = MIN( DATE(cab.FECHA) ) por tienda

Cuando una tienda no estaba abierta durante el Período B:

Elemento Comportamiento
Nombre de tienda Se muestra con un icono de advertencia ⚠
Valores del Período B Se muestran como "—"
Variación (Δ%) No se calcula — se muestra "—"
Datos del Período A Se muestran con normalidad
8
Modos de Selección de Fechas

Página de Comparativa: el selector de fechas ofrece tres modos de navegación para elegir el Período A. El Período B se calcula automáticamente (−364 días) salvo en modo Avanzado.

Modo Rango seleccionado Navegación
Semana Lunes a domingo Los botones ← → avanzan o retroceden una semana completa
Fin de semana Viernes a domingo Los botones ← → navegan de fin de semana en fin de semana
Avanzado Fechas libres Se introducen manualmente las fechas de ambos períodos (A y B)

Detalle de Tienda: el selector de fechas define el Período A. El Período B se calcula siempre automáticamente como −364 días (52 semanas exactas), preservando el mismo día de la semana. Esta comparación interanual se aplica tanto a la Matriz de Tendencias (sección 12) como a los desgloses por categorías (sección 13).

Modo Rango seleccionado
Día Un único día natural
Semana Lunes a domingo
Finde Viernes a domingo
Avanzado Rango de fechas libre elegido manualmente

🏪 Detalle de Tienda

9
Vista de Detalle de Tienda

Al acceder al detalle de una tienda se muestra toda su información organizada en los siguientes bloques:

Bloque Contenido
1 — Cabecera Información estática: código, nombre, tags (canal, tipo de cliente, tier, cluster) y datos fijos (provincia, ciudad, CCAA, país, marca, tipo, fecha de apertura y cierre)
2 — Selector de Fechas Selector con cuatro modos: Día, Semana, Finde y Avanzado (ver sección 8). Define el Período A; el Período B se calcula siempre como −364 días.
3 — KPIs Fila horizontal de 6 KPIs con valores absolutos del período seleccionado: Venta Total, Unidades, Tickets, Ticket Medio, Uds/Ticket, Precio Medio.
4 — Incidencias Banner resumen de incidencias registradas en el período seleccionado. Si no hay incidencias, muestra un indicador de «0 incidencias». Si las hay, muestra el total y el tiempo medio de cierre. Al hacer clic se despliega el detalle con el historial de incidencias y seguimientos activos.
5 — Tendencias Matriz de Tendencias con crecimiento interanual por dimensiones (ver sección 12). Incluye columna de Total Empresa para comparar con la media global.
6 — Categorías Tabla de categorías con comparativa vs referencia seleccionable (ver sección 17). Columna unificada Grupo + Categoría (ej: «Camiseta Manga corta»), ordenable y con modal de detalle al hacer clic.
Nota: los KPIs del detalle de tienda muestran únicamente el valor absoluto del Período A (sin deltas). La información de crecimiento interanual (YoY) se muestra en la Matriz de Tendencias (sección 12). La comparación por categorías se muestra en la tabla de categorías (sección 17).

Los datos de todos los bloques se actualizan automáticamente al cambiar el período seleccionado.

10
Sistema de Comparación Interanual (YoY)

En el detalle de tienda, toda comparación se basa en un único sistema: Período A vs Período B (−364 días). Este sistema se aplica de forma consistente en todos los componentes de la página.

Concepto Definición
Período A Las fechas seleccionadas por el usuario en el selector (Día, Semana, Finde o Avanzado)
Período B Siempre −364 días (52 semanas exactas) respecto al Período A. Se preserva el mismo día de la semana.

Este sistema de comparación se aplica en:

Componente Cómo usa la comparación
Matriz de Tendencias (sección 12) Muestra el crecimiento YoY (%) de 6 KPIs en 5 dimensiones
Desgloses por categorías (sección 13) Muestra la tendencia YoY (%) de Venta y Unidades para cada categoría (familia, temática, marca, must have)
Ejemplo: si el Período A es lunes 09/03/2026 – domingo 15/03/2026, el Período B será lunes 10/03/2025 – domingo 16/03/2025. Lunes con lunes, martes con martes, etc. Esto elimina las distorsiones por comparar días de la semana distintos.
11
KPIs Adicionales en Detalle de Tienda

Además de los cuatro KPIs principales (sección 2), el detalle de tienda incluye dos indicadores adicionales:

Unidades por Ticket (UPT)
Unidades Vendidas / N.º de Tickets

Mide cuántos artículos compra de media cada cliente por transacción. Un UPT alto indica buena venta cruzada o venta complementaria.

Precio Medio
Venta Total / Unidades Vendidas

Precio real medio de venta por unidad. Refleja el precio efectivo tras descuentos y promociones, no el precio de catálogo. Si una camiseta de PVP 24,95 € se vende con un 20% de descuento, su precio medio de venta será 19,96 €.

Ambos indicadores se calculan sobre los datos filtrados del período seleccionado. En la vista de detalle de tienda se muestran como valores absolutos junto al resto de KPIs. Su evolución comparativa se puede consultar en la Matriz de Tendencias (sección 12).
12
Matriz de Tendencias

La Matriz de Tendencias es la herramienta central de comparación en el detalle de tienda. Cruza 6 KPIs (filas) con 5 dimensiones (columnas), mostrando el porcentaje de crecimiento interanual (YoY) en cada celda. La comparación es siempre Período A vs Período B (−364 días).

Se puede acceder a la explicación de la matriz desde el botón ℹ️ que aparece junto al título de la sección en la página de detalle de tienda.

Eje Contenido
Filas (6 KPIs) Venta, Unidades, Tickets, Ticket Medio, Uds/Tkt, Precio Medio
Columnas (6 dimensiones) Ella misma, Total Empresa, Provincia, Tier, Tipo Cliente, Canal

Cabeceras de columna: cada columna muestra el nombre de la dimensión. La primera columna, «Ella misma», muestra el crecimiento de la propia tienda. La columna «Total Empresa» muestra el crecimiento agregado de todas las tiendas, permitiendo comparar el rendimiento individual con el de toda la empresa.

Fórmula de cada celda:

Crecimiento YoY % = ( Valor Período A − Valor Período B ) / | Valor Período B | × 100
Cálculo de grupo: las columnas de grupo (Provincia, Tier, Tipo Cliente, Canal) muestran el crecimiento agregado del conjunto de tiendas del grupo (suma total del grupo en cada período), no la media de los crecimientos individuales de cada tienda.

Ejemplo: si tres tiendas de una provincia vendieron 10 K, 20 K y 30 K en el Período A (total 60 K) y 8 K, 22 K y 25 K en el Período B (total 55 K), el crecimiento del grupo es (60 K − 55 K) / 55 K = +9,1 %, no la media de los tres crecimientos individuales.

Código de color: los valores positivos se muestran en verde ▲ y los negativos en rojo ▼, facilitando la lectura rápida de la tabla.

Tooltip: al pasar el ratón sobre cualquier celda se muestran los valores absolutos de ambos períodos con 2 decimales, permitiendo ver las cifras exactas detrás del porcentaje.

13
Tabla de Categorías

Debajo de la Matriz de Tendencias, el detalle de tienda incluye una tabla de categorías que muestra la distribución de ventas, unidades y stock por categoría de producto. La categoría se presenta como una columna unificada que combina el grupo y la subcategoría (ej: «Camiseta Manga corta», «Calcetines Largo»).

La tabla es ordenable por cualquier columna pulsando sobre el nombre de la columna. La jerarquía de categorías proviene de Odoo y se enlaza a los datos de ventas a través del código de artículo (codart).

Estructura de la tabla:

Columna Contenido
Categoría Nombre unificado: Grupo + Subcategoría (ej: «Camiseta Manga corta»)
% Venta Diferencia en puntos porcentuales (pp) entre el % de venta de la categoría en la tienda y el % en la referencia seleccionada
% Uds Diferencia en pp entre el % de unidades vendidas de la categoría en la tienda y el % en la referencia
% Stock Diferencia en pp entre el % de stock de la categoría en la tienda y el % en la referencia

Sistema de comparación: ver sección 17 para el detalle completo del sistema de comparativa con referencia variable (Empresa, otra tienda, grupo o ella misma).

Al hacer clic en una fila se abre un modal con el análisis detallado de esa categoría (ver sección 17).

14
Cálculo de Stock

Los datos de stock provienen de la base de datos stock-pampling. Se almacenan en una tabla unificada (fact_stock_daily) que contiene el stock diario por tienda, artículo, color y talla.

Origen de los datos: la tabla stock en MySQL contiene dos tipos de registros:

Tipo Descripción
BASE / PROCESSED_BASE Stock inicial de referencia (foto fija del inventario)
MOVEMENT / PROCESSED_MOVEMENT Cambios acumulados: ventas (−), entradas (+), ajustes, traspasos, etc.
stock(tienda, artículo, fecha) = SUM(BASE + PROCESSED_BASE) + SUM(MOVEMENT + PROCESSED_MOVEMENT hasta fecha)

Stock en un rango de fechas: cuando el dashboard muestra stock para un período (ej: semana del 16 al 22 de marzo), se calcula el stock medio diario del período:

Stock medio = Σ stock(día) para cada día del período / N.º de días

Al pasar el ratón por encima de cualquier valor de stock se muestra el desglose diario (stock al cierre de cada día del período).

Desglose por variante: la tabla fact_stock_daily almacena el stock con desglose por color y talla, lo que permite analizar la distribución de stock por variante dentro de cada artículo.

Stock negativo: en algunos casos el stock calculado puede ser negativo para un artículo o variante concreta. Esto indica un desajuste en el inventario (más ventas registradas que stock disponible). Estos valores se muestran tal cual para reflejar la discrepancia.

📦 Stock

15
Historial de Stock

La página de Stock permite consultar el historial de stock de cualquier artículo, opcionalmente filtrado por tienda. Muestra la evolución desde enero de 2024 hasta hoy.

Panel de consulta: se puede buscar por código de artículo o por código de tienda. Si no se selecciona tienda, se muestra el stock total del artículo en toda la red.

Gráfico de evolución:

Elemento visual Descripción
Línea de área Nivel de stock a lo largo del tiempo (eje principal)
Barras Movimientos diarios de stock (entradas, salidas, ajustes)

Granularidad automática: el gráfico ajusta su nivel de detalle en función del rango de fechas seleccionado:

Rango de fechas Granularidad
Rango corto Día a día
Rango medio Semanal
Rango largo Mensual

Desglose de movimientos: debajo del gráfico se muestra un desglose de los movimientos por tipo, permitiendo identificar qué tipo de operación (venta, entrada, regularización, etc.) tiene mayor impacto en la evolución del stock.

Tipo de movimiento Descripción
SALE Ventas (restan stock)
INPUT Entradas de mercancía (suman stock)
REGULARIZATION Ajustes de inventario
RETURN Devoluciones al almacén
RETURN_TICKET Devoluciones de cliente
TARE Merma
CONSUMPTION Consumo interno
Cálculo del stock: el stock en cualquier fecha se calcula como el inventario base (cargado el 15 de enero de 2024) más la suma acumulada de todos los movimientos hasta esa fecha. La fórmula es: stock(fecha) = baseline + Σ movimientos(hasta fecha).

📦 Artículos

16
Clasificación de Artículos

Los artículos del catálogo se enriquecen con dos clasificaciones adicionales que no provienen del ERP:

Clasificación Descripción Datos
Must Have Artículos imprescindibles que toda tienda debería tener en stock. Se marca manualmente con un flag must_have = 1 en la tabla de artículos. 216 artículos marcados actualmente
Temáticas Cada artículo puede pertenecer a una o varias categorías temáticas (ej: Cine/Serie/TV, Manga/Anime, Música…). Un artículo de la serie Breaking Bad tendría la temática «CINE/SERIE/TV». 28 temáticas distintas, 1.336 asociaciones artículo–temática

Las 28 temáticas disponibles son:

BROMA · CINE/SERIE/TV · COMIC · DEPORTES · DISEÑADOR · DIVERTIDO · FANTASIA · FESTIVO · FRIKI · GAMER · HISTORIA · INFANTIL · MANGA/ANIME · MODA · MOTOR · MUSICA · NATURALEZA · ORIGINAL · PAMPLING · PARODIA · RETRO · ROMANTICO · SERIGRAFIA · SOCIAL · SUPERHEROES · TERROR · TIPOGRAFIA · VIAJES

Un artículo puede tener varias temáticas simultáneamente (relación muchos a muchos). Estas clasificaciones permiten analizar las ventas segmentadas por tipo de diseño o universo temático.

17
Comparativa de Categorías en Detalle de Tienda

La tabla de comparativa de categorías permite contrastar la distribución por categorías de una tienda frente a una referencia seleccionable. Para cada categoría (familia, temática, marca o must have), se comparan tres métricas de reparto:

Métrica Definición
% Venta Porcentaje de la facturación total que representa esa categoría (cuota de ingresos)
% Uds Porcentaje de las unidades totales vendidas que representa esa categoría (cuota de unidades)
% Stock Porcentaje del stock total que representa esa categoría (cuota de inventario)

Selección de referencia: el usuario puede elegir contra qué referencia comparar la tienda. Las opciones disponibles son:

Referencia Descripción
Empresa Distribución agregada de todas las tiendas de la empresa. Permite ver si la tienda está alineada con la media global.
Tienda específica Distribución de otra tienda concreta. Permite comparar dos tiendas entre sí.
Grupo (Provincia, Canal, Tier, Tipo Cliente) Distribución agregada de todas las tiendas que comparten el mismo grupo. Permite ver si la tienda se desvía respecto a su segmento.
Ella misma La propia tienda en el Período B (equivalente del año anterior, −364 días). Permite ver cómo ha cambiado la distribución de categorías respecto al mismo período del año pasado.

Cálculo del delta: para cada categoría y métrica, se calcula la diferencia en puntos porcentuales (pp) entre la tienda y la referencia:

Delta (pp) = % Tienda − % Referencia
Interpretación: un delta positivo indica que la tienda tiene una cuota mayor que la referencia en esa categoría. Por ejemplo, si la tienda tiene un 35 % de venta en «Camiseta» y la referencia un 28 %, el delta es +7 pp, lo que significa que la tienda está más concentrada en camisetas que la referencia.

Tooltip: al pasar el ratón sobre cualquier celda de delta se muestran los valores absolutos de ambas partes (tienda y referencia), permitiendo conocer las cifras exactas detrás de la diferencia.

Cálculo del % Stock: el stock utilizado para el reparto porcentual se calcula como el stock medio durante el período seleccionado. Es decir, se promedian los niveles de stock diarios dentro del rango de fechas del Período A. Al pasar el ratón sobre el valor de stock se muestra un desglose día a día.

% Stock categoría = Stock medio diario de la categoría / Stock medio diario total × 100
Referencia «Ella misma»: cuando se selecciona esta opción, la referencia es la propia tienda durante el Período B (típicamente la misma semana del año anterior, −364 días). Esto permite detectar cambios en la estructura del mix de categorías a lo largo del tiempo, independientemente del volumen total de ventas.

Código de color: los deltas positivos se muestran en verde y los negativos en rojo, facilitando la identificación rápida de las desviaciones más significativas respecto a la referencia.


Modal de Detalle de Categoría

Al hacer clic en una fila de la tabla de categorías se abre un modal con un análisis detallado de la categoría seleccionada. El modal mantiene el comparador activo en la tabla principal y se estructura en las siguientes secciones:

1. Subtítulo contextual: muestra el grupo de categorías activo (familias, temáticas, marcas…), el período seleccionado y la referencia de comparación activa (p. ej. «vs Empresa» o «vs Provincia»).

2. Tarjetas KPI (4 indicadores):

KPI Valor principal Delta
% Venta Porcentaje que esta categoría representa sobre el total de ventas de la tienda Diferencia en pp respecto a la referencia
% Unidades Porcentaje que esta categoría representa sobre el total de unidades vendidas de la tienda Diferencia en pp respecto a la referencia
% Stock Porcentaje que esta categoría representa sobre el stock total de la tienda Diferencia en pp respecto a la referencia
Precio Medio Precio medio de venta de la categoría en la tienda (valor absoluto, €) Diferencia expresada como % de cambio respecto a la referencia (no en pp)
Cada tarjeta muestra debajo el valor absoluto de la tienda. El tooltip despliega ambos valores (tienda y referencia) para facilitar la comparación directa.

3. Filtro de marcas (pills): una fila de botones permite filtrar las temáticas mostradas en la tabla inferior por marca (Pampling, Wituka, etc.). Al seleccionar una marca, solo se muestran las temáticas que contienen artículos de esa marca.

4. Tabla de temáticas: cada temática dentro de la categoría seleccionada muestra las siguientes columnas:

Columna Definición
% Must Have Porcentaje de artículos de la temática que están marcados como must have
% Venta Porcentaje que esta temática representa dentro de las ventas de la categoría, expresado como delta en pp respecto a la referencia
% Stock Porcentaje del stock de la categoría que esta temática representa

5. Listas expandibles de artículos: al hacer clic en una fila de temática, se despliegan dos listas lado a lado:

Lista Contenido
Top ventas tienda Artículos de la temática ordenados por peso en la tienda
Top ventas [referencia] Artículos de la temática ordenados por peso en la referencia seleccionada

Un filtro de umbral (por defecto 20 %) permite mostrar solo los artículos que representan más de X % de la facturación de la temática. Cada artículo muestra:

  • Nombre del artículo (con ★ si es must have)
  • % Venta — facturación del artículo / facturación total de la temática en el contexto correspondiente (tienda o referencia)
  • % Stock — stock del artículo respecto al stock de la temática
Contexto del cálculo: los porcentajes de cada lista se calculan dentro de su propio ámbito. En la lista de la tienda, el denominador es la facturación total de la temática en la tienda; en la lista de la referencia, el denominador es la facturación total de la temática en la referencia. Esto permite comparar el peso relativo de cada artículo en ambos contextos independientemente del volumen absoluto.

Número de Modelos (columna «Modelos»)

La tabla de temáticas incluye la columna Modelos, que indica cuántos diseños únicos componen cada temática. Un «modelo» (diseño) es un arte gráfico único que puede materializarse en múltiples variantes de artículo (distintos formatos como camiseta, sudadera, taza, etc.).

Modelos = COUNT(DISTINCT design_id) en dim_products para la temática
Ejemplo: el diseño «KAME KANJI» tiene 14 variantes de artículo (camiseta manga corta, camiseta manga larga, sudadera, taza…). Sin embargo, cuenta como 1 solo modelo porque todas las variantes comparten el mismo design_id.

Esta métrica permite distinguir entre temáticas con muchos diseños diferentes y temáticas que tienen pocas creaciones pero con amplio catálogo de formatos. Es útil para evaluar la diversidad creativa real de cada temática, independientemente del número total de artículos.


Rotura de Stock (columna «Rotura» en pestaña Tallas)

En el detalle expandible de cada temática, la pestaña Tallas incluye la columna Rotura, que mide el porcentaje de días del período seleccionado en los que al menos un producto de esa talla tuvo stock = 0 al cierre del día.

stockout_pct = (días con stock = 0 para cualquier combinación artículo + talla) / días totales del período × 100

Es decir, si en un período de 30 días hubo 6 días en los que algún artículo de la talla M estuvo sin stock al final del día, la rotura de esa talla será 20 %.

Código de color:

Valor Color Interpretación
> 20 % Rojo Rotura frecuente — la talla estuvo sin stock más de un 20 % de los días
> 0 % Naranja Rotura puntual — hubo días sin stock pero no supera el 20 %
0 % Sin rotura — se muestra un guión indicando que no hubo ningún día sin stock

Tooltip enriquecido: al pasar el ratón sobre el valor de rotura, se despliega un tooltip que muestra las fechas concretas en las que se produjo la rotura de stock para esa talla. Esto permite identificar si los episodios de rotura son puntuales o sostenidos en el tiempo.

Nota: la rotura se evalúa a nivel de talla dentro de la temática. Si una temática tiene 5 artículos en talla M y solo 1 de ellos tuvo stock = 0 un día determinado, ese día cuenta como día con rotura para la talla M. El indicador refleja la disponibilidad completa del surtido: basta con que un solo artículo quede sin stock para que el día se contabilice.

📋 Informe Ejecutivo (/report)

18
Informe Ejecutivo — Visión General

La página /report presenta un informe ejecutivo YTD (Year-To-Date) diseñado para identificar de un vistazo las tiendas y productos que requieren atención. Está compuesto por siete bloques temáticos que se describen en las secciones siguientes.

Periodo de análisis:

Concepto Definición
YTD actual Desde el 1 de enero del año en curso hasta ayer (inclusive)
YTD anterior Mismo rango de fechas pero del año anterior (1 ene – mismo día de ayer, año anterior)
Principio clave: las tiendas cerradas (campo fecha_cierre en dim_stores_master) se excluyen de los rankings de rendimiento para evitar falsos negativos. Se muestran en una sección separada dedicada.

Todas las tablas son interactivas: las filas de tiendas enlazan a /store/{id} y las de productos a /article-detail?codart=X.

19
KPIs Empresa YTD

Fila de tarjetas resumen con los indicadores globales de la empresa, comparando el YTD actual frente al mismo periodo del año anterior.

KPI Definición
Facturación Ingresos totales (€) en el periodo YTD
Uds. Unidades vendidas en el periodo YTD
Tickets Número de tickets de venta emitidos
Ticket Medio Facturación / Tickets
Precio Medio Facturación / Unidades
Stock Unidades en stock a fecha actual

Cada tarjeta muestra el valor del año actual, el valor del año anterior y el delta porcentual entre ambos.

20
5 Tiendas con Mayor Caída de Ventas YTD

Muestra las 5 tiendas activas cuya facturación YTD ha caído más respecto al mismo periodo del año anterior. Se excluyen las tiendas que cerraron durante el periodo o antes del mismo, para no contaminar el ranking con cierres programados.

Columna Definición
Tienda Nombre de la tienda (clic para ir a /store/{id})
Tier Clasificación de la tienda por volumen
Facturación YTD Ingresos acumulados en el periodo actual
Delta vs anterior Variación porcentual respecto al YTD del año anterior (valor negativo = caída)
Uds. Unidades vendidas en el periodo
Stock Unidades en stock actualmente
Incidencias Número de incidencias registradas para la tienda
Criterio de exclusión: una tienda se considera cerrada si tiene fecha_cierre informada en dim_stores_master y dicha fecha es anterior o igual al final del periodo YTD.
21
5 Tiendas por Debajo de la Media

Muestra las tiendas cuya facturación YTD es inferior al 65 % de la media por tienda. Se excluyen las tiendas cerradas.

Cálculo de la media:

Media por tienda = Facturación total empresa YTD / Número de tiendas activas

Solo aparecen en esta tabla las tiendas con facturación < 65 % de dicha media.

Columna Definición
Tienda Nombre de la tienda (clic para ir al detalle)
Tier Clasificación por volumen
Facturación Ingresos YTD de la tienda
Delta vs media Diferencia porcentual entre la facturación de la tienda y la media por tienda
Media empresa Valor absoluto de la media por tienda activa (para referencia)
Uds. Unidades vendidas
Stock Unidades en stock actualmente
22
Tiendas Cerradas en el Periodo

Lista de tiendas cuya fecha_cierre cae dentro del periodo YTD (entre el 1 de enero y hoy). Se muestran de forma separada para que no contaminen los rankings de rendimiento de las secciones anteriores.

Columna Definición
Tienda Nombre de la tienda
Tier Clasificación por volumen
Fecha cierre Fecha en la que la tienda cesó operaciones
Facturación Ingresos generados hasta la fecha de cierre dentro del YTD
Delta Variación porcentual respecto al mismo periodo del año anterior
Uds. Unidades vendidas hasta el cierre
Incidencias Número de incidencias registradas
Este bloque permite evaluar el rendimiento parcial de las tiendas cerradas sin que su caída natural (por cierre) distorsione las comparativas de tiendas activas.
23
10 Productos con Mayor Caída YTD

Muestra los 10 artículos cuya facturación YTD ha caído más respecto al año anterior.

Filtros de inclusión:

  • Facturación año anterior > 100 € (descarta artículos marginales)
  • Facturación año actual > 0 € (artículos con cero ventas se muestran en la sección 25 — «Artículos sin venta»)
Columna Definición
Producto Nombre del artículo (clic para ir a /article-detail?codart=X)
Categoría Familia o categoría del artículo
Facturación Ingresos YTD del artículo
Delta Variación porcentual vs año anterior
Uds. Unidades vendidas
Stock Unidades en stock actualmente
★ Must Have Estrella visible si el artículo está marcado como must have
24
10 Productos por Debajo de la Media

Artículos cuya facturación YTD es inferior al 50 % de la media por artículo.

Cálculo de la media:

Media por artículo = Facturación total de todos los artículos YTD / Número de artículos con ventas

Se muestran los 10 artículos con mayor desviación negativa respecto a esa media. Las columnas son las mismas que en la sección 23 (producto, categoría, facturación, delta vs media, unidades, stock, must have).

25
Artículos sin Venta YTD

Artículos que vendieron más de 50 € el año anterior pero que registran 0 € de facturación en el YTD actual. Están ordenados por facturación del año anterior de mayor a menor, lo que permite priorizar los artículos que más vendían y ahora están inactivos.

Objetivo: identificar dead stock — artículos que dejaron de venderse y que pueden estar ocupando espacio en almacén o tiendas.

Columna Definición
Producto Nombre del artículo (clic para ir al detalle)
Categoría Familia del artículo
Fact. año anterior Facturación en el mismo periodo YTD del año anterior
Uds. año anterior Unidades vendidas el año anterior en el mismo periodo
Stock Unidades en stock actualmente. Se muestra en rojo si es > 0, indicando stock inmovilizado sin rotación
★ Must Have Estrella si el artículo es must have — especialmente relevante porque un must have sin ventas requiere acción inmediata
Indicador visual: el stock en rojo señala artículos con inventario > 0 que no se están vendiendo. Estos son los candidatos prioritarios para acciones comerciales (reubicación, promoción, liquidación).