Skip to content

Dashboard

Set open_dashboard=True in ExperimentConfig to open a live browser dashboard during experiments.

Enabling

config = ExperimentConfig(
    game_id="ultimatum",
    num_matches=10,
    open_dashboard=True,
    dashboard_port=8765,     # default port
)

The dashboard opens automatically at http://127.0.0.1:8765 and polls for updates every 800ms.

What it shows

Summary section

The dashboard adapts its metrics to the game being played:

Ultimatum:

  • Deals / No-deal — how many matches reached agreement
  • Mean shares — average deal amount per agent (agreements only)
  • Mean utility (share - v) — average utility per agent (agreements only)

First-price auction:

  • Resolved / Timed out — how many auctions completed vs expired
  • Mean bids — average bid per agent (resolved only)
  • Mean utility (valuation - bid) — average utility per agent (resolved only)

Match details

Click on any match to expand its event trace: every message, action, and outcome.

Visibility info tooltips

Each message and action event has a small (i) icon on the right. Hover over it to see a tooltip explaining what information is visible and to whom. Tooltips are game-aware — every action type across all games has a specific description:

Messages:

  • Public: "Visible to all agents"
  • Private: "Visible to: alice, bob" (lists actual recipients)

First-price auction:

  • submit_bid: "Bid value is sealed (hidden from others) / Only revealed in final outcome"

Ultimatum:

  • submit_offer: "Offer visible to all agents / Reservation values are private"
  • reject: "Clears pending acceptances"

Bilateral trade:

  • propose: "In competitive mode: only initiator sees all proposals / Providers only see their own"
  • accept_delivery: "Triggers payment release"
  • dispute_delivery: "Triggers dispute resolution"

Provision point:

  • submit_commitment: "Binding — deducted from endowment / Private valuations remain hidden"
  • signal_intent: "Non-binding (cheap talk)"

Principal-agent:

  • reject_contract: "Game ends, all payoffs = 0"
  • record_outcome_score: "Score visible to all agents / Determines final payment"

Private messages additionally show a yellow left border and a PRIVATE badge inline.

Live match

While a match is running, the dashboard shows a live event stream for active matches with the same visibility tooltips.