Calculadora de puntuación ponderada de rúbrica
Una rúbrica ponderada reúne los resultados de varios criterios en una sola calificación sin perder la importancia asignada a cada parte del trabajo.
Ejecutar — gratis
Esta calculadora multiplica el nivel de cada criterio por su peso, suma los aportes y muestra la operación que produce el total. Introduzca pesos decimales, como 0.40 para 40 por ciento, si desea conservar la escala original de los niveles. La respuesta también indica el peso total y el promedio ponderado, de modo que usted pueda detectar una rúbrica incompleta o una escala inusual antes de registrar la nota.
Configure niveles y pesos de forma coherente
Cree una fila por cada criterio de la rúbrica. Asigne un nombre claro, indique el nivel o los puntos obtenidos y añada el multiplicador que expresa su importancia. Si Investigación vale 40 por ciento, use 0.40 en vez de 40 cuando quiera mantener el resultado en la escala original. Una rúbrica habitual podría asignar 0.40 a Investigación, 0.35 a Razonamiento y 0.25 a Redacción; la suma es 1 y el total ponderado se compara directamente con los niveles. También se admiten pesos que no sumen 1, porque algunas evaluaciones emplean multiplicadores de puntos o solo abarcan una sección. En ese caso, revise total_weight y weighted_average. Los niveles y pesos deben ser números finitos no negativos y algún peso debe superar cero. No mezcle niveles de cuatro puntos con porcentajes salvo que esa sea realmente la política de calificación.
Comprenda el cálculo de la puntuación ponderada
En cada fila se aplica la fórmula directa: puntuación ponderada igual a nivel multiplicado por peso. Después se suman todos los productos para obtener total_weighted_score. Por ejemplo, un nivel 4 con peso 0.40 aporta 1.60, mientras que un nivel 3 con peso 0.35 aporta 1.05. El arreglo contributions conserva esos valores intermedios para que cualquier estudiante, docente o revisor pueda reproducir el resultado. weighted_average divide la suma sin redondear entre la suma de los pesos. Si los pesos suman 1, el promedio y el total coinciden; si suman 100, el promedio recupera la escala del criterio y el total conserva los productos literales. El redondeo solo afecta la salida mostrada y respeta la precisión elegida entre cero y diez decimales. Primero se acumulan los valores originales para evitar errores causados por redondear cada aporte antes de sumarlo.
Revise el resultado antes de asignar la nota
Utilice la salida como cálculo auditable, no como sustituto de las reglas de la rúbrica. Compare criteria_count con el número de filas y examine total_weight: 1 suele corresponder a proporciones decimales y 100 a porcentajes enteros. Revise contributions para confirmar que los criterios importantes tienen los multiplicadores previstos y que cada nivel usa la escala correcta. La calculadora no deduce criterios ausentes, máximos, umbrales de letras, penalizaciones, puntos extra ni requisitos de aprobación. Aplique esas reglas por separado, salvo que estén representadas explícitamente como filas. Así, cada aporte devuelto corresponde exactamente a un dato enviado y cualquier discrepancia resulta fácil de rastrear. En flujos automatizados, conserve la entrada original junto a la respuesta. La API cuesta $0.002 por solicitud y el mismo cálculo puro puede ejecutarse en el navegador sin remitir la rúbrica a un servicio externo de evaluación.
Qué puede hacer con ella
Calcular la nota de una tarea
Combine niveles de investigación, razonamiento, presentación y mecánica según los pesos publicados.
Auditar una hoja de calificaciones
Compare aportes transparentes por criterio con el total de una hoja para hallar un peso o una fórmula incorrectos.
Previsualizar cambios de rúbrica
Compruebe cómo los cambios de peso afectan el total antes de publicar una evaluación nueva.
Preguntas frecuentes
¿Qué fórmula utiliza la calculadora?
Multiplica el nivel de cada criterio por su peso y suma todos los productos. También divide esa suma entre el peso total para ofrecer un promedio ponderado.
¿Debo introducir 30 o 0.30 para un peso del 30 por ciento?
Use 0.30 si desea mantener el total en la escala de niveles. Puede usar 30, pero el total bruto se multiplicará por 100; weighted_average seguirá normalizándolo.
¿Los pesos deben sumar 1?
No. total_weight permite detectar una rúbrica parcial o con otra escala, y weighted_average normaliza cualquier peso total positivo.
¿Los criterios pueden tener máximos diferentes?
La operación acepta niveles no negativos, pero no normaliza máximos distintos. Conviértalos a una escala común si la rúbrica lo exige.
¿Cuánto cuesta el cálculo mediante API?
Cada solicitud a la API cuesta $0.002. La versión del navegador realiza localmente el mismo cálculo determinista.
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/edu/rubric-weighted-score \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"criteria":[{"name":"Research","level":4,"weight":0.4},{"name":"Reasoning","level":3,"weight":0.35},{"name":"Writing","level":5,"weight":0.25}]}'const res = await fetch("https://api.kit.forhosting.com/edu/rubric-weighted-score", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"criteria": [
{
"name": "Research",
"level": 4,
"weight": 0.4
},
{
"name": "Reasoning",
"level": 3,
"weight": 0.35
},
{
"name": "Writing",
"level": 5,
"weight": 0.25
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/rubric-weighted-score",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"criteria": [
{
"name": "Research",
"level": 4,
"weight": 0.4
},
{
"name": "Reasoning",
"level": 3,
"weight": 0.35
},
{
"name": "Writing",
"level": 5,
"weight": 0.25
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/rubric-weighted-score", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"criteria":[{"name":"Research","level":4,"weight":0.4},{"name":"Reasoning","level":3,"weight":0.35},{"name":"Writing","level":5,"weight":0.25}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"criteria":[{"name":"Research","level":4,"weight":0.4},{"name":"Reasoning","level":3,"weight":0.35},{"name":"Writing","level":5,"weight":0.25}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/rubric-weighted-score", 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
{
"criteria": [
{
"name": "Research",
"level": 4,
"weight": 0.4
},
{
"name": "Reasoning",
"level": 3,
"weight": 0.35
},
{
"name": "Writing",
"level": 5,
"weight": 0.25
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.rubric_weighted_score",
"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.
Límites
max_items | 500 |
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. |