Zweitpreisauktion-Rechner
Bei Geboten von 100, 95 und 80 gewinnt das Gebot von 100, gezahlt werden aber nur 95, das Gebot des Zweiten; es bleibt ein Überschuss von 5. Geben Sie die verdeckten Gebote ein und sehen Sie Gewinner, Preis und Rangfolge. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Eine versiegelte Zweitpreisauktion—auch Vickrey-Auktion genannt—vergibt den Gegenstand an den Bieter mit dem höchsten Gebot, berechnet aber nur das zweithöchste Gebot. Diese Preisregel ist der Standardmechanismus der Lehrbücher, damit wahrheitsgemäßes Bieten bei privaten und unabhängigen Werten eine schwach dominante Strategie wird. Dieser Rechner für den Gewinner einer Zweitpreisauktion nimmt eine Liste versiegelter Gebote entgegen, jeweils mit einem nichtnegativen Betrag und optionalem Bieterlabel, sortiert sie nach Betrag mit stabilem Unentschieden-Bruch gemäß Eingabereihenfolge, benennt Gewinner und Zweitplatzierten und liefert den gezahlten Preis als Gebot des Zweiten sowie den Bieterüberschuss (Gewinnergebot minus Preis).
Wie eine versiegelte Zweitpreisauktion Gewinner und Preis bestimmt
In einer versiegelten Zweitpreisauktion gibt jeder Teilnehmer genau ein Gebot ab, ohne die anderen zu sehen. Nachdem alle Gebote gesammelt sind, ordnet der Auktionator sie vom höchsten zum niedrigsten. Der Teilnehmer mit dem höchsten Gebot wird zum Gewinner erklärt und erhält den Gegenstand oder den Vertrag; der tatsächlich gezahlte Betrag ist nicht das eigene Gebot, sondern das zweithöchste in der Rangliste—der Betrag des Zweitplatzierten.
Ökonomen nennen dies eine Vickrey-Auktion nach dem klassischen Ergebnis von William Vickrey: Bei unabhängigen privaten Werten ist das Bieten des wahren Werts eine schwach dominante Strategie, weil der Preis, den Sie zahlen, nach dem Gewinn nicht von Ihrem eigenen Gebot abhängt. Dieser Rechner setzt genau diese Allokations- und Preisregel um: Er führt weder englische Aufwärtsuhren, niederländische Abwärtsuhren noch versiegelte Erstpreis-Zahlungen aus. Wenn zwei oder mehr Gebote denselben Höchstbetrag teilen, gewinnt der frühere Eintrag in Ihrer Eingabeliste, sodass Ergebnisse für automatisierte Tests und LMS-Plugins deterministisch bleiben.
Der Zweitplatzierte für die Preisbildung ist immer das nächste Gebot nach dem Gewinner in derselben Rangliste; ein Zweier-Unentschieden um den ersten Platz ergibt daher einen Preis gleich dem Gewinnbetrag und null Überschuss—passend zur Idee, dass die zweite Marktnotiz auf demselben Niveau liegt. Mindestens zwei Gebote sind erforderlich; ein einzelnes Gebot kann ohne Reserve keine Zweitpreiszahlung definieren, und Reserven liegen außerhalb des Umfangs dieses Endpunkts. Negative Beträge werden abgelehnt, damit die Rangliste keine ungültigen Angebote in ein lehrtaugliches Ergebnis mischt.
Wo diese Auktionsrechnung hilft
Grundlagen- und Market-Design-Kurse nutzen einen Zweitpreisauktions-Rechner, damit Studierende jede kurze Liste versiegelter Gebote in das kanonische Paar Gewinner-und-Preis verwandeln, ohne es mit einer Erstpreis-Regel zu verwechseln, bei der man das eigene Gebot zahlt. Prüfungs-Generatoren und LMS-Plugins brauchen ein deterministisches Orakel, das leere oder einelementige Gebotslisten und negative Beträge ablehnt, statt einen hohlen Nullpreis zu erfinden, den ein fehlerhafter Bewerter als Erfolg werten könnte.
Beschaffungsübungen und Klassenzimmer-Experimente, die anonyme versiegelte Angebote sammeln, können die Liste einmal senden und jedem Teilnehmer denselben Gewinner, gezahlten Preis und Überschuss zeigen, ohne eine volle Auktions-Engine aufzusetzen. Fehlgeschlagene Validierung wird nicht berechnet. Halten Sie Anfragen klein, pinnen Sie Ranking- und Überschussfelder in Tests, und Sie erhalten reproduzierbare Vickrey-Ergebnisse für Hausaufgaben, LMS und Edge-Worker, ohne eigene Infrastruktur für versiegelte Gebote aufzubauen.
Anwendungsfälle
Vickrey-Prüfungen im Unterricht
Lassen Sie Studierende eine Liste versiegelter Gebote eingeben und prüfen, dass der höchste Bieter gewinnt und nur den zweithöchsten Betrag zahlt.
LMS- und Prüfungs-Autobewertung
Bewerten Sie Zweitpreisauktions-Aufgaben mit einem deterministischen Orakel, das Einzellisten und negative Gebote ablehnt.
Mechanism-Design-Notizbücher
Berechnen Sie Vickrey-Gewinner, gezahlten Preis und Bieterüberschuss neben Erstpreis-Simulationen ohne volle Auktions-Engine.
Häufige Fragen
Wie setzt eine Zweitpreisauktion (Vickrey) den Preis fest?
Der höchste Bieter gewinnt den Gegenstand, aber der gezahlte Preis ist das zweithöchste versiegelte Gebot (der Zweitplatzierte), nicht das eigene Gebot des Gewinners.
Was passiert, wenn zwei Bieter den höchsten Betrag teilen?
Der frühere Eintrag in Ihrer Eingabeliste gewinnt. Das nächste Gebot in dieser Rangliste setzt den Preis, sodass ein Zweier-Unentschieden oben einen Preis gleich dem Gewinnbetrag ergibt.
Was ist der Bieterüberschuss in der Antwort?
Es ist die Lücke zwischen dem, was der Gewinner angegeben hat, und dem, was er unter der Zweitpreisregel tatsächlich zahlt.
Warum ist es am besten, den wahren Wert zu bieten?
Weil der Preis nach einem Zuschlag von den anderen Geboten abhängt, nicht von Ihrem. Bei unabhängigen privaten Werten ist es eine schwach dominante Strategie, genau das zu bieten, was Ihnen das Gut wert ist.
Wie viele Gebote kann ich eingeben?
Mindestens zwei, damit es einen zweiten Preis gibt, und bis zu fünfhundert. Jeder Betrag muss null oder größer sein, und Mindestpreise werden nicht angewendet.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem 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)Beispiel-Anfrage
{
"bids": [
{
"bidder": "Alice",
"amount": 100
},
{
"bidder": "Bob",
"amount": 80
},
{
"bidder": "Carol",
"amount": 95
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.second_price_auction",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Eingabevertrag, Antwortfelder und Validierungsregeln
Jedes Objekt muss amount als endliche Zahl größer oder gleich null enthalten; bidder ist ein optionales String-Label (Name, Platz oder Agenten-id). Beispiel: Alice hundert, Bob achtzig, Carol fünfundneunzig ergibt Carol als Zweiten mit fünfundneunzig, Alice als Gewinnerin mit hundert, gezahlter Preis fünfundneunzig und Überschuss fünf. Beträge werden auf zwölf Dezimalstellen gerundet, damit Goldens über Laufzeiten stabil bleiben. Der Endpunkt rechnet keine Mehrstück- oder kombinatorischen Pakete ab, wendet keine Reservepreise an und modelliert keine Risikopräferenzen—nur die klassische Einzelstück-Zweitpreis-Rangliste. Senden Sie per POST einen JSON-Körper mit einem Pflichtfeld: bids, einem Array aus mindestens zwei und höchstens fünfhundert Gebotsobjekten. Gängige Aliase werden für das gesamte Array akzeptiert (list, offers, submissions) sowie für amount pro Zeile (bid, value, price) und für das Label (name, id, label). Fehlende bids, ein Nicht-Array-Wert, weniger als zwei Einträge, mehr als fünfhundert, Nicht-Objekt-Zeilen, fehlende oder nicht endliche amounts und negative Beträge scheitern mit invalid_input und werden nicht berechnet. Bei Erfolg liefert der Körper bidder_count; winner und winner_index (nullbasierte Originalposition); winning_bid; price_paid gleich dem Betrag des Zweiten; runner_up, runner_up_index und runner_up_bid; bidder_surplus als winning_bid minus price_paid; ranking als die vollständige geordnete Liste mit rank, bidder, amount und original_index; formula, die festhält, dass der Gewinner das argmax des Gebots ist und price_paid das zweithöchste Gebot; sowie einen kurzen Anzeigesatz.
Wo eine Zweitpreisauktions-API ihren Nutzen entfaltet
Forschungsnotizbücher und Mechanism-Design-Sandkästen tabellieren oft Vickrey-Ergebnisse neben Erstpreis-Simulationen; die Zweitpreis-Spalte in einer winzigen Parse-API zu fixieren, hält Tabellenabweichungen aus dem Vergleich heraus. Weil die Implementierung reines Parse-Tier-A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Tokens und ohne ausgehendes Netz.
Technische Fragen
Wie viele Gebote werden benötigt?
Mindestens zwei. Die Zweitpreisregel braucht den Betrag des Zweitplatzierten; Listen mit weniger als zwei Geboten scheitern mit invalid_input und werden nicht berechnet.
Was kostet der Zweitpreisauktions-Rechner?
Das Browser-Tool ist kostenlos. API-Anfragen nutzen das vorausbezahlte KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingaben werden nicht berechnet.