Eliciting Utility Function by Game Play

    In the chapter "Modeling Utility Function", we talked about what a utility function is and why it matters. The catch is that most people don't know their own utility function off the top of their head. That's fine. The software can work it out for you by playing a short game. It shows you a few simple bets and asks one easy question about each one. From your answers, it builds your utility function for you.

    Here is why this helps. Say you built a decision model with a Decision Tree, and one of your objectives is "Maximize Profit", set up as a Number. You are looking at an investment where you could lose $10,000 or gain $50,000. Money like that does not feel the same to everyone. Losing $10,000 may hurt you far more than gaining $10,000 would please you. So plain expected profit is not the whole story. A good utility function captures how you personally feel about those gains and losses. That is exactly what we want to define here.

    To get started, open the Objectives Manager. You can open it from the Ribbon, as shown below.

    View tab on the Decision Tree Analyzer ribbon highlighting the Criteria button used to open the criteria manager.
    View tab on the Decision Tree Analyzer ribbon highlighting the Criteria button used to open the criteria manager.

    Once the Objectives Manager is open, find the objective you want to work on. Right-click its name to bring up the menu, then choose "Edit". If you prefer, just double-click the objective name instead. Either way opens the objective editor.

    Right-click context menu inside the criteria manager with the Edit option highlighted, used to open the criterion editor for the selected objective.
    Right-click context menu inside the criteria manager with the Edit option highlighted, used to open the criterion editor for the selected objective.

    When the objective editor opens, click the "Find my Utility Map" link. This is what starts the game that builds your utility function.

    Criterion editor in Decision Tree Analyzer with the 'Find my Utility Map' link highlighted, which launches the game-play wizard to elicit a utility function.
    Criterion editor in Decision Tree Analyzer with the 'Find my Utility Map' link highlighted, which launches the game-play wizard to elicit a utility function.

    The wizard opens, and you will see the screen below. There is nothing to memorize. It shows you a lottery, which is just a bet with two possible outcomes, and asks you one question about it.

    Opening screen of the certainty-equivalent game-play wizard that elicits a utility function by asking the user how much they would accept to avoid a lottery.
    Opening screen of the certainty-equivalent game-play wizard that elicits a utility function by asking the user how much they would accept to avoid a lottery.

    The wizard shows you a lottery. Your job is to name a sure amount you would happily take instead of playing it. In other words, what flat payment would make you walk away from the gamble? That number is called the Certainty Equivalent. Type it into the box here. For example, if you would sell this lottery for $5,000, enter 5,000. After you enter it, you will see the screen below.

    Game-play wizard round 1: the user enters their certainty equivalent (for example 5,000 dollars) for the proposed lottery, then clicks Play Next Round.
    Game-play wizard round 1: the user enters their certainty equivalent (for example 5,000 dollars) for the proposed lottery, then clicks Play Next Round.

    Click the "Play Next Round" button. The wizard then shows you a different lottery and asks for its Certainty Equivalent too, as shown below. Each round is just another version of the same simple question, so it goes quickly.

    Game-play wizard round 2 prompting the user for the certainty equivalent of a second lottery offer, refining the inferred utility curve.
    Game-play wizard round 2 prompting the user for the certainty equivalent of a second lottery offer, refining the inferred utility curve.

    Answer this one the same way. For example, if you would sell this lottery for $15,000, enter 15,000 here. Keep playing a few more rounds, and give your honest sure amount each time. After enough answers, the software has what it needs and generates a utility value for you, as shown below.

    Utility function generated by the game-play wizard after several rounds of certainty-equivalent answers, with the 'Use the Generated Utility Function' button visible.
    Utility function generated by the game-play wizard after several rounds of certainty-equivalent answers, with the 'Use the Generated Utility Function' button visible.

    To keep the result, click the "Use the Generated Utility Function" button. You can play more rounds first to fine-tune it, but the function it has at this point is usually good enough to use. As soon as you click the button, the generated utility function is copied straight into the Utility function editor, as shown below. From here it is part of your model, ready to use in your analysis.

    Objective Editor showing the captured custom utility map for Maximize Profit after the game-play wizard finished, ready to be fine-tuned by dragging individual points.
    Objective Editor showing the captured custom utility map for Maximize Profit after the game-play wizard finished, ready to be fine-tuned by dragging individual points.


    Last updated on Jan 7, 2026