Reparta un presupuesto de regalos según la prioridad
Planificar regalos para varias personas resulta difícil cuando no todas tienen la misma prioridad.
Ejecutar — gratis
Esta calculadora convierte un presupuesto total y una serie de pesos relativos en un importe práctico para cada destinatario. Conserva hasta el último céntimo, muestra el criterio aplicado y evita reajustes continuos en una hoja de cálculo. Puede usar pesos sencillos, como 3, 2 y 1: solo importa la proporción entre ellos, por lo que no necesita calcular porcentajes previamente.
Elija pesos que reflejen la prioridad relativa
Empiece por indicar cuánto puede gastar en todos los regalos. Después, añada a cada destinatario y asígnele un peso de prioridad positivo. El peso no representa dinero ni tiene que sumar una cantidad concreta: solo expresa la importancia relativa. Si Alex tiene un peso de 4 y Blair uno de 2, la asignación de Alex será el doble. Obtendría el mismo resultado con 2 y 1, o con 40 y 20. Esta flexibilidad facilita debatir prioridades cuando el plan todavía puede cambiar. Por ejemplo, puede emplear un valor alto para familiares cercanos, uno medio para amistades y uno menor para otros compromisos. No use cero para excluir a alguien; elimine a esa persona de la lista para que el alcance sea claro. La calculadora valida los pesos, los suma y divide cada valor entre el total para determinar la parte correspondiente. Los nombres se mantienen en el orden introducido, de modo que puede comparar fácilmente el resultado con la lista original.
Comprenda cómo se reparten los céntimos con exactitud
Un reparto proporcional suele producir fracciones de céntimo. Si redondea cada importe por separado, el plan final puede superar el presupuesto o quedarse corto. Esta calculadora evita esa diferencia. Primero redondea el presupuesto total a céntimos, calcula el derecho proporcional exacto de cada persona y asigna la parte entera. Los céntimos restantes se entregan a quienes tengan los mayores restos decimales. Este procedimiento se conoce como método del resto mayor. Así, todos los importes tienen dos decimales y su suma coincide exactamente con el presupuesto devuelto. Si dos destinatarios presentan el mismo resto, el céntimo adicional corresponde al que aparezca antes en la lista, lo que garantiza un desempate estable y determinista. El resultado también incluye la proporción normalizada —por ejemplo, 0.5 para la mitad— y la suma de todos los pesos. Estos datos permiten auditar el cálculo, explicarlo a otras personas o reproducirlo en una hoja de compras sin dudas sobre el redondeo.
Convierta las asignaciones en un plan de compra realista
Considere cada asignación como un límite o una referencia, no como la obligación de encontrar un artículo con ese precio exacto. Busque regalos adecuados dentro de cada importe y tenga en cuenta impuestos, envío, envoltorio y compras compartidas. Si esos gastos forman parte del total, resérvelos antes de introducir el presupuesto o inclúyalos al comparar precios. Puede repetir el cálculo cuando cambie la lista, se añada un regalo colectivo o aumente o disminuya el dinero disponible. Como los mismos pesos conservan las mismas relaciones, modificar el total no obliga a rehacer el plan. En familias, comités o colectas de trabajo, guarde los pesos junto al resultado para dejar constancia de las prioridades acordadas. La herramienta no valora relaciones ni recomienda productos; aplica la aritmética de manera coherente. Cada solicitud mediante API cuesta $0.002, mientras que el navegador resulta práctico para cálculos puntuales. Ninguna consulta de red, aleatoriedad ni fecha actual modifica el resultado.
Qué puede hacer con ella
Planifique los regalos familiares
Asigne más peso a familiares cercanos sin superar un único límite de gasto para toda la temporada.
Distribuya una colecta
Reparta el dinero reunido entre varios obsequios de agradecimiento conforme a prioridades acordadas.
Reajuste un cambio de presupuesto
Mantenga las prioridades y recalcule al instante todos los importes cuando cambie el total disponible.
Preguntas frecuentes
¿Qué significa un peso de prioridad?
Es un valor relativo. Una persona con peso 6 recibe el doble que otra con peso 3.
¿Los pesos deben sumar 100?
No. Cualquier conjunto de valores positivos sirve, porque cada peso se divide entre la suma total.
¿Las asignaciones sumarán exactamente el presupuesto?
Sí. El total se redondea a céntimos y los restantes se asignan según los mayores restos decimales.
¿Cómo se resuelve un empate por el céntimo adicional?
Lo recibe la persona que aparezca antes en la lista, por lo que el cálculo siempre es determinista.
¿Puedo introducir un presupuesto cero o negativo?
No. Debe ser un número finito positivo y redondearse, como mínimo, a un céntimo.
¿Cuánto cuesta una solicitud por API?
Cada solicitud cuesta $0.002. También puede usar la calculadora gratis en el navegador.
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/life/gift-budget-split \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_budget":240,"recipients":[{"name":"Alex","priority_weight":3},{"name":"Blair","priority_weight":2},{"name":"Casey","priority_weight":1}]}'const res = await fetch("https://api.kit.forhosting.com/life/gift-budget-split", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_budget": 240,
"recipients": [
{
"name": "Alex",
"priority_weight": 3
},
{
"name": "Blair",
"priority_weight": 2
},
{
"name": "Casey",
"priority_weight": 1
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/gift-budget-split",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_budget": 240,
"recipients": [
{
"name": "Alex",
"priority_weight": 3
},
{
"name": "Blair",
"priority_weight": 2
},
{
"name": "Casey",
"priority_weight": 1
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/gift-budget-split", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_budget":240,"recipients":[{"name":"Alex","priority_weight":3},{"name":"Blair","priority_weight":2},{"name":"Casey","priority_weight":1}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_budget":240,"recipients":[{"name":"Alex","priority_weight":3},{"name":"Blair","priority_weight":2},{"name":"Casey","priority_weight":1}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/gift-budget-split", 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
{
"total_budget": 240,
"recipients": [
{
"name": "Alex",
"priority_weight": 3
},
{
"name": "Blair",
"priority_weight": 2
},
{
"name": "Casey",
"priority_weight": 1
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.gift_budget_split",
"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 | 1000 |
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. |