Indústria e Manufatura
Chão de fábrica: OEE, manutenção e aderência ao plano
Contexto
Indústria de autopeças com 3 plantas, 46 máquinas críticas e produção em três turnos. Cada planta calculava OEE de uma forma, o que impedia qualquer comparação. A manutenção era reativa e o PCP não conseguia enxergar o impacto das paradas no plano. O objetivo é um padrão único de OEE, visão de perdas por causa e ligação direta entre disponibilidade e aderência ao plano de produção.
Perguntas que o painel deve responder
- Qual máquina tem o pior OEE e qual das três perdas explica isso?
- Quais são as 5 causas de parada que respondem por 80% do tempo perdido?
- A manutenção preventiva está reduzindo as quebras ou apenas consumindo horas?
- Quantas horas de produção eu perdi por falta de material em vez de falha de máquina?
- O turno da noite produz com a mesma eficiência do turno da manhã?
Indicadores e metas
| Indicador | Meta | Por que importa |
|---|---|---|
| OEE (Eficiência Global do Equipamento) | ≥ 75% (classe mundial: 85%) | O indicador mestre de manufatura; multiplica disponibilidade, performance e qualidade |
| Disponibilidade | ≥ 90% | Isola perdas de parada (setup, quebra, falta de material) |
| Performance | ≥ 95% | Isola perdas de velocidade e microparadas |
| Qualidade | ≥ 99% | Isola refugo e retrabalho |
| MTBF (Tempo Médio entre Falhas) | ≥ 180 h | Mede a confiabilidade do ativo |
| MTTR (Tempo Médio de Reparo) | ≤ 2,5 h | Mede a capacidade de resposta da manutenção |
| Aderência ao Plano de Produção | ≥ 95% | Produzir muito do item errado não atende o cliente |
| Custo de Manutenção sobre Valor do Ativo | ≤ 3,5% a.a. | Equilibra confiabilidade e gasto |
| Scrap (Refugo) % | ≤ 1,2% | Perda direta de matéria-prima, energia e capacidade |
Modelo de dados
O modelo de manufatura gira em torno de duas fatos: apontamento de produção (o que foi produzido) e apontamento de parada (o tempo que não produziu e por quê). A soma dos dois deve fechar exatamente com o tempo de calendário da máquina — essa conciliação é o teste de qualidade do dado.
| Tabela | Granularidade | Campos-chave |
|---|---|---|
| fProducao | Ordem × Máquina × Turno | Qtd boa, qtd refugo, tempo de ciclo real |
| fParadas | Evento de parada | Início, fim, máquina, motivo, tipo (planejada/não planejada) |
| fPlanoProducao | Dia × Máquina × Produto | Quantidade planejada |
| fManutencao | Ordem de manutenção | Tipo (preventiva/corretiva/preditiva), custo, horas |
| dMaquina | Máquina | Centro de trabalho, planta, capacidade nominal, valor do ativo |
| dMotivoParada | Motivo | Categoria das 6 grandes perdas |
| dTurno | Turno | Início, fim, horas úteis, intervalos |
| dProduto / dCalendario | Dimensões | Tempo de ciclo padrão por produto e máquina |
Medidas DAX
OEE e seus três componentes
Tempo Calendário =SUMX( VALUES( dMaquina[IdMaquina] ), [Horas do Período] ) * 60 -- em minutos Paradas Planejadas =CALCULATE( SUM( fParadas[DuracaoMinutos] ), dMotivoParada[Tipo] = "Planejada" ) Tempo Programado = [Tempo Calendário] - [Paradas Planejadas] Paradas Não Planejadas =CALCULATE( SUM( fParadas[DuracaoMinutos] ), dMotivoParada[Tipo] = "Não planejada" ) Tempo Operacional = [Tempo Programado] - [Paradas Não Planejadas] Disponibilidade % = DIVIDE( [Tempo Operacional], [Tempo Programado] ) Tempo Teórico de Produção =SUMX( fProducao, fProducao[QtdTotalProduzida] * RELATED( dProduto[TempoCicloPadraoMin] ) ) Performance % =MIN( 1, DIVIDE( [Tempo Teórico de Produção], [Tempo Operacional] ) ) Qualidade % =DIVIDE( SUM( fProducao[QtdBoa] ), SUM( fProducao[QtdTotalProduzida] ) ) OEE % = [Disponibilidade %] * [Performance %] * [Qualidade %]Performance limitada a 100% com MIN protege contra tempo de ciclo padrão desatualizado — um clássico que gera OEE de 130% e destrói a confiança no painel.
Perdas em minutos e em peças
Perda por Disponibilidade (min) = [Paradas Não Planejadas] Perda por Performance (min) = [Tempo Operacional] - [Tempo Teórico de Produção] Perda por Qualidade (min) =SUMX( fProducao, fProducao[QtdRefugo] * RELATED( dProduto[TempoCicloPadraoMin] ) ) Peças Perdidas Equivalentes =DIVIDE( [Perda por Disponibilidade (min)] + [Perda por Performance (min)] + [Perda por Qualidade (min)], AVERAGEX( VALUES( dProduto[Produto] ), dProduto[TempoCicloPadraoMin] )) Receita Potencial Perdida =[Peças Perdidas Equivalentes] * AVERAGEX( VALUES( dProduto[Produto] ), dProduto[PrecoMedio] )Converter perda de OEE em peças e em reais é o que faz a diretoria aprovar investimento em manutenção. Percentual não move orçamento; dinheiro move.
MTBF, MTTR e disponibilidade inerente
Qtd Falhas =CALCULATE( COUNTROWS( fParadas ), dMotivoParada[Categoria] = "Quebra" ) Horas em Operação = DIVIDE( [Tempo Operacional], 60 ) MTBF = DIVIDE( [Horas em Operação], [Qtd Falhas] ) Tempo Total de Reparo =DIVIDE( CALCULATE( SUM( fParadas[DuracaoMinutos] ), dMotivoParada[Categoria] = "Quebra" ), 60) MTTR = DIVIDE( [Tempo Total de Reparo], [Qtd Falhas] ) Disponibilidade Inerente % = DIVIDE( [MTBF], [MTBF] + [MTTR] ) Máquinas Críticas em Risco =COUNTROWS( FILTER( VALUES( dMaquina[Maquina] ), [MTBF] < 100 && dMaquina[Criticidade] = "A" ))MTBF em queda com MTTR estável indica degradação do ativo. MTTR em alta com MTBF estável indica problema de processo de manutenção (peça, equipe ou procedimento) — são diagnósticos e ações completamente diferentes.
Pareto de paradas
Tempo de Parada = SUM( fParadas[DuracaoMinutos] ) Parada Acumulada % =VAR Base = ADDCOLUMNS( ALLSELECTED( dMotivoParada[Motivo] ), "@Tempo", [Tempo de Parada] )VAR Atual = [Tempo de Parada]VAR Acumulado = SUMX( FILTER( Base, [@Tempo] >= Atual ), [@Tempo] )RETURN DIVIDE( Acumulado, SUMX( Base, [@Tempo] ) ) Está nos 80% Vitais =IF( [Parada Acumulada %] <= 0.8, "Vital", "Trivial" )O Pareto de paradas é o visual que mais gera ação imediata no chão de fábrica: em geral 4 ou 5 causas explicam 80% do tempo perdido, e três delas são resolvíveis em semanas.
Manutenção: preventiva x corretiva
Horas Preventiva = CALCULATE( SUM( fManutencao[Horas] ), fManutencao[Tipo] = "Preventiva" )Horas Corretiva = CALCULATE( SUM( fManutencao[Horas] ), fManutencao[Tipo] = "Corretiva" ) Índice de Manutenção Planejada % =DIVIDE( [Horas Preventiva], [Horas Preventiva] + [Horas Corretiva] ) Cumprimento do Plano de Manutenção % =DIVIDE( CALCULATE( COUNTROWS( fManutencao ), fManutencao[Status] = "Concluída", fManutencao[DentroDoPrazo] = TRUE() ), CALCULATE( COUNTROWS( fManutencao ), fManutencao[Tipo] = "Preventiva" )) Custo de Manutenção sobre Ativo % =DIVIDE( SUM( fManutencao[CustoTotal] ), SUM( dMaquina[ValorAtivo] ) )Referência de classe mundial: pelo menos 80% das horas em manutenção planejada. Abaixo de 50%, a equipe está apagando incêndio e o MTBF só piora.
Aderência ao plano (PCP)
Qtd Planejada = SUM( fPlanoProducao[QtdPlanejada] )Qtd Produzida = SUM( fProducao[QtdBoa] ) Aderência ao Plano % =-- Penaliza tanto produzir a menos quanto produzir a mais do item erradoVAR Base = ADDCOLUMNS( SUMMARIZE( fPlanoProducao, dProduto[Produto], dCalendario[Date] ), "@Plan", [Qtd Planejada], "@Real", [Qtd Produzida] )VAR AderenteTotal = SUMX( Base, MIN( [@Plan], [@Real] ) )VAR PlanTotal = SUMX( Base, [@Plan] )RETURN DIVIDE( AderenteTotal, PlanTotal ) Desvio de Mix =SUMX( SUMMARIZE( fPlanoProducao, dProduto[Produto] ), ABS( [Qtd Produzida] - [Qtd Planejada] ))Aderência calculada com MIN(planejado, realizado) é o padrão correto: produzir 200% de um item e 0% de outro dá 100% em uma média ingênua e 50% aqui — que é a verdade.
Comparação entre turnos
OEE por Turno = [OEE %] -- basta colocar dTurno no eixo Diferença do Melhor Turno =VAR MelhorOEE = MAXX( ALLSELECTED( dTurno[Turno] ), [OEE %] )RETURN [OEE %] - MelhorOEE Ganho Potencial se Todos no Melhor Turno =VAR MelhorOEE = MAXX( ALLSELECTED( dTurno[Turno] ), [OEE %] )RETURNSUMX( VALUES( dTurno[Turno] ), ( MelhorOEE - [OEE %] ) * [Tempo Programado]) / 60A última medida responde à pergunta mais poderosa da manufatura: quantas horas de produção eu ganharia se todos os turnos operassem como o melhor deles? Costuma ser a maior oportunidade da planta, e não exige investimento em ativo.
Layout do painel
- 1Página 1 — OEE da Planta: cartão grande de OEE com os três componentes ao lado; gráfico de cascata mostrando de 100% até o OEE final, com cada perda nomeada; linha de OEE diário com meta e faixa de classe mundial.
- 2Página 2 — Por Máquina: matriz com OEE, Disponibilidade, Performance e Qualidade por máquina, ordenada por OEE crescente e com cor semântica; small multiples de tendência por centro de trabalho.
- 3Página 3 — Paradas: Pareto de motivos com linha acumulada e marcação dos 80% vitais; mapa de calor de paradas por hora e dia da semana; tempo de parada por turno.
- 4Página 4 — Manutenção: MTBF e MTTR por máquina em dispersão (quadrante inferior direito = ativos críticos); índice de manutenção planejada em linha histórica; cumprimento do plano preventivo; custo sobre ativo.
- 5Página 5 — PCP: aderência ao plano por produto e por dia; desvio de mix; ganho potencial de nivelamento entre turnos.
- 6Página 6 — Financeiro da Perda: receita potencial perdida por causa de parada, em reais, acumulada no ano — a página que patrocina o investimento.
- 7Tooltip de página em toda matriz de máquina: últimas 10 paradas com motivo e duração.
Desafio final
Implemente o OEE completo e faça a conciliação: a soma de tempo operacional, paradas planejadas e não planejadas deve fechar exatamente com o tempo de calendário de cada máquina. Crie uma medida de auditoria que mostre a diferença — se ela não for zero, o apontamento do chão de fábrica tem falha, e esse é o primeiro problema a resolver antes de confiar em qualquer indicador.