MONOPOLY THE BANK

Welcome to your new job as the lending officer for our regional MONOPOLY bank. Will you be fair? Will you be greedy? Will you be a shoe?

Sign in

What the files look like

This is the structure of the json file you get with each round.

round_N.json
{
  "t": 3,                          // this round's number
  "budget": 210,                   // the most approvals you may make
  "rng_seed": 123456789,           // seed for the rng handed to decide()
  "applicants": [                  // this round's applicants; you decide on these
    {"id": "r3-0007", "group": "shoe", "score": 655, "history": 4, "dti": 0.31, "inquiries": 2},
    {"id": "r3-0008", "group": "hat",  "score": 712, "history": 9, "dti": 0.18, "inquiries": 0},
    ...
  ],
  "history": [                     // history[0] is the legacy book, then one entry per round you have played
    {
      "t": 0,
      "applicants": [ {same fields as above}, ... ],
      "approved": [                // funded loans only, with their outcome
        {"id": "legacy-0012", "group": "hat", "score": 702, "history": 9, "dti": 0.22, "inquiries": 1, "repaid": true},
        ...
      ],
      "by_group": {
        "hat": {"applied": 300, "approved": 110, "approval_rate": 0.367, "repaid": 90, "defaulted": 20,
                "observed_default_rate": 0.182, "profit": 50.0},
        ...
      },
      "profit": 61.0
    },
    {"t": 1, "submitted_at": "2026-09-20T18:05:11+00:00", ...same shape as above...},
    ...
  ],
  "groups": ["battleship", "hat", "shoe"],
  "gain_if_repaid": 1.0,           // profit on a repaid loan
  "loss_if_default": 2.0,          // loss on a default
  "round": 3, "rounds_total": 5, "rounds_completed": 2,
  "next_submission_allowed_at": "...", "deadline": "...", "server_time": "..."
}

decisions_N.json                   // written by run_policy.py
{"t": 3, "approved": ["r3-0007", "r3-0019", ...]}