Calcular la valoración media ponderada de un producto
Convierta la distribución de reseñas de cinco estrellas en las dos cifras más útiles para compradores y equipos de comercio electrónico: la valoración media ponderada y el número total de reseñas.
Ejecutar — gratis
Introduzca el recuento correspondiente a cada nivel, de una a cinco estrellas. La calculadora multiplica cada cantidad por su valor de estrellas, suma los resultados ponderados y divide entre el total completo. También suma todos los grupos para indicar cuántas reseñas están representadas. El cálculo es determinista, no requiere identificadores de producto y rechaza una distribución vacía para no mostrar un cero engañoso.
Introduzca la distribución completa de valoraciones
Empiece con los cinco recuentos que proporciona su tienda, exportación de marketplace, proveedor de reseñas o base de datos de informes. Escriba el número de reseñas de una estrella en el primer campo y repita el proceso para dos, tres, cuatro y cinco estrellas. Los recuentos deben ser números enteros iguales o superiores a cero, porque representan reseñas reales, no porcentajes ni una puntuación ya calculada. Indique cero en los niveles sin reseñas; no los omita. El cálculo funciona tanto para un artículo nuevo con una sola opinión como para una referencia consolidada con millones, siempre que cada cantidad permanezca dentro del intervalo de enteros seguros. Utilice datos del mismo producto, alcance de variantes, canal y momento del informe. Mezclar un total histórico de cinco estrellas con un recuento mensual de una estrella produce una cifra matemática válida, pero no describe ninguna población real. Si la fuente solo facilita porcentajes, obtenga los recuentos originales siempre que sea posible, pues los porcentajes redondeados pueden impedir reconstruir el total verdadero. Envíe juntos los cinco valores compatibles como una única distribución.
Comprenda el cálculo ponderado
Una media simple de las cantidades de los cinco grupos respondería a una pregunta distinta. La calculadora asigna a cada grupo su valor de estrellas: cada reseña de una estrella aporta un punto, cada reseña de dos estrellas aporta dos y así sucesivamente hasta los cinco puntos de una reseña de cinco estrellas. Después suma esas aportaciones para obtener una puntuación ponderada y la divide entre el número total de reseñas de todos los niveles. Por ejemplo, diez reseñas de cinco estrellas influyen cinco veces más que diez reseñas de una estrella, porque aportan cincuenta puntos frente a diez. La media devuelta se redondea a un máximo de seis decimales, lo que estabiliza el resultado y conserva más precisión que una presentación comercial habitual. El total se devuelve por separado y nunca se deduce de la media. Si las cinco cantidades son cero, no existe una población y la media ponderada no está definida. En ese caso, la capacidad informa de una entrada no válida en lugar de inventar una valoración de cero estrellas que podría confundirse con una opinión real de los clientes.
Utilice el resultado de forma coherente
La valoración media resulta útil para controles de calidad del catálogo, paneles internos, enriquecimiento de feeds, conciliación con marketplaces y lógica de presentación. Decida aparte cómo mostrarla en su tienda: puede utilizar un decimal, dos decimales o un relleno gráfico de estrellas, y conservar el valor más preciso para comparaciones. Mantenga siempre el total de reseñas junto a la media, porque la confianza y el significado comercial cambian mucho entre una puntuación basada en dos opiniones y la misma puntuación respaldada por veinte mil. Para comparar canales, calcule primero cada uno con sus cinco grupos. Si necesita una valoración global, sume antes los recuentos del mismo nivel y ejecute la distribución combinada; promediar directamente las medias de los canales puede dar demasiado peso a uno con pocas reseñas. En procesos automatizados, conserve la fecha de origen y la clave del producto junto al resultado, aunque no sean entradas de este cálculo. El uso en navegador es gratuito y cada solicitud de API cuesta $0.002. La misma aritmética determinista se aplica en ambos casos, por lo que entradas iguales producen siempre las mismas cifras.
Qué puede hacer con ella
Crear un resumen para la tienda
Convierta los cinco grupos guardados para un producto en la media y el total que aparecen junto a su nombre.
Comprobar informes de marketplaces
Vuelva a calcular una valoración desde los recuentos exportados y detecte resúmenes que no coincidan con su distribución.
Combinar canales de reseñas
Sume los grupos equivalentes de varios canales y calcule una valoración correctamente ponderada para toda la población.
Preguntas frecuentes
¿Cuánto cuesta el cálculo?
Puede ejecutarlo gratis en el navegador desde esta página. Cada solicitud de API cuesta $0.002.
¿Por qué no puedo enviar cinco cantidades iguales a cero?
Una población sin reseñas no tiene media definida. Devolver cero sugeriría incorrectamente que los clientes concedieron una valoración de cero estrellas.
¿Puede un recuento de estrellas contener decimales?
No. Los recuentos representan reseñas individuales y deben ser números enteros no negativos.
¿Cómo se redondea la media?
El resultado se redondea a un máximo de seis decimales para mantener precisión y estabilidad. Su tienda puede aplicar otro redondeo visual.
¿Cómo combino valoraciones de varias tiendas?
Sume por separado los recuentos de una estrella, los de dos y así sucesivamente. Calcule después la valoración con esos cinco grupos combinados, sin promediar las medias de cada tienda.
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/ecom/review-rating-average \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"one_star_count":4,"two_star_count":6,"three_star_count":10,"four_star_count":30,"five_star_count":50}'const res = await fetch("https://api.kit.forhosting.com/ecom/review-rating-average", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"one_star_count": 4,
"two_star_count": 6,
"three_star_count": 10,
"four_star_count": 30,
"five_star_count": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ecom/review-rating-average",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"one_star_count": 4,
"two_star_count": 6,
"three_star_count": 10,
"four_star_count": 30,
"five_star_count": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ecom/review-rating-average", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"one_star_count":4,"two_star_count":6,"three_star_count":10,"four_star_count":30,"five_star_count":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"one_star_count":4,"two_star_count":6,"three_star_count":10,"four_star_count":30,"five_star_count":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ecom/review-rating-average", 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
{
"one_star_count": 4,
"two_star_count": 6,
"three_star_count": 10,
"four_star_count": 30,
"five_star_count": 50
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ecom.review_rating_average",
"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. |