Los KPIs operativos miden la eficiencia y efectividad de las operaciones de transporte, siendo los indicadores más directos del impacto de SIGA en el negocio diario.
def calcular_ratio_km_vacios():
"""
Ratio Km Vacíos = (Km sin carga / Km totales) × 100
"""
# Datos ejemplo mensual
km_totales = 312500 # 50 vehículos × 6250 km/mes
km_con_carga = 225000
km_vacios = km_totales - km_con_carga
ratio = (km_vacios / km_totales) * 100
return {
'km_totales': km_totales,
'km_con_carga': km_con_carga,
'km_vacios': km_vacios,
'ratio_porcentaje': ratio,
'benchmark_industria': 25,
'objetivo_siga': 10
}
| Período | Baseline | Target | Real* | Status |
|---|---|---|---|---|
| Mes 0 | 32% | 32% | 32% | 🔴 |
| Mes 1 | 32% | 30% | 29.5% | 🟢 |
| Mes 3 | - | 25% | 23.8% | 🟢 |
| Mes 6 | - | 20% | 18.2% | 🟢 |
| Mes 12 | - | 10% | 8.3% | 🟢 |
*Proyección basada en casos similares
┌─────────────────────────────────────────────────────────┐
│ UTILIZACIÓN DE FLOTA │
├─────────────────────────────────────────────────────────┤
│ │
│ Fórmula: Horas Productivas / Horas Disponibles × 100 │
│ │
│ Componentes: │
│ ├─ Tiempo conduciendo con carga: 65% │
│ ├─ Tiempo carga/descarga: 15% │
│ ├─ Tiempo reposicionamiento: 8% │
│ ├─ Tiempo espera: 7% │
│ └─ Tiempo no productivo: 5% │
│ │
│ Utilización Actual: 88% │
│ Objetivo SIGA: 93% │
└─────────────────────────────────────────────────────────┘
utilizacion_por_tipo = {
'furgonetas': {
'actual': 0.85,
'objetivo': 0.90,
'mejora_esperada': '+5.9%'
},
'camiones_medianos': {
'actual': 0.88,
'objetivo': 0.93,
'mejora_esperada': '+5.7%'
},
'trailers': {
'actual': 0.91,
'objetivo': 0.95,
'mejora_esperada': '+4.4%'
}
}
Tiempo desde que se recibe una solicitud de transporte hasta que se asigna un vehículo y se confirma al cliente.
| Componente | Actual | Con SIGA | Mejora |
|---|---|---|---|
| Análisis solicitud | 5 min | 30 seg | -90% |
| Búsqueda vehículo | 8 min | 45 seg | -91% |
| Evaluación opciones | 7 min | 20 seg | -95% |
| Confirmación | 3 min | 2 min | -33% |
| TOTAL | 23 min | 3.6 min | -84% |
def calcular_otd_metrics():
"""Calcula métricas de entregas a tiempo"""
entregas_mes = 2847
# Clasificación de entregas
entregas = {
'a_tiempo': 2564, # ±30 min ventana
'retraso_menor': 198, # 30-120 min tarde
'retraso_mayor': 57, # >120 min tarde
'anticipadas_exceso': 28 # >60 min temprano
}
# Cálculos
otd_estricto = entregas['a_tiempo'] / entregas_mes * 100
otd_flexible = (entregas['a_tiempo'] + entregas['retraso_menor']) / entregas_mes * 100
# Análisis causas retrasos
causas_retraso = {
'trafico_imprevisto': 0.35,
'problemas_carga': 0.25,
'errores_planificacion': 0.20, # Reducible con SIGA
'averias': 0.10,
'otros': 0.10
}
return {
'otd_estricto': otd_estricto, # 90.1%
'otd_flexible': otd_flexible, # 97.0%
'mejora_esperada_siga': '+8%', # Por mejor planificación
'reduccion_retrasos_planif': '75%'
}
┌─────────────────────────────────────────────────────────┐
│ PRODUCTIVIDAD POR VEHÍCULO │
├─────────────────────────────────────────────────────────┤
│ │
│ Métricas Clave: │
│ ├─ Km productivos/día: 285 → 342 (+20%) │
│ ├─ Entregas/día: 4.2 → 5.1 (+21%) │
│ ├─ Facturación/día: €487 → €621 (+28%) │
│ └─ Utilización capacidad: 73% → 86% (+18%) │
│ │
│ Factor de mejora SIGA: │
│ • Mejor secuenciación de entregas │
│ • Reducción tiempos muertos │
│ • Optimización de rutas │
│ • Cargas de retorno inteligentes │
└─────────────────────────────────────────────────────────┘
def generar_dashboard_operativo():
"""Genera dashboard de KPIs operativos en tiempo real"""
dashboard = {
'timestamp': datetime.now(),
'kpis_principales': {
'km_vacios': {
'actual': 18.7,
'target': 20.0,
'trend': 'descendente',
'status': 'green'
},
'utilizacion_flota': {
'actual': 89.3,
'target': 88.0,
'trend': 'ascendente',
'status': 'green'
},
'tiempo_respuesta': {
'actual': 4.2,
'target': 5.0,
'trend': 'estable',
'status': 'green'
},
'otd': {
'actual': 94.8,
'target': 92.0,
'trend': 'ascendente',
'status': 'green'
}
},
'alertas': [
{
'tipo': 'oportunidad',
'mensaje': 'Utilización >95% en zona Barcelona',
'accion': 'Considerar rebalanceo flota'
}
]
}
return dashboard
correlaciones_kpi = {
'km_vacios_vs_margen': {
'correlacion': -0.87,
'interpretacion': 'Fuerte correlación negativa: menos km vacíos = mayor margen'
},
'tiempo_respuesta_vs_satisfaccion': {
'correlacion': -0.76,
'interpretacion': 'Respuesta rápida mejora satisfacción cliente'
},
'utilizacion_vs_otd': {
'correlacion': 0.45,
'interpretacion': 'Correlación positiva moderada, balance necesario'
}
}
Patrones Identificados:
├─ Lunes: +18% demanda vs promedio
├─ Viernes: +12% km vacíos (retornos)
├─ Agosto: -25% volumen general
├─ Diciembre: +35% demanda urbana
└─ Post-festivos: +40% picos demanda
| KPI | SIGA Objetivo | Industria Avg | Best-in-Class | SIGA Posición |
|---|---|---|---|---|
| Km vacíos | 10% | 25% | 18% | Líder |
| Utilización | 93% | 75% | 85% | Líder |
| Tiempo respuesta | 3.6 min | 20 min | 10 min | Líder |
| OTD | 95% | 88% | 92% | Top 10% |
| Productividad | +28% | Baseline | +15% | Líder |
alertas_operativas = {
'km_vacios_alto': {
'umbral': 25,
'actual': 18.7,
'estado': 'OK',
'accion': None
},
'utilizacion_baja': {
'umbral': 80,
'actual': 89.3,
'estado': 'OK',
'accion': None
},
'tiempo_respuesta_alto': {
'umbral': 10,
'actual': 4.2,
'estado': 'OK',
'accion': None
},
'otd_bajo': {
'umbral': 90,
'actual': 94.8,
'estado': 'OK',
'accion': None
},
'concentracion_zona': {
'umbral': 5, # vehículos en misma zona
'actual': 7, # Barcelona
'estado': 'ALERTA',
'accion': 'Rebalancear 2 vehículos a Tarragona'
}
}
| Trimestre | Foco Principal | Meta KPI | Acciones |
|---|---|---|---|
| Q1 2024 | Km vacíos | 25% → 20% | Quick wins + alertas |
| Q2 2024 | Utilización | 85% → 90% | Optimizador multi-día |
| Q3 2024 | Tiempo respuesta | 10min → 5min | Automatización |
| Q4 2024 | OTD | 92% → 95% | ML predictivo |
Los KPIs operativos demuestran el impacto transformador de SIGA:
"Lo que no se mide, no se puede mejorar. SIGA mide todo y mejora continuamente."