Compare preços unitários e encontre o melhor custo-benefício
Um pacote de 12 unidades a 4,50 sai a 0,375 por unidade, e um de 20 a 6,40 sai a 0,32, então o maior compensa mais. Digite o preço e o tamanho de dois produtos e veja os dois preços unitários e qual vence. 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
- Preço do produto A
- 4,5
- Tamanho do produto A
- 12
- Preço do produto B
- 6,4
- Tamanho do produto B
- 20
- Melhor custo-benefício
- product_b
- Diferença por unidade
- 0,055
Esta calculadora transforma os preços e tamanhos de duas embalagens em uma comparação justa. Informe o preço total e o tamanho da embalagem do produto A e do produto B, usando a mesma unidade. A ferramenta divide cada preço pelo respectivo tamanho, apresenta os dois custos por unidade e aponta a opção mais econômica ou um empate. Ela é útil para alimentos, itens domésticos, compras de escritório e qualquer decisão entre quantidades diferentes. Um tamanho igual a zero ou negativo é rejeitado porque não permite calcular um preço unitário válido.
Por que o preço unitário torna a comparação justa
O preço na prateleira não revela sozinho qual embalagem oferece mais valor quando as quantidades são diferentes. Uma caixa menor pode parecer mais barata no caixa, mas custar bem mais por onça, grama, mililitro, folha, cápsula ou item. O preço unitário resolve essa distorção colocando os dois produtos na mesma base.
Basta dividir o preço da embalagem pelo tamanho. Por exemplo, um pacote com 12 itens por 4.50 custa 0.375 por item, enquanto um pacote com 20 itens por 6.40 custa 0.32 por item. Embora o segundo exija um pagamento total maior, ele tem o menor custo por item e é a melhor compra nessa comparação.
O resultado considera apenas a relação entre quantidade e preço. Ele não decide se você precisa do pacote maior, se o conteúdo vencerá ou se a qualidade é diferente. Esses fatores continuam importantes, mas o preço unitário fornece o dado numérico necessário para avaliar o custo sem distrações causadas pelo formato da embalagem, por frases promocionais ou pelo número total maior exibido em uma etiqueta.
Como informar preços e tamanhos corretamente
Digite o preço completo de cada embalagem como um número simples e o conteúdo total como outro número. Os dois tamanhos precisam usar a mesma unidade. Você pode comparar caixas de cereal em onças, frascos de detergente em mililitros ou multipacks pelo número de itens.
Não compare diretamente onças com gramas nem litros com mililitros; converta primeiro uma quantidade para que os denominadores sejam iguais. O preço pode ser zero, como no caso de uma amostra realmente gratuita, mas não pode ser negativo. O tamanho deve ser maior que zero.
A divisão por zero é indefinida e uma quantidade negativa não representa uma embalagem real, portanto essas condições geram um erro de entrada inválida. A resposta preserva os preços e tamanhos de A e B e acrescenta os valores unitários.
Como interpretar a melhor compra na prática
O produto indicado como melhor compra apresenta o menor preço para uma unidade comum. Esse é um resultado matemático exato, mas decisões reais também envolvem outras restrições. Uma embalagem econômica pode ter o menor custo unitário e ainda desperdiçar dinheiro se parte do conteúdo estragar, ocupar espaço indisponível ou ultrapassar seu orçamento imediato.
Uma embalagem menor pode fazer sentido para experimentar um produto, viajar ou evitar desperdício. Impostos, cupons, mensalidades, frete, descontos de fidelidade, depósitos e diferenças de qualidade não são incluídos automaticamente; use o preço final esperado quando esses ajustes fizerem parte da comparação. A diferença por unidade ajuda a medir a relevância.
Uma pequena variação talvez não compense perder conveniência, enquanto uma diferença repetida por centenas de unidades pode afetar bastante um orçamento. O cálculo é determinístico e não usa rede, preço atualizado, valor aleatório ou relógio. Entradas iguais sempre produzem resultados iguais.
Para uma compra auditável, registre os preços de origem, confirme as unidades e guarde o resultado com a decisão final.
Casos de uso
Comparar embalagens no supermercado
Verifique se um pote, uma caixa ou um multipack maior realmente custa menos por onça, grama ou item.
Avaliar ofertas para a casa
Compare detergentes, papéis, pilhas e refis quando as quantidades e os preços de prateleira forem diferentes.
Apoiar decisões de compras
Coloque duas embalagens de fornecedores na mesma base unitária antes de selecionar um item do pedido.
Perguntas frequentes
Como o preço unitário é calculado?
Cada preço é dividido pelo tamanho da respectiva embalagem. A alternativa com o menor resultado é indicada como a melhor compra.
Os dois tamanhos precisam usar a mesma unidade?
Sim. Converta as quantidades para uma unidade comum, como gramas, onças, mililitros ou itens, antes de comparar.
O preço de um produto pode ser zero?
Sim. Um preço zero é aceito, por exemplo para uma amostra distribuída sem custo, mas não um preço negativo. Já os tamanhos precisam ser maiores que zero, porque um tamanho zero obrigaria a dividir por zero.
O que a diferença por unidade mostra?
É a distância entre os dois preços unitários, 0,055 por unidade no exemplo. Multiplique pela quantidade que você pretende comprar ou usar para ver quanto a escolha realmente pesa.
O menor preço unitário é sempre a melhor compra?
Só no quesito preço. A comparação não sabe se você precisa da embalagem maior, se ela vai vencer antes de acabar ou se a qualidade é diferente. Avalie isso você mesmo depois que os números estiverem claros.
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/math/unit-price-compare \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"product_a_price":4.5,"product_a_size":12,"product_b_price":6.4,"product_b_size":20}'const res = await fetch("https://api.kit.forhosting.com/math/unit-price-compare", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"product_a_price": 4.5,
"product_a_size": 12,
"product_b_price": 6.4,
"product_b_size": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/unit-price-compare",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"product_a_price": 4.5,
"product_a_size": 12,
"product_b_price": 6.4,
"product_b_size": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/unit-price-compare", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"product_a_price":4.5,"product_a_size":12,"product_b_price":6.4,"product_b_size":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"product_a_price":4.5,"product_a_size":12,"product_b_price":6.4,"product_b_size":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/unit-price-compare", 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
{
"product_a_price": 4.5,
"product_a_size": 12,
"product_b_price": 6.4,
"product_b_size": 20
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.unit_price_compare",
"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.
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 informar preços e tamanhos corretamente
O campo better_value informa product_a, product_b ou tie. O campo difference_per_unit apresenta a diferença absoluta e ajuda você a estimar o impacto da economia sobre a quantidade que pretende comprar ou consumir.
Como interpretar a melhor compra na prática
Cada chamada de API custa US$ 0,002, enquanto o navegador executa localmente a mesma conta.
Perguntas técnicas
O que acontece se um tamanho for zero ou negativo?
A solicitação retorna invalid_input porque a quantidade deve ser positiva para definir um preço unitário válido.
E se os dois preços unitários forem iguais?
O campo better_value retorna tie e a diferença por unidade é zero.
Quanto custa a comparação?
O cálculo no navegador é grátis. Uma solicitação bem-sucedida pela API custa US$ 0,002.