Calculadora de IPC com cesta de produtos
Esta calculadora do índice de preços ao consumidor avalia duas vezes a mesma cesta de bens e serviços: uma com preços do ano-base e outra com preços atuais.
Executar grátis
Ela divide o custo atual pelo custo-base e multiplica a razão por cem. Informe a quantidade fixa e os dois preços de cada item para receber os totais da cesta, o IPC e a variação percentual implícita. Como as quantidades permanecem constantes, o resultado isola a mudança de preços, sem confundi-la com alterações de consumo.
Monte uma cesta realmente fixa
Um índice de preços ao consumidor começa com uma cesta que representa um padrão de consumo definido. Registre cada bem ou serviço uma única vez, dê um nome claro e informe a quantidade comprada no período da cesta. A mesma quantidade é usada nas duas avaliações. Isso é essencial: se o cálculo-base considerar dez pães e o atual considerar oito, a diferença combinará alterações de preço e quantidade e deixará de ser um índice de cesta fixa. Quantidades fracionárias são válidas para quilowatts-hora, quilogramas ou parcelas mensais, mas todas devem ser positivas. Use a mesma moeda e a mesma definição de unidade nos dois períodos. Não compare preço-base por quilograma com preço atual por pacote sem converter o pacote antes. Inclua categorias representativas e documente a cobertura da cesta. A calculadora aceita até mil itens e faz uma avaliação transparente, sem ajuste sazonal nem substituições.
Entenda a fórmula e o resultado
Em cada linha, a calculadora multiplica a quantidade fixa pelo preço unitário do ano-base para obter o valor-base do item. Em separado, multiplica a mesma quantidade pelo preço atual. A soma de cada conjunto gera o custo da cesta-base e o custo da cesta atual. O IPC corresponde ao custo atual dividido pelo custo-base, multiplicado por cem. Um índice de cem significa que a cesta custa exatamente o mesmo nos dois períodos. Valor acima de cem indica aumento geral; abaixo de cem, redução. A variação percentual exibida é simplesmente o índice menos cem: 112.5 representa alta de 12.5 por cento desde o período-base. Itens com quantidades ou preços maiores influenciam mais o total. O custo-base precisa ser positivo, pois a divisão por uma cesta de referência igual a zero não é definida. O arredondamento ocorre apenas nos valores devolvidos, depois dos cálculos com precisão integral.
Interprete as comparações com cuidado
O resultado é um índice para a cesta informada por você, e não necessariamente um IPC nacional oficial. Institutos de estatística usam amostras de preços, pesos de despesas, ajustes de qualidade, regras de reposição, métodos sazonais e atualizações periódicas. Uma cesta pessoal, empresarial ou didática ainda é útil quando tem escopo explícito e consistente. Mantenha as mesmas definições e quantidades ao comparar vários períodos atuais com um ano-base. Se um produto desaparecer, escolha e documente um substituto comparável, sem trocar silenciosamente tamanho ou qualidade. A alta do índice mostra que a cesta fixa ficou mais cara, mas não identifica sozinha os itens responsáveis nem mudanças de hábitos; consulte os preços originais. A ferramenta é adequada para exemplos reproduzíveis, controle interno e ensino do método de Laspeyres. Cada solicitação de API custa US$ 0,002, enquanto o navegador pode calcular localmente. Guarde a especificação da cesta junto de cada resultado.
Casos de uso
Acompanhar uma cesta doméstica
Compare alimentos, transporte, moradia e serviços definidos de modo consistente com um período-base escolhido.
Monitorar preços de compras
Avalie quantidades fixas pelos preços contratuais e atuais para resumir a evolução geral dos custos.
Ensinar números-índice
Demonstre como as quantidades funcionam como pesos e como a cesta fixa separa preços de quantidades.
Perguntas frequentes
Qual fórmula a calculadora usa?
Ela divide o custo da cesta fixa a preços atuais pelo custo a preços do ano-base e multiplica por cem.
O que significa um índice de 100?
Significa que a cesta tem o mesmo custo total com preços atuais e com preços do ano-base.
As quantidades podem mudar entre períodos?
Não. O método aplica a mesma quantidade aos dois preços para medir preços, e não mudanças nas compras.
Um item pode ter preço zero?
Sim. Um preço individual pode ser zero, mas o custo total da cesta-base deve ser maior que zero.
O resultado equivale ao IPC oficial?
Não necessariamente. Ele calcula a razão padrão de cesta fixa; índices oficiais podem incluir amostragem, qualidade, substituições e outros métodos.
Quanto custa usar?
A API custa US$ 0,002 por solicitação. A versão no navegador executa localmente o mesmo cálculo determinístico.
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/econ/cpi-from-basket \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"basket":[{"name":"Bread","quantity":10,"base_price":2,"current_price":2.5},{"name":"Milk","quantity":5,"base_price":3,"current_price":3.3},{"name":"Bus fares","quantity":20,"base_price":1.5,"current_price":1.8}]}'const res = await fetch("https://api.kit.forhosting.com/econ/cpi-from-basket", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"basket": [
{
"name": "Bread",
"quantity": 10,
"base_price": 2,
"current_price": 2.5
},
{
"name": "Milk",
"quantity": 5,
"base_price": 3,
"current_price": 3.3
},
{
"name": "Bus fares",
"quantity": 20,
"base_price": 1.5,
"current_price": 1.8
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/econ/cpi-from-basket",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"basket": [
{
"name": "Bread",
"quantity": 10,
"base_price": 2,
"current_price": 2.5
},
{
"name": "Milk",
"quantity": 5,
"base_price": 3,
"current_price": 3.3
},
{
"name": "Bus fares",
"quantity": 20,
"base_price": 1.5,
"current_price": 1.8
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/econ/cpi-from-basket", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"basket":[{"name":"Bread","quantity":10,"base_price":2,"current_price":2.5},{"name":"Milk","quantity":5,"base_price":3,"current_price":3.3},{"name":"Bus fares","quantity":20,"base_price":1.5,"current_price":1.8}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"basket":[{"name":"Bread","quantity":10,"base_price":2,"current_price":2.5},{"name":"Milk","quantity":5,"base_price":3,"current_price":3.3},{"name":"Bus fares","quantity":20,"base_price":1.5,"current_price":1.8}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/econ/cpi-from-basket", 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
{
"basket": [
{
"name": "Bread",
"quantity": 10,
"base_price": 2,
"current_price": 2.5
},
{
"name": "Milk",
"quantity": 5,
"base_price": 3,
"current_price": 3.3
},
{
"name": "Bus fares",
"quantity": 20,
"base_price": 1.5,
"current_price": 1.8
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.cpi_from_basket",
"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. |