Calculateur d'écart d'effort
Une tâche prévue à 40 heures qui en a pris 48 affiche un dépassement de 8 heures, soit +20 %, signalé comme tel ; moins d'heures que prévu donnent une économie de signe négatif. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Heures prévues
- 40
- Heures réelles
- 48
- Heures d'écart
- 8
- Écart absolu en heures
- 8
- Écart (%)
- 20
- Écart absolu (%)
- 20
L'écart d'effort est l'écart entre les heures qu'un projet, un sprint ou un lot de travail devait consommer et les heures réellement saisies. Les responsables de livraison, analystes PMO, scrum masters et leaders d'ingénierie suivent cet écart pour détecter les dépassements avant qu'une prévision ne dérape, expliquer les sous-consommations qui libèrent de la capacité et conserver une piste d'audit défendable de la main-d'œuvre prévue face à la réelle. Ce calculateur d'écart d'effort accepte les heures prévues et les heures réelles, soustrait le plan du réalisé pour produire un écart horaire signé, prend la valeur absolue de cette différence, divise l'écart signé par les heures prévues pour obtenir un pourcentage et étiquette le résultat comme dépassement, sous-consommation ou conforme au plan.
Ce que signifie l'écart d'effort et comment les formules fonctionnent
Dans le suivi de la performance d'un projet, l'écart d'effort est la différence entre les heures de travail budgétées ou estimées et les heures de travail réellement consommées. L'écart horaire absolu est la magnitude de cet écart sans signe, utile lorsqu'un tableau de bord n'a besoin que de la taille de l'écart.
L'écart en pourcentage divise l'écart horaire signé par les heures prévues et multiplie par cent, de sorte qu'un réalisé de quarante-huit contre un plan de quarante est un dépassement de plus vingt pour cent, et un réalisé de soixante-douze contre un plan de quatre-vingts est une sous-consommation de moins dix pour cent. Le pourcentage absolu est la magnitude de ce taux.
Le ratio d'effort est le réel divisé par le prévu : un signifie conforme au plan, les valeurs au-dessus de un indiquent que l'équipe a dépensé plus d'heures que budgété et les valeurs en dessous de un indiquent qu'elle en a dépensé moins. Il ne remplace ni le SPI ni le CPI de la valeur acquise, ni la vélocité en story points, ni un système de feuilles de temps ; c'est la comparaison horaire en forme fermée que vous exécutez une fois les heures prévues et réelles déjà convenues.
Les heures fractionnaires sont autorisées, vous pouvez donc envoyer 6.5 ou 40.25 depuis un export de feuilles de temps.
Où un calculateur d'écart d'effort justifie son existence
Les chefs de programme et les analystes PMO utilisent un calculateur d'écart d'effort lors du statut hebdomadaire pour transformer les saisies réelles et les estimations de référence en un écart signé, un écart absolu et un pourcentage qu'ils peuvent glisser dans une diapositive de comité de direction sans débattre des signes d'un tableur. Les scrum masters comparent les heures prévues du sprint aux heures saisies après la revue afin d'expliquer un dépassement qui a mangé la marge ou une sous-consommation qui libère de la capacité pour l'incrément suivant.
Les cabinets de services professionnels et les agences comparent les heures vendues aux heures livrées sur un bon de travail afin que la facturation et la livraison restent honnêtes avant l'émission d'une facture. Les responsables des ressources observent l'écart en pourcentage entre projets pour trouver des dépassements chroniques qui masquent une sous-estimation, et pas seulement une semaine bruyante. Les formations et les plugins LMS ont besoin d'un oracle déterministe qui refuse un plan nul au lieu d'émettre silencieusement un NaN qu'un correcteur défectueux pourrait traiter comme un succès.
Une validation échouée ne consomme pas le solde. Gardez les requêtes petites, figez les champs d'écart arrondis dans les tests, et vous obtenez des rapports d'heures prévues contre réelles reproductibles pour les packs de statut, les edge workers et les contrôles CI sans monter une pile complète de portefeuille de projets.
Cas d’usage
Pack hebdomadaire de statut projet
Transformez les heures prévues de référence et les heures réelles des feuilles de temps en écart signé, absolu et en pourcentage, afin qu'une diapositive de direction montre un dépassement ou une sous-consommation sans débat sur les signes d'un tableur.
Rapprochement d'heures à la revue de sprint
Comparez les heures que l'équipe avait prévues pour un sprint aux heures saisies après la revue et étiquetez l'écart comme dépassement, sous-consommation ou conforme au plan.
Heures vendues contre heures livrées
Les équipes de services professionnels et d'agence comparent l'effort vendu à l'effort livré sur un bon de travail avant l'émission d'une facture.
Questions fréquentes
Comment calcule-t-on l'écart d'effort ?
Les valeurs positives sont des dépassements ; les négatives sont des sous-consommations.
Quelle est la différence entre écart absolu et écart signé ?
L'écart signé conserve la direction de l'écart (au-dessus versus en dessous). L'écart absolu est la magnitude sans signe, utile lorsqu'un tableau de bord n'a besoin que de la taille de l'écart. Les deux formes, en heures et en pourcentage, sont renvoyées.
Pourquoi les heures prévues doivent-elles être strictement positives ?
L'écart en pourcentage divise par le plan. Les heures réelles peuvent être nulles (sous-consommation totale contre un plan positif).
Que signifie un écart d'effort négatif ?
Que le travail a demandé moins d'heures que prévu : l'écart et le pourcentage passent sous zéro. N'enregistrer aucune heure face au prévu correspond à une économie de 100 %.
Qu'est-ce que le ratio d'effort ?
Les heures réelles divisées par les heures prévues. Un ratio de 1 signifie que le prévu est tenu, au-dessus de 1 davantage d'heures que budgété, en dessous moins. 48 heures pour 40 donnent 1,2.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/biz/effort-variance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"planned_hours":40,"actual_hours":48}'const res = await fetch("https://api.kit.forhosting.com/biz/effort-variance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"planned_hours": 40,
"actual_hours": 48
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/effort-variance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"planned_hours": 40,
"actual_hours": 48
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/effort-variance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"planned_hours":40,"actual_hours":48}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"planned_hours":40,"actual_hours":48}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/effort-variance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"planned_hours": 40,
"actual_hours": 48
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.effort_variance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Des heures prévues nulles rendent le pourcentage indéfini et échouent avec invalid_input au lieu de renvoyer l'infini. Les entrées invalides échouent avec invalid_input et ne sont pas facturées.
Ce que signifie l'écart d'effort et comment les formules fonctionnent
L'écart horaire signé est actual_hours moins planned_hours : un résultat positif est un dépassement (plus de temps que prévu), un résultat négatif est une sous-consommation et zéro signifie que le travail est resté conforme au plan.
Contrat d'entrée, forme de la réponse et comportement d'erreur
Zéro heure réelle est valide et signifie qu'aucune main-d'œuvre n'a été saisie contre le plan, ce qui produit une sous-consommation de cent pour cent. Zéro heure prévue n'est pas valide : l'écart en pourcentage est indéfini lorsque le dénominateur est zéro, donc la tâche échoue au lieu de renvoyer Infinity ou NaN qu'un rapport défectueux pourrait traiter comme un succès. Conservez des unités cohérentes sur une série de reporting : si vous modélisez les heures prévues en personne-heures, envoyez les réelles dans la même unité. Envoyez par POST un corps JSON avec deux nombres finis obligatoires : planned_hours (l'effort budgété ou estimé, strictement supérieur à zéro) et actual_hours (les heures saisies, supérieures ou égales à zéro). Chaque champ peut arriver comme nombre JSON ou comme chaîne numérique, et le gestionnaire accepte aussi les alias planned, planned_effort, actual et actual_effort. Les champs manquants, les chaînes vides, les valeurs non finies, les heures réelles négatives et les heures prévues non positives échouent avec invalid_input en nommant le champ. En cas de succès le corps répète les deux moteurs et renvoie variance_hours (réel moins prévu), abs_variance_hours (l'écart horaire absolu), variance_percent (pourcentage signé du plan), abs_variance_percent (l'écart de pourcentage absolu), ratio (réel divisé par prévu), status comme overrun, underrun ou on_plan, et une chaîne de formule qui réaffirme les identités. Lorsque les heures réelles sont supérieures à zéro le corps inclut aussi efficiency_percent, qui est le prévu divisé par le réel fois cent (cent signifie que le travail a utilisé exactement les heures prévues ; au-dessus de cent, il en a utilisé moins). Associez le résultat numérique à vos propres taux de coût, restes à faire et indices de valeur acquise en dehors de cet endpoint ; le calculateur compare uniquement les heures et n'émet ni feuilles de temps, ni factures, ni barres de Gantt.
Où un calculateur d'écart d'effort justifie son existence
Comme l'implémentation est parse de niveau A pur, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant.
Questions techniques
Que signifient overrun, underrun et on_plan ?
overrun signifie que les heures réelles ont dépassé le plan (écart positif). underrun signifie que les heures réelles sont restées sous le plan (écart négatif). on_plan signifie que les deux valeurs horaires coïncident après arrondi.
Combien coûte le calculateur d'écart d'effort ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.