Calculadora de rateio ponderado
Ao dividir 1000 com pesos 2, 1 e 1, as partes ficam em 500, 250 e 250; também dá para usar porcentagens que somem 100. Cada pessoa recebe um valor exato e a soma fecha com o total. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Quantidade
- 1.000
- Modo de cálculo
- Weight
- Quantidade de partes
- 3
- Soma dos pesos
- 4
- Precisão
- 2
- Quantidades
- 500, 250, 250
Uma calculadora de rateio ponderado de custo pega uma única conta, caução ou partida de projeto e divide entre partes nomeadas usando pesos relativos ou porcentagens explícitas. Residências usam quando um colega de quarto ocupa um quarto maior; casais que recebem visitas atribuem peso duplo a um assento compartilhado; e equipes de projeto cobram interessados conforme as participações combinadas. Diferente de um divisor de despesas detalhadas que primeiro soma muitos recibos, esta ferramenta parte de um total único que você já conhece e informa o valor exato de cada parte para que as cotas voltem a somar esse total. Pesos iguais produzem rateio igual; o padrão dois-um-um dá metade à primeira parte; porcentagens que somam cem se aplicam direto na conta. Pesos com soma zero e porcentagens que não somam cem são rejeitados em vez de inventados em silêncio.
Como pesos e porcentagens se tornam o valor exato de cada parte
Comece com um único custo compartilhado que você já conhece: uma caução, uma fatura de empreiteiro, um presente de grupo, um acordo jurídico ou um orçamento de projeto. Esta calculadora não pede que você detalhe recibos. Você informa esse total como amount e em seguida lista pelo menos duas partes nomeadas, cada uma com um número de cota não negativo.
O campo mode decide como esses números são lidos. No modo weight, os números são pesos relativos. O mecanismo os soma e cada parte recebe o total multiplicado pelo peso daquela parte dividido pela soma dos pesos.
Dois, um e um significam portanto uma metade e dois quartos, pense você em quartos, cabeças ou unidades de propriedade. No modo percent, cada número é uma porcentagem do total, e as porcentagens devem somar exatamente cem. Quarenta, trinta e cinco e vinte e cinco de duzentos tornam-se oitenta, setenta e cinquenta.
Pesos ou porcentagens individuais zero são permitidos quando alguém fica dispensado nesta liquidação, desde que os demais ainda formem uma soma válida. Totais negativos e cotas negativas são rejeitados porque este modelo descreve um custo a recuperar, não um livro de reembolsos. Listas de partes vazias, uma única parte, um amount ausente, valores não finitos e uma soma de pesos zero são rejeitados pela mesma razão: o valor exato ficaria indefinido ou sem sentido.
Símbolos de moeda ficam fora da aritmética para que os mesmos números sirvam para dólares, euros ou qualquer unidade que o grupo já tenha escolhido. Os resultados são arredondados para uma precisão de estilo monetário de duas casas decimais por padrão, e a última parte com cota positiva absorve um residual de uma unidade para que os valores informados voltem a somar o total arredondado.
Onde um rateio ponderado de custo se encaixa e o que ele não é
Colegas de quarto que liquidam um aluguel mensal conhecido ou uma única caução precisam de uma resposta confiável quando os quartos têm tamanhos diferentes, então atribuem pesos em vez de dividir igualmente e publicar palpites em um chat. Cofundadores que dividem a fatura de um empreiteiro por participações, tesoureiros de time que recuperam a reserva de um campo e famílias que rateiam um aluguel de temporada por noites de ocupação partem todos de um total e de uma tabela curta de nomes.
A intenção de busca aqui é uma calculadora de rateio ponderado de custo: um custo conhecido, partes nomeadas, pesos ou porcentagens, valores exatos que voltam a somar o total. Essa consulta é diferente de um divisor de despesas detalhadas que primeiro soma muitos recibos, de uma calculadora de gorjeta e divisão que acrescenta um percentual de restaurante e depois divide por cabeça, e de um divisor de combustível e pedágios de viagem que assume passageiros iguais.
Não espere conversão de moeda, imposto, livros de quem já pagou nem grafos de dívidas aos pares; isso pertence a ferramentas dedicadas. Use esta página quando a única pergunta for quanto cada parte nomeada deve de um custo que você já tem em mãos.
Casos de uso
Aluguel ou caução desigual entre colegas
Rateie um aluguel mensal ou uma caução já conhecidos pelo tamanho do quarto ou pelas noites presentes, e publique o valor exato de cada parte sem uma planilha compartilhada.
Porcentagens de propriedade ou ocupação
Recupere a fatura de um empreiteiro ou um aluguel de temporada de interessados cujos percentuais combinados somam cem, e deixe o resto em zero.
Perguntas frequentes
Como o valor de cada parte é calculado?
No modo weight cada parte recebe amount × (seu peso ÷ a soma de todos os pesos). No modo percent cada parte recebe amount × (seu percentual ÷ 100), e os percentuais devem somar 100. Os valores são arredondados na precisão pedida e ajustados para voltar a somar o total.
Qual é a diferença entre o modo weight e o modo percent?
Os pesos são relativos: 2, 1 e 1 significam sempre 50%, 25% e 25% do total, mesmo sem somar 100. Os percentuais são cotas absolutas da conta e devem somar 100, senão a solicitação é rejeitada.
O que acontece se todos os pesos forem zero, ou se os percentuais não somarem 100?
Uma soma de pesos zero dividiria por zero, e um total de percentuais diferente de 100 deixaria um resto não alocado que esta calculadora se recusa a inventar.
Uma parte pode ter cota zero?
Sim, desde que as demais ainda formem uma soma válida (um total de pesos positivo, ou percentuais que somem 100). Uma parte com cota zero é informada com amount zero nesta liquidação.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/life/weighted-split \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":1000,"parties":[{"name":"Alice","weight":2},{"name":"Bob","weight":1},{"name":"Carol","weight":1}]}'const res = await fetch("https://api.kit.forhosting.com/life/weighted-split", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount": 1000,
"parties": [
{
"name": "Alice",
"weight": 2
},
{
"name": "Bob",
"weight": 1
},
{
"name": "Carol",
"weight": 1
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/weighted-split",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amount": 1000,
"parties": [
{
"name": "Alice",
"weight": 2
},
{
"name": "Bob",
"weight": 1
},
{
"name": "Carol",
"weight": 1
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/weighted-split", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amount":1000,"parties":[{"name":"Alice","weight":2},{"name":"Bob","weight":1},{"name":"Carol","weight":1}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amount":1000,"parties":[{"name":"Alice","weight":2},{"name":"Bob","weight":1},{"name":"Carol","weight":1}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/weighted-split", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"amount": 1000,
"parties": [
{
"name": "Alice",
"weight": 2
},
{
"name": "Bob",
"weight": 1
},
{
"name": "Carol",
"weight": 1
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.weighted_split",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_parties | 200 |
max_abs_value | 1000000000000000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Como pesos e porcentagens se tornam o valor exato de cada parte
Se as porcentagens somam noventa ou cento e cinco, a solicitação falha com invalid_input em vez de normalizar em silêncio ou deixar um resto que o grupo nunca combinou. O caminho é aritmética de ponto flutuante determinística, sem rede, sem sementes aleatórias e sem relógio, de modo que entradas idênticas sempre produzem o mesmo JSON.
O que você envia, o que recebe de volta e quais erros não são cobrados
Envie dois campos obrigatórios e dois opcionais. Verificações clássicas incluem mil com pesos dois, um e um para quinhentos, duzentos e cinquenta e duzentos e cinquenta, ou duzentos com porcentagens quarenta, trinta e cinco e vinte e cinco para oitenta, setenta e cinquenta. Conecte o formulário gratuito do navegador para conversas de república e reuniões de início, depois chame o contrato idêntico a partir de scripts quando um bot ou um backend precisar dos mesmos números. O campo amount é o custo compartilhado como número finito não negativo, ou uma string numérica; os apelidos total, cost, total_cost e bill são aceitos para que planilhas e formulários reutilizem um nome de coluna familiar. O campo parties é um array de pelo menos dois objetos, cada um com um nome de exibição e um weight não negativo, ou uma string JSON desse array; os apelidos people e shares são aceitos. O mode opcional é o conjunto fechado weight ou percent e o padrão é weight; os apelidos split_mode e as são aceitos. O precision opcional é um inteiro de zero a oito e o padrão é duas casas decimais monetárias; os apelidos decimals e dp são aceitos. Campos obrigatórios ausentes, strings não numéricas, NaN, Infinity, menos de duas partes, mais de duzentas partes, valores negativos, pesos negativos, um mode desconhecido, uma linha sem nome que não possa ser rotulada, uma soma de pesos zero no modo weight e uma coluna de porcentagens que não some cem falham com invalid_input e não são cobrados. Em caso de sucesso a resposta ecoa o amount arredondado, o mode resolvido, party_count, weight_sum e precision; um array parties de objetos com name, weight, percent, share_ratio e amount; um array paralelo amounts e amounts_sum para scripts; mais a string method weighted_cost_split e uma string formula que reafirma ou amount vezes weight sobre a soma dos pesos, ou amount vezes percent sobre cem. O preço das chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação não consomem saldo pré-pago.
Onde um rateio ponderado de custo se encaixa e o que ele não é
Mantenha esta página focada no contrato de um só total e partes nomeadas para que ela ranqueie por essa frase e o JSON continue pequeno o bastante para widgets e bots SMS. Como esta capacidade é um motor parse puro, o preço da API é a base publicada de US$ 0,002 por item bem-sucedido e a validação com falha não consome saldo. Pipelines de automação armazenam amount, mode, weight_sum, razões de cota e valores por parte para auditoria após cada liquidação.
Casos de integração
Bots de liquidação e widgets financeiros
Envie um total e uma tabela de partes a um bot de backend ou a um widget gratuito de blog para que os pedidos de pagamento sigam a mesma matemática da ferramenta do navegador.