Asta a secondo prezzo
Con offerte di 100, 95 e 80, vince chi ha offerto 100 ma paga solo 95, l'offerta del secondo, e trattiene un surplus di 5. Inserisca le offerte in busta chiusa per vedere vincitore, prezzo e classifica completa. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Un’asta a secondo prezzo con offerte sigillate—detta anche asta di Vickrey—assegna l’oggetto al offerente con l’offerta più alta, addebitando solo la seconda offerta più alta. Questa regola di prezzo è il meccanismo standard dei manuali per rendere l’offerta veritiera una strategia debolmente dominante quando i valori sono privati e indipendenti. Questo calcolatore del vincitore di un’asta a secondo prezzo accetta un elenco di offerte sigillate, ciascuna con un importo non negativo e un’etichetta opzionale dell’offerente, le ordina per importo con spareggio stabile sull’ordine di ingresso, nomina il vincitore e il secondo classificato e restituisce il prezzo pagato come l’offerta del secondo insieme al surplus dell’offerente (offerta vincente meno prezzo).
Come un’asta sigillata a secondo prezzo sceglie vincitore e prezzo
In un’asta a secondo prezzo con offerte sigillate ogni partecipante invia un’unica offerta senza vedere le altre. Dopo aver raccolto tutte le offerte, il banditore le ordina dalla più alta alla più bassa. Il partecipante con l’offerta più alta è dichiarato vincitore e riceve l’oggetto o il contratto; l’importo che paga davvero non è la propria offerta, bensì la seconda più alta in classifica—l’importo del secondo classificato.
Gli economisti la chiamano asta di Vickrey dal risultato classico di William Vickrey: con valori privati indipendenti, offrire il proprio vero valore è una strategia debolmente dominante perché il prezzo che Lei paga non dipende dalla Sua offerta una volta vinto. Questo calcolatore implementa esattamente quella regola di allocazione e prezzo: non esegue orologi ascendenti inglesi, orologi discendenti olandesi né pagamenti a primo prezzo sigillato.
Quando due o più offerte condividono l’importo più alto, vince la voce precedente nell’elenco di ingresso, così i risultati restano deterministici per test automatici e plugin LMS. Il secondo classificato per il prezzo è sempre l’offerta successiva al vincitore in quella stessa classifica, il che significa che un pareggio a due per il primo posto produce un prezzo uguale all’importo vincente e surplus zero—coerente con l’idea che la seconda quotazione di mercato sia allo stesso livello.
Gli importi negativi vengono rifiutati affinché la classifica non mescoli mai offerte non valide in un esito di qualità didattica.
Dove questa asta risulta utile
I corsi di principi e di market design usano un calcolatore di asta a secondo prezzo affinché gli studenti trasformino qualsiasi breve elenco di offerte sigillate nella coppia canonica vincitore-e-prezzo senza confonderla con una regola a primo prezzo in cui si paga quanto offerto. I generatori di esami e i plugin LMS necessitano di un oracolo deterministico che rifiuti elenchi vuoti o di una sola offerta e importi negativi invece di inventare un prezzo zero vuoto che un correttore difettoso potrebbe trattare come successo.
Esercitazioni di procurement ed esperimenti in aula che raccolgono offerte sigillate anonime possono inviare l’elenco una volta e mostrare a ogni partecipante lo stesso vincitore, prezzo pagato e surplus senza montare un motore d’asta completo. La validazione fallita non consuma saldo. Tenga le richieste piccole, fissi ranking e surplus nei test e otterrà esiti Vickrey riproducibili per compiti, LMS e worker all’edge senza costruire un’infrastruttura propria di offerte sigillate.
Casi d'uso
Verifiche Vickrey in aula
Consenta agli studenti di inserire un elenco di offerte sigillate e verificare che l’offerente più alto vinca pagando solo il secondo importo più alto.
Valutazione automatica LMS ed esami
Valuti voci di asta a secondo prezzo con un oracolo deterministico che rifiuta elenchi di una sola offerta e importi negativi.
Taccuini di mechanism design
Calcoli vincitore Vickrey, prezzo pagato e surplus dell’offerente accanto a simulazioni a primo prezzo senza un motore d’asta completo.
Domande frequenti
Come fissa il prezzo un’asta a secondo prezzo (Vickrey)?
L’offerente più alto vince l’oggetto, ma il prezzo pagato è la seconda offerta sigillata più alta (il secondo classificato), non l’offerta propria del vincitore.
Cosa succede se due offerenti pareggiano sull’importo più alto?
Vince la voce precedente nel Suo elenco di ingresso. L’offerta successiva in quella classifica fissa il prezzo, così un pareggio a due in cima produce un prezzo uguale all’importo vincente.
Cos’è il surplus dell’offerente nella risposta?
È lo scarto tra quanto ha dichiarato il vincitore e quanto paga davvero secondo la regola del secondo prezzo.
Perché conviene offrire il proprio valore reale?
Perché, se vince, il prezzo dipende dalle altre offerte e non dalla sua. Con valori privati e indipendenti, offrire esattamente quanto l'oggetto vale per lei è una strategia debolmente dominante.
Quante offerte posso inserire?
Almeno due, perché esista un secondo prezzo, e fino a cinquecento. Ogni importo deve essere zero o superiore, e non si applicano prezzi di riserva.
Strumenti correlati
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/second-price-auction \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"bids":[{"bidder":"Alice","amount":100},{"bidder":"Bob","amount":80},{"bidder":"Carol","amount":95}]}'const res = await fetch("https://api.kit.forhosting.com/econ/second-price-auction", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"bids": [
{
"bidder": "Alice",
"amount": 100
},
{
"bidder": "Bob",
"amount": 80
},
{
"bidder": "Carol",
"amount": 95
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/econ/second-price-auction",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"bids": [
{
"bidder": "Alice",
"amount": 100
},
{
"bidder": "Bob",
"amount": 80
},
{
"bidder": "Carol",
"amount": 95
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/econ/second-price-auction", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"bids":[{"bidder":"Alice","amount":100},{"bidder":"Bob","amount":80},{"bidder":"Carol","amount":95}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"bids":[{"bidder":"Alice","amount":100},{"bidder":"Bob","amount":80},{"bidder":"Carol","amount":95}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/econ/second-price-auction", 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
{
"bids": [
{
"bidder": "Alice",
"amount": 100
},
{
"bidder": "Bob",
"amount": 80
},
{
"bidder": "Carol",
"amount": 95
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.second_price_auction",
"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. |
Note tecniche
Come un’asta sigillata a secondo prezzo sceglie vincitore e prezzo
Servono almeno due offerte; una sola non può definire un pagamento a secondo prezzo senza riserva, e le riserve sono fuori ambito per questo endpoint.
Contratto di ingresso, campi di risposta e regole di validazione
Ogni oggetto deve includere amount come numero finito maggiore o uguale a zero; bidder è un’etichetta stringa opzionale (nome, posto o id agente). Esempio: Alice cento, Bob ottanta, Carol novantacinque dà Carol come secondo a novantacinque, Alice come vincitrice a cento, prezzo pagato novantacinque e surplus cinque. Invii con POST un corpo JSON con un campo obbligatorio: bids, un array di almeno due e al massimo cinquecento oggetti offerta. Sono accettati alias comuni per l’intero array (list, offers, submissions) e per amount su ogni riga (bid, value, price), nonché per l’etichetta (name, id, label). bids mancante, un valore non array, meno di due voci, più di cinquecento, righe non oggetto, amount mancante o non finito e importi negativi falliscono con invalid_input e non vengono fatturati. In caso di successo il corpo restituisce bidder_count; winner e winner_index (posizione originale a base zero); winning_bid; price_paid uguale all’importo del secondo; runner_up, runner_up_index e runner_up_bid; bidder_surplus come winning_bid meno price_paid; ranking come l’elenco ordinato completo con rank, bidder, amount e original_index; formula che ribadisce che il vincitore è l’argmax dell’offerta e price_paid è la seconda più alta; e una breve frase di riepilogo adatta alla visualizzazione. L’endpoint non liquida pacchetti multiunità o combinatori, non applica prezzi di riserva e non modella preferenze di rischio—solo la classifica classica a secondo prezzo per un singolo articolo.
Dove un’API di asta a secondo prezzo crea valore
I taccuini di ricerca e i sandbox di mechanism design spesso tabulano esiti Vickrey accanto a simulazioni a primo prezzo; fissare la colonna del secondo prezzo in una piccola API di parse evita la deriva dei fogli di calcolo nel confronto. Poiché l’implementazione è parse di livello A pura, ogni chiamata andata a buon fine costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita.
Domande tecniche
Quante offerte servono?
Almeno due. La regola del secondo prezzo richiede l’importo del secondo classificato; elenchi con meno di due offerte falliscono con invalid_input e non vengono fatturati.
Quanto costa il calcolatore di asta a secondo prezzo?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata andata a buon fine; l’input non valido non viene fatturato.