Bom dia,
Suponho que MTBF significa tempo médio entre falhas. A palavra "falha" frequentemente cria alguma confusão: MTBF comumente mede o "tempo de atividade" - períodos entre falhas.
Para calcular o tempo médio entre falhas, é necessário rastrear os momentos em que as falhas foram resolvidas e quando começaram. A distância de tempo entre a resolução e o início de uma falha é o período de tempo entre eventos de falha: tempo de atividade.
A soma de todos os períodos de tempo entre eventos de falha dividida pelo número de eventos de falha fornecerá um tempo médio entre falhas no período de tempo que está sendo considerado para avaliação.
UP ------>| |--------------->| |------------->|
falha ativo falha ativo falha
ABAIXO |===========>| |=========>| |===>
Tempo => 0 --------- 10 ------------- 20 -------- 25 ---------- 50 ----
No exemplo acima, temos dois períodos completos de operação, 10 unidades de 10 a 20 e 25 unidades de 25 a 50. Assim, temos 35 unidades de tempo de atividade (entre falhas) e dois ciclos de falha que levam a 35 / 2 => 17.5 unidades de tempo entre falhas.
Para complicar mais as coisas, algumas organizações precisam considerar não apenas o estado binário de inatividade versus atividade, mas também considerar quando o componente ou sistema precisava estar operacional. Se uma falha é resolvida em um componente ou sistema, mas o tempo de atividade não começa, então a soma final das durações de tempo de inatividade <> soma de tempos de atividade.
Em relação aos seus cálculos, como não tenho conhecimento sobre o design específico da tabela Z do seu cliente, não posso confirmar definitivamente seu pseudocódigo. Confio que você possa usar a explicação acima juntamente com seu conhecimento do design de sua tabela Z para alcançar um nível de confiança.