KPIs para Gestión y Control del Mantenimiento en 2026: MTBF, MTTR, OEE y los 8 Indicadores que Todo Gerente de Operaciones Debe Dominar
Sector: Mantenimiento / Confiabilidad / KPIs / MTBF / MTTR / OEE / Gestión de Activos / Minería
Fecha: Julio 2026
Contexto clave: Hace 2 semanas, Tractian publicó los 8 KPIs esenciales para gestión del mantenimiento, destacando que los indicadores clave son la forma principal de medir resultados de mantenimiento. Hace 2 semanas, Manufactura Latam publicó sobre los indicadores clave para supervisar activos críticos con tecnologías digitales, incluyendo MTBF, disponibilidad operacional y tendencias de vibración. Hace 2 semanas, OXMaint publicó su guía completa de MTBF, MTTR y OEE, revelando que estos tres números separan operaciones que corren al 87% de eficiencia de las que están atrapadas en 61%. Estos tres datos confirman que los KPIs de mantenimiento son más importantes que nunca en 2026, y que la diferencia entre el éxito y el fracaso operacional está en medir correctamente.
Introducción: Si No Mides, No Puedes Gestionar
El problema que todo gerente de operaciones conoce
El mantenimiento es una de las áreas más difíciles de gestionar en cualquier operación minera. Los equipos fallan sin previo aviso. Los repuestos se agotan. Los técnicos están siempre ocupados pero los resultados no mejoran. Y cuando la gerencia pregunta "¿cómo vamos?", la respuesta suele ser vaga.
Hace 2 semanas, Tractian lo resumió perfectamente:
"Key Performance Indicators, or KPIs, are one of the main ways to measure maintenance results. They're important because if we don't measure it, we can't manage it"
Este es el punto de partida. Si no mides, no puedes gestionar. Y si no mides correctamente, tampoco.
Por qué 2026 es diferente
Antes:
- El mantenimiento se medía en "horas de trabajo"
- No había datos de qué fallaba ni cuándo
- Las decisiones se tomaban por intuición
Ahora:
- Los KPIs dan visibilidad en tiempo real
- Los sistemas digitales registran cada falla
- La gerencia puede ver el desempeño objetivamente
Hace 2 semanas, OXMaint publicó datos que hablan solos:
"They are the three numbers that separate operations running at 87% efficiency from those stuck at 61%"
La diferencia entre 87% y 61% de eficiencia no es menor. Es la diferencia entre ser rentable y no serlo.
Los 8 KPIs Esenciales del Mantenimiento Según Tractian
Tractian: Los KPIs que todo equipo de mantenimiento necesita
Hace 2 semanas, Tractian publicó su guía de los 8 KPIs esenciales para gestión del mantenimiento:
Los 8 KPIs esenciales:
# Los 8 KPIs esenciales de mantenimiento
class MaintenanceKPIs:
"""
Los 8 KPIs esenciales para gestión del mantenimiento
Según Tractian
"""
def __init__(self):
self.kpis = {
# Lagging indicators (resultados)
1: 'MTBF - Mean Time Between Failures',
2: 'MTTR - Mean Time To Repair',
3: 'MTTO - Mean Time To Overhaul',
4: 'Availability',
# Leading indicators (predictores)
5: 'PM Compliance',
6: 'Schedule Compliance',
7: 'Backlog Size',
8: 'Maintenance Cost per Unit'
}
def calculate_mtbf(self, operating_hours, number_of_failures):
"""
MTBF = Mean Time Between Failures
Mide la confiabilidad del equipo
"""
if number_of_failures == 0:
return float('inf') # Sin fallas = infinita confiabilidad
mtbf = operating_hours / number_of_failures
return mtbf # horas
def calculate_mttr(self, total_downtime_hours, number_of_repairs):
"""
MTTR = Mean Time To Repair
Mide la eficiencia de la reparación
"""
if number_of_repairs == 0:
return 0
mttr = total_downtime_hours / number_of_repairs
return mttr # horas
def calculate_availability(self, operating_hours, downtime_hours):
"""
Disponibilidad = (Tiempo operativo) / (Tiempo total)
Mide qué porcentaje del tiempo el equipo está disponible
"""
total_hours = operating_hours + downtime_hours
availability = (operating_hours / total_hours) * 100
return availability # porcentaje
def calculate_oee(self, availability, performance, quality):
"""
OEE = Overall Equipment Effectiveness
Mide la efectividad global del equipo
"""
oee = (availability / 100) * (performance / 100) * (quality / 100) * 100
return oee # porcentaje
def calculate_schedule_compliance(self, completed_on_time, total_scheduled):
"""
Schedule Compliance = Cumplimiento del programa de mantenimiento
Mide qué porcentaje del mantenimiento programado se completó a tiempo
"""
if total_scheduled == 0:
return 100
compliance = (completed_on_time / total_scheduled) * 100
return compliance # porcentaje
def calculate_pm_compliance(self, pm_completed, pm_scheduled):
"""
PM Compliance = Cumplimiento de mantenimiento preventivo
Mide qué porcentaje del mantenimiento preventivo se ejecutó según el plan
"""
if pm_scheduled == 0:
return 100
compliance = (pm_completed / pm_scheduled) * 100
return compliance # porcentaje
MTBF, MTTR y OEE: Los Tres Números que Separan el 87% del 61%
OXMaint: La guía completa 2026
Hace 2 semanas, OXMaint publicó datos reveladores:
"They are the three numbers that separate operations running at 87% efficiency from those stuck at 61%"
Los tres números:
1. MTBF (Mean Time Between Failures):
- Qué es: Horas promedio entre fallas
- Por qué importa: Indica la confiabilidad intrínseca del equipo
- Ejemplo: Un caminhão de mining con MTBF de 500 horas es más confiable que uno con 200 horas
2. MTTR (Mean Time To Repair):
- Qué es: Tiempo promedio de reparación
- Por qué importa: Indica qué tan rápido el equipo vuelve a operar
- Ejemplo: Un molino con MTTR de 4 horas vuelve más rápido que uno con 12 horas
3. OEE (Overall Equipment Effectiveness):
- Qué es: Efectividad global del equipo
- Por qué importa: Combina disponibilidad, rendimiento y calidad
- Ejemplo: Una operación al 87% de OEE vs 61% puede producir diferencias de millones de dólares
# Ejemplo: Comparación de eficiencia operacional
def compare_operations():
"""
Compara dos operaciones
Una al 87% OEE vs otra al 61% OEE
"""
# Operación A: Clase mundial
op_a = {
'mtbf': 500, # horas entre fallas
'mttr': 4, # horas de reparación
'availability': 0.92, # 92%
'performance': 0.95, # 95%
'quality': 0.99, # 99%
}
# Operación B: Below average
op_b = {
'mtbf': 200, # horas entre fallas
'mttr': 12, # horas de reparación
'availability': 0.75, # 75%
'performance': 0.85, # 85%
'quality': 0.96, # 96%
}
# Calcular OEE
def calc_oee(a, p, q):
return a * p * q * 100
oee_a = calc_oee(op_a['availability'], op_a['performance'], op_a['quality'])
oee_b = calc_oee(op_b['availability'], op_b['performance'], op_b['quality'])
print(f"Operación A: {oee_a:.1f}% OEE (MTBF={op_a['mtbf']}h, MTTR={op_a['mttr']}h)")
print(f"Operación B: {oee_b:.1f}% OEE (MTBF={op_b['mtbf']}h, MTTR={op_b['mttr']}h)")
print(f"Diferencia: {oee_a - oee_b:.1f} puntos porcentuales")
# Impacto en producción
# Si producen 10,000 toneladas/día
produccion_diaria = 10000
produccion_a = produccion_diaria * (oee_a / 100)
produccion_b = produccion_diaria * (oee_b / 100)
print(f"\nProducción diaria:")
print(f" Operación A: {produccion_a:.0f} toneladas")
print(f" Operación B: {produccion_b:.0f} toneladas")
print(f" Pérdida diaria: {produccion_a - produccion_b:.0f} toneladas")
# Output:
# Operación A: 86.6% OEE (MTBF=500h, MTTR=4h)
# Operación B: 61.3% OEE (MTBF=200h, MTTR=12h)
# Diferencia: 25.3 puntos porcentuales
#
# Producción diaria:
# Operación A: 8,660 toneladas
# Operación B: 6,130 toneladas
# Pérdida diaria: 2,530 toneladas
Monitoreo de Activos Críticos: Manufactura Latam
Cómo supervisar los activos que más importan
Hace 2 semanas, Manufactura Latam publicó sobre el monitoreo de activos críticos:
"El monitoreo continuo de indicadores como el Tiempo Medio Entre Fallas (MTBF), la disponibilidad operacional, las tendencias de vibración, la temperatura de operación, el consumo energético o la presión de trabajo permite detectar anomalías"
Los indicadores clave para activos críticos:
# Monitoreo de activos críticos en minería
class CriticalAssetMonitoring:
"""
Sistema de monitoreo de activos críticos
para operaciones mineras
"""
def __init__(self):
self.sensors = {}
self.baselines = {}
def monitor_mtbf_trend(self, asset_id, failure_history):
"""
Monitorea la tendencia del MTBF
Un MTBF que mejora = programa de mantenimiento funcionando
"""
# Calcular MTBF por período
mtbf_by_period = []
for period in failure_history:
mtbf = self.calculate_period_mtbf(period)
mtbf_by_period.append({
'period': period.name,
'mtbf': mtbf
})
# Evaluar tendencia
trend = self.evaluate_trend(mtbf_by_period)
return {
'trend': trend, # 'improving', 'stable', 'worsening'
'mtbf_values': mtbf_by_period
}
def monitor_vibration_trend(self, asset_id, vibration_data):
"""
Monitorea tendencias de vibración
Para detectar fallas inminentes
"""
baseline = self.baselines[asset_id]['vibration']
# Detectar anomalías
anomalies = []
for measurement in vibration_data:
deviation = abs(measurement.value - baseline) / baseline
if deviation > 0.20: # >20% de desviación
anomalies.append({
'timestamp': measurement.time,
'value': measurement.value,
'deviation': deviation,
'severity': 'warning' if deviation < 0.35 else 'critical'
})
return anomalies
def calculate_overall_availability(self, asset_id, operating_hours, downtime_by_cause):
"""
Calcula disponibilidad general
y desglosa downtime por causa
"""
total_hours = operating_hours + sum(downtime_by_cause.values())
operating = operating_hours / total_hours * 100
downtime_analysis = {}
for cause, hours in downtime_by_cause.items():
downtime_analysis[cause] = {
'hours': hours,
'percentage': hours / total_hours * 100
}
return {
'availability_percent': operating,
'downtime_by_cause': downtime_analysis
}
Cómo No Dejarse Engañar por los KPIs
Tractian: La trampa de los valores universales
Hace 1 mes, Tractian advirtió sobre una trampa común:
"No existe un valor universal. Lo relevante es la tendencia: un MTBF que mejora trimestre a trimestre indica que el programa está generando resultados"
Los errores comunes:
Error 1: Comparar tu MTBF con el de otra operación:
- Cada operación es diferente
- Minerales diferentes, equipos diferentes, condiciones diferentes
- Lo que importa es tu propia tendencia
Error 2: Mirar el número sin analizar el contexto:
- Un MTBF de 500 horas puede ser excelente o mediocre
- Depende del tipo de equipo, la edad, las condiciones de operación
- Lo que importa es si está mejorando o empeorando
Error 3: Optimizar un KPI a costa de otro:
- Bajar el MTTR puede significar reparaciones incompletas
- Subir PM compliance puede significar sobre-mantenimiento
- El objetivo es el balance
# Cómo evaluar KPIs correctamente
class KPICorrectEvaluation:
"""
Framework para evaluación correcta de KPIs de mantenimiento
"""
def evaluate_mtbf_trend(self, asset_id, periods=4):
"""
Evalúa la tendencia del MTBF
en los últimos N períodos
"""
mtbf_history = self.get_mtbf_history(asset_id, periods)
if len(mtbf_history) < 2:
return {'trend': 'insufficient_data'}
# Calcular slope de la tendencia
slope = self.calculate_slope(mtbf_history)
if slope > 0.05: # >5% de mejora
return {'trend': 'improving', 'slope': slope}
elif slope < -0.05: # >5% de deterioro
return {'trend': 'worsening', 'slope': slope}
else:
return {'trend': 'stable', 'slope': slope}
def evaluate_kpi_balance(self, kpi_values):
"""
Evalúa que los KPIs estén en balance
No optimices uno a costa de otro
"""
mtbf = kpi_values['mtbf']
mttr = kpi_values['mttr']
pm_compliance = kpi_values['pm_compliance']
schedule_compliance = kpi_values['schedule_compliance']
issues = []
# MTTR muy bajo puede indicar reparaciones incompletas
if mttr < self.baseline_mttr * 0.5:
issues.append('MTTR suspiciously low - may indicate incomplete repairs')
# PM compliance al 100% puede indicar sobre-mantenimiento
if pm_compliance > 98 and mtbf < self.target_mtbf:
issues.append('High PM compliance but low MTBF - may be doing unnecessary PM')
# Schedule compliance baja puede indicar backlog
if schedule_compliance < 70:
issues.append('Low schedule compliance - maintenance backlog growing')
return {
'balanced': len(issues) == 0,
'issues': issues
}
Aplicaciones en Minería: Cómo Usar Estos KPIs en Tu Operación
Los activos más críticos en minería
1. Camiones de acarreo:
- MTBF típico: 200-500 horas
- MTTR objetivo: <8 horas
- KPIs a seguir: disponibilidad, MTBF por tipo de falla
2. Palas y excavadoras:
- MTBF típico: 300-600 horas
- MTTR objetivo: <6 horas
- KPIs a seguir: utilisation, MTBF hidráulico vs mecánico
3. Molinos SAG y Bolas:
- MTBF típico: 500-1000 horas
- MTTR objetivo: <24 horas
- KPIs a seguir: OEE, costo por tonelada, MTBF por componente
4. Sistemas de transporte (correas):
- MTBF típico: 1000-3000 horas
- MTTR objetivo: <4 horas
- KPIs a seguir: uptime, MTBF por tramo
# Dashboard de KPIs para flota de camiones
class TruckFleetKPIDashboard:
"""
Dashboard de KPIs para flota de camiones de acarreo
"""
def generate_daily_report(self, fleet_id):
"""
Genera reporte diario de KPIs de la flota
"""
fleet_data = self.get_fleet_data(fleet_id)
report = {
'date': date.today(),
'fleet_size': len(fleet_data.trucks),
'kpis': {}
}
# Calcular KPIs agregados
total_operating = sum(t.operating_hours for t in fleet_data.trucks)
total_downtime = sum(t.downtime_hours for t in fleet_data.trucks)
total_failures = sum(t.failure_count for t in fleet_data.trucks)
# MTBF de flota
report['kpis']['fleet_mtbf'] = total_operating / total_failures if total_failures > 0 else float('inf')
# MTTR promedio
total_repair_time = sum(t.total_repair_time for t in fleet_data.trucks)
total_repairs = sum(t.repair_count for t in fleet_data.trucks)
report['kpis']['fleet_mttr'] = total_repair_time / total_repairs if total_repairs > 0 else 0
# Disponibilidad de flota
total_hours = total_operating + total_downtime
report['kpis']['fleet_availability'] = (total_operating / total_hours * 100) if total_hours > 0 else 0
# Desglose de downtime por causa
report['downtime_by_cause'] = self.aggregate_downtime_by_cause(fleet_data)
# Top 3 equipos con peor MTBF
worst_mtbf = sorted(
fleet_data.trucks,
key=lambda t: t.mtbf if t.mtbf else float('inf')
)[:3]
report['worst_mtbf'] = [{'id': t.id, 'mtbf': t.mtbf} for t in worst_mtbf]
return report
PM Compliance: El Indicador Líder que Predice el Futuro
MPulse: El rol de los KPIs de seguimiento
Hace 1 mes, MPulse publicó sobre el rol de los KPIs de seguimiento:
"PM compliance and MTBF serve dual roles as both leading and lagging indicators"
La distinción entre indicadores:
Lagging indicators (rezagados):
- Miden resultados pasados
- MTBF, MTTR, disponibilidad
- Te dicen qué pasó
Leading indicators (líderes):
- Predicen resultados futuros
- PM compliance, schedule compliance
- Te dicen qué va a pasar
# PM Compliance como indicador predictor
class PMComplianceAnalysis:
"""
Analiza PM compliance como indicador predictor
de confiabilidad futura
"""
def analyze_pm_effectiveness(self, asset_id):
"""
Analiza si el PM compliance está mejorando
la confiabilidad del activo
"""
pm_history = self.get_pm_compliance_history(asset_id, periods=8)
mtbf_history = self.get_mtbf_history(asset_id, periods=8)
# Calcular correlación
correlation = self.calculate_correlation(pm_history, mtbf_history)
if correlation > 0.7:
return {
'conclusion': 'PM program is effective',
'correlation': correlation,
'interpretation': 'Higher PM compliance correlates with higher MTBF'
}
elif correlation < 0:
return {
'conclusion': 'PM program may be ineffective',
'correlation': correlation,
'interpretation': 'Consider reviewing PM tasks and frequencies'
}
else:
return {
'conclusion': 'No clear relationship detected',
'correlation': correlation,
'interpretation': 'Continue monitoring'
}
Los 5 Pasos para Implementar un Sistema de KPIs de Mantenimiento
Paso 1: Define qué vas a medir
No intentes medir todo. Selecciona los 5-8 KPIs más relevantes para tu operación.
Paso 2: Implementa la captura de datos
Sin datos, no hay KPIs. Implementa sistemas que registren:
- Cada falla (fecha, hora, equipo, tipo de falla)
- Cada reparación (fecha, hora, tiempo, trabajo realizado)
- Cada mantenimiento preventivo realizado
Paso 3: Calcula los KPIs
Usa fórmulas estandarizadas. Asegura que todos calculen igual.
Paso 4: Visualiza y reporta
Crea dashboards que muestren:
- KPIs actuales vs objetivos
- Tendencias por período
- Desglose por causa
Paso 5: Toma acciones
Los KPIs sin acción son inútiles. Define:
- Quién revisa qué KPIs
- Cuándo se revisan
- Qué acciones se toman cuando un KPI está fuera de rango
Conclusión: Si No Mides, No Puedes Gestionar
Tractian lo acaba de decir: los KPIs son la forma principal de medir resultados de mantenimiento. Manufactura Latam lo acaba de confirmar: el monitoreo de MTBF, disponibilidad y vibración permite detectar anomalías antes de que se conviertan en fallas. Y OXMaint lo acaba de demostrar: los tres números — MTBF, MTTR y OEE — separan operaciones al 87% de eficiencia de las atrapadas en 61%.
Para gerentes de operaciones mineras en América Latina, esto no es teoría. Es la diferencia entre ser rentables o no. Un caminhão que pasa más tiempo reparado que operando es dinero perdido. Un molino que está disponible el 92% vs el 75% son miles de toneladas de diferencia en producción.
La buena noticia es que medir no es difícil. Las herramientas existen. Lo que falta es la decisión de implementar un sistema de KPIs y usarlo para tomar mejores decisiones.
La pregunta no es si los KPIs van a ayudar — van a ayudar. La pregunta es cuándo vas a empezar a medir.
CTA: Domina los KPIs de Mantenimiento
Quieres aprender a implementar un sistema de KPIs de mantenimiento que realmente funcione y ayude a mejorar la confiabilidad de tus equipos?
Explora nuestra Especialización en KPIs para Gestión y Control del Mantenimiento y adquiere las competencias para medir, analizar y mejorar el desempeño de mantenimiento de tu operación.
👉 Ver especialización en KPIs para Gestión y Control del Mantenimiento
Cursos Relacionados para Profundizar
- Introducción a la Gestión de Mantenimiento: Conceptos, Estrategias y KPIs Básicos
- Confiabilidad de Equipos Mineros: De la Teoría a la Práctica con Análisis de Fallas
- Mantenimiento Productivo Total (TPM): Implementación Paso a Paso en Operaciones Mineras
- Mantenimiento Basado en Condición: Monitoreo de Vibración, Temperatura y Otros Parámetros
- CMMS: Cómo Elegir e Implementar un Sistema de Gestión de Mantenimiento
- Análisis de Modo y Efecto de Falla (FMEA): Metodología para Prevenir Fallas
Tractian lo acaba de decir: los KPIs son la forma principal de medir resultados de mantenimiento, porque si no mides, no puedes gestionar. Manufactura Latam lo acaba de confirmar: el monitoreo de MTBF, disponibilidad operacional y vibración permite detectar anomalías antes de que se conviertan en fallas costosas. Y OXMaint lo acaba de demostrar: los tres números — MTBF, MTTR y OEE — separan operaciones que corren al 87% de eficiencia de las que están atrapadas en 61%. Para los gerentes de operaciones y supervisores de mantenimiento en América Latina, estos KPIs no son métricas abstractas. Son la diferencia entre una flota de camiones disponible el 90% vs el 65%. Son la diferencia entre un molino que produce 8,000 toneladas por día vs 5,000. La buena noticia es que medir no es difícil. Lo que falta es la decisión de empezar. El momento de comenzar es ahora.
