La question OEE vs TEEP surgit dès qu'une usine se demande s'il lui faut plus de machines ou simplement mieux utiliser celles qu'elle a. Les trois indicateurs abordés ici, l'OEE (le TRS, taux de rendement synthétique, dans l'industrie francophone), l'OOE et le TEEP, utilisent les mêmes facteurs de performance et de qualité ; ce qui change, c'est le temps de référence. Cet article explique chacun d'eux, déroule un exemple unique pour montrer à quel point ils peuvent diverger et liste les signaux MQTT nécessaires pour calculer les trois automatiquement.
La réponse courte
- L'OEE (TRS) mesure dans quelle mesure vous utilisez bien le temps que vous aviez prévu de produire. Utilisez-le pour améliorer l'exploitation sur le terrain.
- L'OOE mesure l'utilisation du temps pendant lequel l'activité est ouverte, y compris les arrêts planifiés à l'intérieur de ce temps. Utilisez-le quand les pauses, réunions et maintenances planifiées font partie de ce que vous voulez réduire.
- Le TEEP mesure l'utilisation de tout le temps disponible, chaque heure de chaque jour. Utilisez-le pour les décisions de capacité et d'investissement.
Si vous menez un programme d'amélioration sur une ligne, l'OEE est le bon indicateur quotidien. Si quelqu'un s'apprête à acheter une machine supplémentaire, regardez d'abord le TEEP.
Les bases de temps côte à côte
Chaque indicateur divise le temps productif par un dénominateur différent :
| Couche de temps | Ce qu'elle comprend | Indicateur qui l'utilise |
|---|---|---|
| Temps calendaire | Chaque heure, 24 heures sur 24, 7 jours sur 7 | TEEP |
| Temps d'ouverture | Heures pendant lesquelles l'usine ou la ligne est ouverte et dotée en personnel | OOE |
| Temps de production planifié | Temps d'ouverture moins les arrêts planifiés (pauses, maintenance planifiée, réunions) | OEE |
| Temps de fonctionnement | Temps de production planifié moins les arrêts non planifiés | Numérateur de la disponibilité |
| Temps net | Temps de fonctionnement corrigé des pertes de cadence | Numérateur de la performance |
| Temps utile | Temps net consacré uniquement aux pièces bonnes | Numérateur des trois |
Les formules deviennent donc :
- OEE = Temps utile / Temps de production planifié
- OOE = Temps utile / Temps d'ouverture
- TEEP = Temps utile / Temps calendaire
On peut aussi écrire TEEP = OEE x Taux de charge, où Taux de charge = Temps de production planifié / Temps calendaire. Cette forme est utile, car elle sépare deux questions : tournons-nous bien quand nous tournons (OEE), et dans quelle mesure planifions-nous l'équipement (taux de charge) ?
Un seul exemple, trois réponses
Prenons une machine sur une semaine :
- Temps calendaire : 7 jours x 24 heures = 168 heures.
- Temps d'ouverture : deux équipes de 8 heures, cinq jours par semaine = 80 heures.
- Arrêts planifiés pendant le temps d'ouverture : pauses et réunions d'une heure par poste = 10 heures, plus 4 heures de maintenance planifiée. Total : 14 heures.
- Temps de production planifié : 80 - 14 = 66 heures.
- Arrêts non planifiés : 8 heures de pannes et de changements de série. Temps de fonctionnement = 58 heures.
- Performance : 90 %. Qualité : 97 %.
Temps utile = 58 x 0,90 x 0,97 = 50,6 heures.
- OEE = 50,6 / 66 = 76,7 %
- OOE = 50,6 / 80 = 63,3 %
- TEEP = 50,6 / 168 = 30,1 %
Même machine, même semaine, trois chiffres très différents. Aucun n'est faux. L'OEE indique que l'atelier exploite plutôt bien les heures planifiées. L'OOE montre que les arrêts planifiés mordent sensiblement sur les heures d'ouverture. Le TEEP révèle que l'équipement produit des pièces bonnes moins d'un tiers du temps où il existe : l'usine dispose donc d'une importante capacité cachée avant d'avoir besoin d'une autre machine, et une troisième équipe ou une production le week-end apporterait bien plus de volume que n'importe quel projet d'amélioration.
Quand utiliser chaque indicateur
Utilisez l'OEE pour réduire les pertes sur lesquelles les opérateurs, la maintenance et les méthodes peuvent agir pendant le poste : pannes, changements de série, micro-arrêts, cadence et rebuts. C'est l'indicateur des réunions quotidiennes et des tableaux de ligne. Le calcul détaillé figure dans comment calculer l'OEE.
Utilisez l'OOE quand les arrêts planifiés sont eux-mêmes une cible : décaler les pauses pour que la ligne continue de tourner, raccourcir les passations de poste ou déplacer la maintenance planifiée hors des heures d'ouverture. L'OEE ne peut pas montrer ces gains, car les arrêts planifiés sont exclus de son dénominateur.
Utilisez le TEEP quand la question porte sur la capacité : acheter un équipement, ajouter des équipes, sous-traiter ou accepter une grosse commande. Un TEEP faible avec un OEE correct signifie généralement que la contrainte est l'ordonnancement, pas l'équipement.
Pièges courants :
- Comparer l'OEE entre usines aux règles d'arrêts planifiés différentes. Une usine qui compte les changements de série comme planifiés affiche un OEE plus élevé sans être meilleure. L'OOE le met en évidence.
- Présenter le TEEP à l'atelier. Les opérateurs ne peuvent rien aux week-ends non planifiés : le TEEP est démotivant comme indicateur de poste.
- Basculer des pertes en « planifié » pour améliorer l'OEE. Si l'OEE monte alors que l'OOE stagne, regardez ce qui a été reclassé.
Les signaux MQTT nécessaires à chaque indicateur
Bonne nouvelle : les trois indicateurs proviennent des mêmes données, à condition que les arrêts soient correctement classés. Publiez par machine :
| Signal | Exemple de suffixe de topic | OEE | OOE | TEEP |
|---|---|---|---|---|
| État machine (RUNNING, DOWN, IDLE, SETUP) | /state |
Oui | Oui | Oui |
| Compteurs total et rebuts | /counts |
Oui | Oui | Oui |
| Temps de cycle idéal par produit | /config |
Oui | Oui | Oui |
| Indicateur d'arrêt planifié avec motif (pause, maintenance préventive, réunion) | /state en PLANNED_STOP ou /reason |
Oui | Oui | Oui |
| Calendrier des équipes (heures d'ouverture) | /schedule |
Non | Oui | Non |
| Indicateur non planifié (pas d'équipe, pas de commandes) | /state en NOT_SCHEDULED |
Non | Non | Oui |
Le point critique est la classification du temps hors fonctionnement. Si une machine à l'arrêt la nuit se contente de remonter STOPPED, impossible de distinguer une panne d'un week-end sans personnel. Publiez NOT_SCHEDULED depuis un service de calendrier des équipes, ou laissez le service de calcul appliquer le calendrier. Des codes motifs d'arrêt clairs avec une catégorie « Planifié » distincte fiabilisent cette correspondance.
Calculer les trois en Python
À partir des durées par état sur une période, cette fonction renvoie les trois indicateurs. Elle est conçue pour s'intégrer à un service abonné aux topics d'état et de comptage, comme celui construit dans le tutoriel de suivi du TRS en temps réel.
def time_metrics(durations_s, total_count, reject_count, ideal_cycle_s):
"""durations_s: seconds per state over the period, e.g.
{"RUNNING": ..., "DOWN": ..., "SETUP": ..., "PLANNED_STOP": ..., "NOT_SCHEDULED": ...}"""
calendar = sum(durations_s.values())
operations = calendar - durations_s.get("NOT_SCHEDULED", 0)
planned = operations - durations_s.get("PLANNED_STOP", 0)
run = durations_s.get("RUNNING", 0)
if run <= 0 or total_count <= 0:
return {"oee": 0.0, "ooe": 0.0, "teep": 0.0, "loading": 0.0}
performance = min(ideal_cycle_s * total_count / run, 1.0)
quality = (total_count - reject_count) / total_count
productive = run * performance * quality
return {
"oee": round(productive / planned, 4),
"ooe": round(productive / operations, 4),
"teep": round(productive / calendar, 4),
"loading": round(planned / calendar, 4),
}
hours = 3600
week = {
"RUNNING": 58 * hours,
"DOWN": 5 * hours,
"SETUP": 3 * hours,
"PLANNED_STOP": 14 * hours,
"NOT_SCHEDULED": 88 * hours,
}
# 58 h run, 90 % performance -> ideal output = 58 h * 0.9 at 2 s per part
total = int(58 * hours * 0.9 / 2.0)
reject = round(total * 0.03)
print(time_metrics(week, total, reject, 2.0))
La sortie reproduit l'exemple : OEE d'environ 0,767, OOE d'environ 0,633, TEEP d'environ 0,301 et taux de charge d'environ 0,393. Publiez le résultat sous forme d'un message retenu par machine et par période, pour que les tableaux de bord montrent le bon indicateur au bon public.
Pour tester le flux de données, publiez des états de test sur le serveur MQTT public gratuit broker.connectmq.com sous votre propre préfixe :
mosquitto_pub -h broker.connectmq.com -p 1883 -i teep-test-w2k8 -r -t "connectmq/demo/w2k8/plant1/line1/press02/state" -m '{"state":"NOT_SCHEDULED","ts":1792200000}'
Héberger le pipeline
Les indicateurs ne valent que par le flux d'événements qui les alimente : le broker doit donc être fiable et privé. Un service de calendrier publiant NOT_SCHEDULED, des passerelles publiant états et compteurs, et un service de calcul publiant les résultats peuvent tous partager un même broker ConnectMQ comme clients MQTT ordinaires. ConnectMQ fournit un broker MQTT managé où chaque passerelle et chaque service de calcul dispose de ses propres identifiants sur TLS, et l'exploiter comme broker MQTT cloud donne aux équipes usine et siège une source unique pour l'OEE, l'OOE et le TEEP. Les mêmes états machine peuvent aussi alimenter le jumeau numérique d'une ligne. Le guide de l'industrie connectée explique comment ces indicateurs s'articulent avec les données de qualité, d'énergie et de maintenance.
Démarrez avec ConnectMQ
Créez un broker Serverless gratuit sur app.connectmq.com, sans carte bancaire, publiez des états machine classés et des compteurs, et calculez l'OEE, l'OOE et le TEEP à partir des mêmes données en direct.
Questions fréquentes
Le TEEP est-il toujours inférieur à l'OEE ?
Oui, ou au plus égal. Le TEEP divise le même temps utile par le temps calendaire, qui n'est jamais plus court que le temps de production planifié.
Quelle est la différence entre l'OOE et l'OEE ?
L'OOE prend le temps d'ouverture comme base : les arrêts planifiés comme les pauses et la maintenance planifiée comptent donc comme des pertes. L'OEE les exclut.
Quel indicateur afficher sur le tableau de ligne ?
L'OEE (TRS), avec ses trois facteurs. Il reflète les pertes sur lesquelles l'équipe peut agir ; le TEEP a sa place dans les revues de capacité et d'investissement.
Faut-il des capteurs supplémentaires pour le TEEP ?
Non. Il faut les mêmes états machine et compteurs que pour l'OEE, plus une classification NOT_SCHEDULED claire issue d'un calendrier des équipes.



