Todos os estudos de caso

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

IndicadorMetaPor 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 hMede a confiabilidade do ativo
MTTR (Tempo Médio de Reparo)≤ 2,5 hMede 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.

TabelaGranularidadeCampos-chave
fProducaoOrdem × Máquina × TurnoQtd boa, qtd refugo, tempo de ciclo real
fParadasEvento de paradaInício, fim, máquina, motivo, tipo (planejada/não planejada)
fPlanoProducaoDia × Máquina × ProdutoQuantidade planejada
fManutencaoOrdem de manutençãoTipo (preventiva/corretiva/preditiva), custo, horas
dMaquinaMáquinaCentro de trabalho, planta, capacidade nominal, valor do ativo
dMotivoParadaMotivoCategoria das 6 grandes perdas
dTurnoTurnoInício, fim, horas úteis, intervalos
dProduto / dCalendarioDimensõesTempo de ciclo padrão por produto e máquina

Medidas DAX

OEE e seus três componentes

DAX
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

DAX
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

DAX
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

DAX
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

DAX
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)

DAX
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

DAX
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]) / 60

A ú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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 5Página 5 — PCP: aderência ao plano por produto e por dia; desvio de mix; ganho potencial de nivelamento entre turnos.
  6. 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.
  7. 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.