Calculadora de variación de esfuerzo
Una tarea planificada en 40 horas que llevó 48 muestra un exceso de 8 horas, un +20 %, y así queda etiquetada; si se usan menos horas de las previstas, el resultado es un ahorro con signo negativo. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Horas planificadas
- 40
- Horas reales
- 48
- Horas de desviación
- 8
- Desviación absoluta en horas
- 8
- Desviación (%)
- 20
- Desviación absoluta (%)
- 20
La variación de esfuerzo es la brecha entre las horas que un proyecto, sprint o paquete de trabajo debía consumir y las horas que realmente se registraron. Los responsables de entrega, analistas de PMO, scrum masters y líderes de ingeniería siguen esa brecha para detectar sobrecostes antes de que se desvíe el pronóstico, explicar consumos por debajo del plan que liberan capacidad y conservar un rastro de auditoría defendible de la mano de obra planificada frente a la real. Esta calculadora de variación de esfuerzo acepta horas planificadas y horas reales, resta el plan de lo ejecutado para obtener una variación horaria con signo, toma el valor absoluto de esa diferencia, divide la variación con signo entre las horas planificadas para obtener un porcentaje y etiqueta el resultado como sobrecoste, por debajo del plan o según plan.
Qué significa la variación de esfuerzo y cómo funcionan las fórmulas
En el seguimiento del rendimiento de un proyecto, la variación de esfuerzo es la diferencia entre las horas de trabajo presupuestadas o estimadas y las horas de trabajo realmente consumidas. La variación horaria absoluta es la magnitud de esa brecha sin signo, útil cuando un tablero solo necesita el tamaño del desvío.
La variación porcentual divide la variación horaria con signo entre las horas planificadas y multiplica por cien, de modo que un real de cuarenta y ocho frente a un plan de cuarenta es un sobrecoste de más veinte por ciento, y un real de setenta y dos frente a un plan de ochenta es un consumo de menos diez por ciento. El porcentaje absoluto es la magnitud de esa tasa.
El ratio de esfuerzo es lo real dividido por lo planificado: uno significa según plan, valores por encima de uno indican que el equipo gastó más horas de las presupuestadas y valores por debajo de uno indican que gastó menos. No sustituye el SPI ni el CPI de valor ganado, la velocidad en story points ni un sistema de partes de horas; es la comparación horaria en forma cerrada que usted ejecuta cuando las horas planificadas y las reales ya están acordadas.
Se admiten horas fraccionarias, de modo que puede enviar 6.5 o 40.25 desde una exportación de partes.
Dónde resulta útil una calculadora de variación de esfuerzo
Los jefes de programa y los analistas de PMO usan una calculadora de variación de esfuerzo en el estado semanal para convertir partes reales y estimaciones de línea base en una variación con signo, un desvío absoluto y un porcentaje que pueden llevar a una diapositiva de comité de dirección sin debatir signos de hoja de cálculo.
Los scrum masters comparan las horas planificadas del sprint con las horas registradas tras la revisión para explicar un sobrecoste que consumió holgura o un consumo por debajo del plan que libera capacidad para el siguiente incremento. Las firmas de servicios profesionales y las agencias comparan las horas vendidas con las entregadas en una orden de trabajo para que facturación y entrega sigan siendo honestas antes de emitir una factura.
Los responsables de recursos observan la variación porcentual entre proyectos para hallar sobrecostes crónicos que ocultan una subestimación, no solo una semana ruidosa. Los cursos de formación y los plugins LMS necesitan un oráculo determinista que rechace un plan nulo en lugar de emitir NaN en silencio que un calificador defectuoso podría tratar como éxito. La validación fallida no consume saldo.
Mantenga las solicitudes pequeñas, fije en las pruebas los campos de variación redondeados y obtendrá informes reproducibles de horas planificadas frente a reales para paquetes de estado, edge workers y comprobaciones de CI sin levantar una pila completa de cartera de proyectos.
Qué puede hacer con ella
Paquete semanal de estado del proyecto
Convierta las horas planificadas de la línea base y las reales de los partes en variación con signo, absoluta y porcentual, de modo que una diapositiva de dirección muestre sobrecoste o consumo por debajo del plan sin debatir signos de hoja de cálculo.
Conciliación de horas en la revisión del sprint
Compare las horas que el equipo planificó para un sprint con las horas registradas tras la revisión y etiquete la brecha como sobrecoste, por debajo del plan o según plan.
Horas vendidas frente a horas entregadas
Los equipos de servicios profesionales y de agencia comparan el esfuerzo vendido con el entregado en una orden de trabajo antes de emitir una factura.
Preguntas frecuentes
¿Cómo se calcula la variación de esfuerzo?
Los valores positivos son sobrecostes; los negativos son consumos por debajo del plan.
¿Cuál es la diferencia entre variación absoluta y variación con signo?
La variación con signo conserva la dirección del desvío (por encima frente a por debajo). La variación absoluta es la magnitud sin signo, útil cuando un tablero solo necesita cuán grande es la brecha. Se devuelven ambas formas, en horas y en porcentaje.
¿Por qué las horas planificadas deben ser mayores que cero?
La variación porcentual divide por el plan. Las horas reales sí pueden ser cero (un consumo total por debajo de un plan positivo).
¿Qué significa una variación de esfuerzo negativa?
Que el trabajo consumió menos horas de las previstas, así que la variación y el porcentaje salen por debajo de cero. No registrar ninguna hora frente al plan supone un ahorro del 100 %.
¿Qué es el ratio de esfuerzo?
Las horas reales divididas entre las planificadas. Un ratio de 1 significa que se cumplió el plan, mayor que 1 indica más horas de las presupuestadas y menor que 1, menos. 48 frente a 40 da 1,2.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"planned_hours": 40,
"actual_hours": 48
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.effort_variance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Unas horas planificadas nulas dejan el porcentaje indefinido y fallan con invalid_input en lugar de devolver infinito. Las entradas no válidas fallan con invalid_input y no se facturan.
Qué significa la variación de esfuerzo y cómo funcionan las fórmulas
La variación horaria con signo es actual_hours menos planned_hours: un resultado positivo es un sobrecoste (más tiempo del previsto), uno negativo es un consumo por debajo del plan y cero significa que el trabajo quedó según plan.
Contrato de entrada, forma de la respuesta y comportamiento ante errores
Cero horas reales es válido y significa que no se registró mano de obra contra el plan, lo que produce un consumo del cien por cien por debajo del plan. Cero horas planificadas no es válido: la variación porcentual queda indefinida cuando el denominador es cero, de modo que la tarea falla en lugar de devolver Infinity o NaN que un informe defectuoso podría tratar como éxito. Mantenga unidades coherentes a lo largo de una serie de informes: si modela las horas planificadas como persona-horas, envíe las reales en la misma unidad. Envíe por POST un cuerpo JSON con dos números finitos obligatorios: planned_hours (el esfuerzo presupuestado o estimado, estrictamente mayor que cero) y actual_hours (las horas registradas, mayores o iguales que cero). Cada campo puede llegar como número JSON o como cadena numérica, y el manejador también acepta los alias planned, planned_effort, actual y actual_effort. Los campos ausentes, las cadenas vacías, los valores no finitos, las horas reales negativas y las horas planificadas no positivas fallan con invalid_input nombrando el campo. En caso de éxito el cuerpo repite ambos impulsores y devuelve variance_hours (real menos planificado), abs_variance_hours (la brecha horaria absoluta), variance_percent (porcentaje con signo respecto al plan), abs_variance_percent (la brecha porcentual absoluta), ratio (real dividido por planificado), status como overrun, underrun u on_plan, y una cadena de fórmula que reafirma las identidades. Cuando las horas reales son mayores que cero el cuerpo incluye también efficiency_percent, que es lo planificado dividido por lo real por cien (cien significa que el trabajo usó exactamente las horas planificadas; por encima de cien significa que usó menos). Combine el resultado numérico con sus propias tarifas de coste, estimaciones restantes e índices de valor ganado fuera de este endpoint; la calculadora compara solo horas y no emite partes, facturas ni barras de Gantt.
Dónde resulta útil una calculadora de variación de esfuerzo
Como la implementación es parse de nivel A puro, cada llamada exitosa cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente.
Preguntas técnicas
¿Qué significan overrun, underrun y on_plan?
overrun significa que las horas reales superaron el plan (variación positiva). underrun significa que las horas reales quedaron por debajo del plan (variación negativa). on_plan significa que ambos valores horarios coinciden tras el redondeo.
¿Cuánto cuesta la calculadora de variación de esfuerzo?
La herramienta del navegador es gratuita. Las solicitudes API usan saldo prepago KIT a $0.002 por llamada exitosa; la entrada no válida no se factura.