Consumo ottimale: confronto tra SMS e rapporto dei prezzi
Questo calcolatore del consumo ottimale verifica la condizione interna classica della scelta del consumatore: il saggio marginale di sostituzione tra due beni deve uguagliare il rapporto dei loro prezzi.
Esegui gratis nel browser
Inserendo utilità marginale e prezzo di ciascun bene, Lei ottiene entrambi i rapporti, lo scarto relativo, la verifica rispetto alla tolleranza scelta e l’indicazione del bene da acquistare in quantità maggiore. Il risultato fornisce una direzione economica, non una soluzione completa della domanda, perché reddito, quantità e funzione di utilità complessiva non sono disponibili.
Significato della condizione tra SMS e prezzi
Per due beni X e Y, il saggio marginale di sostituzione impiegato qui è MUx diviso MUy. Esprime quanta utilità marginale il consumatore ricava da X rispetto a Y nel paniere corrente. Il rapporto dei prezzi di mercato è Px diviso Py e rappresenta il costo relativo di X rispetto a Y. In un ottimo interno i due termini di scambio coincidono: MUx/MUy = Px/Py. La medesima condizione può essere scritta come uguaglianza dell’utilità marginale per unità monetaria, MUx/Px = MUy/Py. Quando i rapporti coincidono, spostare una piccola parte della spesa da un bene all’altro non aumenta l’utilità al margine. Il calcolatore valuta questa uguaglianza con prezzi e utilità marginali positivi. Non interpreta i valori inseriti come quantità e non costruisce un vincolo di bilancio. Si concentra sul controllo locale di ottimalità che gli economisti applicano quando sono già note le utilità marginali associate a un paniere candidato.
Come leggere l’indicazione di acquisto
Se SMS è maggiore di Px/Py, il bene X offre più utilità marginale rispetto a Y di quanto richieda il suo costo relativo di mercato. In modo equivalente, X presenta una maggiore utilità marginale per unità monetaria. La direzione di miglioramento consiste quindi nell’acquistare più X e meno Y, mantenendo limitata la spesa. Con la consueta ipotesi di utilità marginale decrescente, tale riallocazione riduce SMS verso il rapporto dei prezzi. Se SMS è inferiore a Px/Py, vale il contrario: Y offre il rendimento marginale più alto per unità monetaria, quindi occorre acquistare più Y e meno X. I campi booleani mostrano esplicitamente la direzione, mentre la raccomandazione la descrive con una frase. “Acquistare di più” indica una riallocazione marginale, non un acquisto illimitato. Poiché le utilità marginali cambiano normalmente insieme al paniere, Lei dovrebbe ricalcolare i rapporti dopo l’aggiustamento. Lo strumento non propone una quantità precisa, che richiederebbe funzione di utilità, quantità correnti, reddito e vincolo di bilancio.
Tolleranza, ipotesi e soluzioni d’angolo
L’uguaglianza esatta è rara quando le utilità marginali sono stimate, ricavate da indagini o arrotondate. La tolleranza definisce quindi una fascia relativa attorno al rapporto dei prezzi. Il valore predefinito 0.01 considera equivalenti scarti fino all’uno per cento in entrambe le direzioni. Imposti zero se serve l’uguaglianza aritmetica esatta oppure aumenti la tolleranza quando le stime sono incerte. relative_gap è positivo se SMS supera il rapporto dei prezzi e negativo se vi rimane sotto; gap_percent esprime lo stesso confronto in percentuale. Il test riguarda un ottimo interno e presume preferenze differenziabili, prezzi positivi, utilità marginali positive e possibilità di modificare entrambi i beni. Una soluzione d’angolo può essere corretta quando un bene non viene consumato, i beni sono indivisibili o altri vincoli impediscono la riallocazione. Il calcolatore non verifica neppure che il bilancio sia esaurito o che il paniere sia globalmente ottimale. Usi il risultato come controllo mirato di primo ordine in un’analisi più completa.
Casi d'uso
Verificare un esercizio di economia
Controlli se utilità marginali e prezzi soddisfano l’ottimo interno e individui la riallocazione necessaria.
Valutare un paniere candidato
Trasformi le stime di utilità marginale in un confronto chiaro tra scambio privato e condizioni di mercato.
Automatizzare l’analisi di sensibilità
Interroghi l’API con prezzi o utilità alternativi e registri come cambia la direzione d’acquisto consigliata.
Domande frequenti
Quale formula usa il calcolatore?
Calcola SMS = MUx/MUy e il rapporto dei prezzi = Px/Py, quindi confronta il loro scarto relativo.
Perché acquistare più X quando SMS supera il rapporto dei prezzi?
X fornisce più utilità marginale per unità monetaria rispetto a Y. Riallocare la spesa verso X migliora l’utilità secondo le ipotesi usuali.
Rapporti uguali dimostrano che il paniere è ottimale?
Confermano la condizione interna di primo ordine entro la tolleranza. Una prova completa può richiedere un bilancio vincolante, curvatura adeguata e controlli agli angoli.
Che cosa cambia la tolleranza?
Stabilisce lo scarto relativo massimo trattato come uguaglianza. Il valore 0.01 ammette una differenza fino all’uno per cento.
Utilità marginale o prezzo possono essere zero?
No. Ogni utilità marginale e ogni prezzo devono essere numeri finiti maggiori di zero affinché entrambi i rapporti siano definiti e significativi.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/econ/optimal-consumption-mrs-price-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"marginal_utility_good_x":12,"marginal_utility_good_y":6,"price_good_x":8,"price_good_y":4}'const res = await fetch("https://api.kit.forhosting.com/econ/optimal-consumption-mrs-price-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"marginal_utility_good_x": 12,
"marginal_utility_good_y": 6,
"price_good_x": 8,
"price_good_y": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/econ/optimal-consumption-mrs-price-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"marginal_utility_good_x": 12,
"marginal_utility_good_y": 6,
"price_good_x": 8,
"price_good_y": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/econ/optimal-consumption-mrs-price-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"marginal_utility_good_x":12,"marginal_utility_good_y":6,"price_good_x":8,"price_good_y":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"marginal_utility_good_x":12,"marginal_utility_good_y":6,"price_good_x":8,"price_good_y":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/econ/optimal-consumption-mrs-price-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"marginal_utility_good_x": 12,
"marginal_utility_good_y": 6,
"price_good_x": 8,
"price_good_y": 4
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.optimal_consumption_mrs_price_ratio",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |