Calculadora de IPC con cesta de productos
Esta calculadora del índice de precios al consumidor valora dos veces la misma cesta de bienes y servicios: con los precios del año base y con los precios actuales.
Ejecutar — gratis
Divide el coste actual entre el coste base y multiplica el cociente por cien. Introduzca la cantidad fija y ambos precios de cada artículo para obtener los dos totales, el IPC y la variación porcentual implícita. Al mantener constantes las cantidades, el resultado aísla el movimiento de los precios y no los cambios de consumo.
Prepare una cesta realmente fija
Un índice de precios al consumidor parte de una cesta que representa un patrón de consumo definido. Incluya cada bien o servicio una sola vez, asígnele un nombre claro e indique la cantidad adquirida durante el período de referencia. Se utiliza exactamente la misma cantidad en las dos valoraciones. Este requisito es esencial: si el cálculo base usa diez barras de pan y el actual usa ocho, la diferencia mezcla cambios de precio y cantidad y deja de ser un índice de cesta fija. Puede usar cantidades fraccionarias para kilovatios hora, kilogramos o cuotas mensuales, pero todas deben ser positivas. Exprese ambos precios en la misma moneda y por la misma unidad. No compare un precio base por kilogramo con un precio actual por paquete sin convertir primero el paquete a kilogramos. Documente el alcance de la cesta y elija categorías representativas. La calculadora admite hasta mil artículos y realiza una valoración transparente, sin ajustes estacionales ni sustituciones.
Comprenda la fórmula y el resultado
Para cada fila, la calculadora multiplica la cantidad fija por el precio unitario del año base y obtiene el valor base del artículo. Después multiplica esa misma cantidad por el precio actual. La suma de cada conjunto produce el coste de la cesta base y el coste de la cesta actual. El IPC es el coste actual dividido entre el coste base, multiplicado por cien. Un índice de cien indica que la cesta cuesta lo mismo en ambos períodos. Un valor superior señala un aumento general y uno inferior, una disminución. La variación porcentual mostrada es el índice menos cien; por tanto, 112.5 equivale a un aumento del 12.5 por ciento desde el período base. Los artículos con mayor cantidad o precio pesan más en el resultado. El total base debe ser positivo porque no se puede dividir por una cesta de referencia de valor cero. El redondeo se aplica únicamente a los resultados finales.
Interprete las comparaciones con cautela
El resultado es un índice para la cesta que usted proporciona, no necesariamente un IPC nacional oficial. Los organismos estadísticos emplean muestras de precios, ponderaciones de gasto, ajustes de calidad, reglas de sustitución, métodos estacionales y actualizaciones periódicas. Una cesta personal, empresarial o académica sigue siendo útil si su alcance es explícito y coherente. Mantenga las mismas definiciones y cantidades al comparar varios períodos actuales con un año base. Si desaparece un producto, documente un sustituto comparable en vez de cambiar silenciosamente su tamaño o calidad. Un índice creciente demuestra que la cesta fija cuesta más, pero no explica qué artículos impulsaron el aumento ni si un hogar cambió sus compras; revise los precios de origen para interpretarlo. La herramienta sirve para ejemplos reproducibles, seguimiento interno y enseñanza del método de Laspeyres. Cada solicitud API cuesta $0.002; el cálculo del navegador puede ejecutarse localmente. Conserve la especificación de la cesta con cada resultado.
Qué puede hacer con ella
Seguir una cesta doméstica
Compare una selección constante de alimentos, transporte, vivienda y servicios con un período base elegido.
Vigilar precios de compras
Valore cantidades fijas con precios contractuales y actuales para resumir la evolución general de los costes.
Enseñar números índice
Muestre cómo las cantidades funcionan como ponderaciones y cómo una cesta fija separa precios y cantidades.
Preguntas frecuentes
¿Qué fórmula utiliza la calculadora?
Divide el coste de la cesta fija a precios actuales entre su coste a precios del año base y multiplica por cien.
¿Qué significa un índice de 100?
Significa que el coste total de la cesta es igual con los precios actuales y con los del año base.
¿Pueden cambiar las cantidades entre períodos?
No. El método aplica deliberadamente una cantidad fija a ambos precios para medir precios y no cambios de compra.
¿Puede un artículo tener precio cero?
Sí. Un precio individual puede ser cero, pero el coste total de la cesta base debe ser mayor que cero.
¿Equivale a un IPC nacional oficial?
No necesariamente. Calcula la relación estándar de cesta fija; los índices oficiales pueden incorporar muestreo, calidad, sustituciones y otros métodos.
¿Cuánto cuesta utilizarla?
La API cuesta $0.002 por solicitud. La versión del navegador ejecuta localmente el mismo cálculo determinista.
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/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)Ejemplo de solicitud
{
"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
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.cpi_from_basket",
"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. |