Introduction to Utility Function

What is Utility?

"Utility" is the level of satisfaction or benefits that someone gains from consuming a given amount of goods or services. In economics, the unit of utility is known as "Utils". It is an abstract theoretical concept rather than a concrete, observable quantity. Therefore, it is arbitrary, representing a relative value. But we cannot take it as a strict quantitative measure of satisfaction. For example, if the utility of investment A is 100, and the utility of investment B is 150, we cannot claim that investment B is 50% better than investment A.

In Decision Tree Software, the utility value is expressed on a 0 to 1, which is standard in many textbooks. 

In the SpiceLogic Decision Tree software, the payoffs are calculated in terms of utility value. You can change the unit of utility value scale from 0 to 1 to "0 to 100" if you like.


Also, notice that you can use a negative number to express pain or discomfort, or dissatisfaction. Notice the same Ribbon panel in the above screenshot, there is a checkbox that you can check to indicate that, a negative number for utility value implies disutility.

What is a Utility Function?

According to economics and finance, a utility function maps a real-world value into a perceived value or the level of satisfaction.

More things are not always an indication of more happiness. When you are very thirsty, one glass of water can make you happy and two glasses of water can make you happier. But, after 2 glasses, your thirst can mitigate, the 3rd glass of water may or may not give you much pleasure. That is the idea of a utility function.

If we let 0 mean completely unsatisfied and 1 mean fully satisfied, then we can model this idea as shown below.

In economics, monetary gains to perceived values are modeled using a utility function, like this.

In the above chart, we represent Real-world monetary gain on the X-axis and the level of satisfaction (in terms of 0 to 1) on the Y-axis. We can see that, if someone has such a utility function, he will not be as much excited as he gains money after 300$. But if he gets money from 0 to 100$, he gets super excited.

But, why? Why on earth, someone will have a cap on the satisfaction level for money or anything he/she receives in real life? The answer is given below.

Why and When to Use a Utility Function?

Well, there are a few reasons, as explained below.

A) When you have more than one criterion

When you are going to buy a new phone, your criterion may be to get a higher amount of memory and pay a lower amount price. Will that be possible to gain a highly-featured phone at a very low cost? NO. Then you cannot achieve both of your goals at the same time, right? You need to do a trade-off between your objectives. You need to determine, how much memory is good enough for you. Once a phone offers that much memory, you should be happy with that, and then based on the price you should check which phone comes at a lower price. Using a utility function, you can model that attitude. For example, if 35GB space is good enough for you, then any phone you find that gives you more than 35GB should not be considered more attractive than another phone which also gives at least 35Gb. Here is the chart of such a utility function.


When you incorporate such a utility function in your decision-making, your multi-criteria decision analysis will be highly logical and rational.

B) When your payoff comes with risk

Say, you are thinking about investing in a business where there is a possibility of becoming a millionaire. Also, there is a risk of losing all of your money or a significant amount of money. How will you judge that business opportunity? Will you consider it a great opportunity just because it can bring a million dollars? Well, everyone may like more money, but everyone may not like to lose money. So, you need to decide, how much money is kind of enough for you to gain from that business. I mean, after profiting how much money, you can say that you will be happy with this business. Say, that amount is 400,000$. Then, before getting the money, you should not give any value for the possibility of gaining money over 400,000$. A utility function like this can capture that attitude.


Once you create a utility function for your attitude, any business's best-case possibility will not automatically become an attractive option for you. Say, you find 2 business opportunities where one of them can return 1 million dollars as the best-case scenario, but, there is a risk of losing 200,000$. Another business opportunity can return 500,000$ as the best-case scenario, but there is a risk of losing only 50,000$. Once you have a utility function ready as shown above, you can easily judge that the business opportunity that can return 500,000$ is more rational than the opportunity that can return 1 million dollars. Because, as long as your aspiration level is 400,000$ achieved, you can think about the risk factors.

Therefore, we can say that the more correct phrase for the X-axis should be "Real-world risky money" rather than "Real-world money".

That's why it is useful to model a utility function that saturates to full satisfaction after some aspiration level. That answers the question that, why someone will not be interested in an opportunity that can offer more than another opportunity for the best-case scenario. Because, those payoffs are in the future, with risk. If those payoffs were certain, then yes, I would choose the business opportunity that offers certain 1 million dollars, over the one that offers just a certain 500,000$. In that case, the utility function is not necessary. Then again, as mentioned in reason (A), when you have more than one objective, you may need a utility function again, to make a rational decision.

Use a Utility Function in the Decision-Making Process

Say, you want to purchase a new phone. You have just 2 criteria,

1. Maximize hard disk space
2. Minimize cost

But, you know that you have a total of 20GB of data. A maximum of 35GB will be more than enough. Your budget starts from 500$ up to 2000$.

You have identified 2 options.

1. PHONE-1 offers 30GB disk space and costs 700$.
2. PHONE-2 offers 80GB of disk space, which costs 1500$.

Which one do you think is best for you? Of course the PHONE-1, right? Because, what is the point of spending more money on an 80GB hard disk when you do not have enough file content to fill up that huge space, right?

You can clearly see that a utility function for disk space as shown below validates your understanding of this decision context.


From the above chart, we can understand that your satisfaction is 0 for 20GB. Because you have 20GB of files, and of course, you do not want a disk just to hold the 20GB of the files. Your content will grow so that you will need more space. Therefore, Satisfaction at 20GB is 0. Also, we determined that 35GB of space is just enough for you. More than 35GB of space does not give you any extra value. So, anything more than 35GB can give you a flat level of satisfaction.

Utility Function feature in Decision Tree Software

SpiceLogic Decision Tree Software & Analyze offers you features for developing your custom utility function very easily and intuitively.

What happens without a Utility Function

For example, say you have created a Number type criterion "Maximize disk space" but you did not use any Utility Function, then your utilities are assumed directly proportional to the disk space. Like this:


This is the utility function created by the software behind the scene when you do not specify any utility function.

Based on that setup, once you enter the facts about these 2 phones in your decision tree, your utility values will look like this. In the following screenshots, we are just using the decision tree as an example.


Say, you have equal priority for both criteria "disk space" and "cost", then you can leave the pairwise comparison setting as shown below, on the criteria page.


Anyway, without defining a satisficing value-based utility function, your result may appear like this:


Notice that, even though Phone 2 is recommended, the total utility of Phone 1 and Phone 2 is almost the same, (you can see from the chart that, their heights are almost the same). That means you will enter a dilemma about which phone is really good for you.

Now, the utility function will come to the rescue. Incorporating the Utility function and the result calculated based on the utility function will give you a better insight into these options and help you decide easily.

How the decision is improved with a Utility Function

A Utility function can be added to the Number type criterion. It cannot be used with other types of objectives. If you have created a number-type objective, you can double-click on the objective name from the Payoff popup or you can use the right mouse click to open the context menu and select the Edit menu item.


You can also visit the Criteria page and from the criteria page, you can select the Criterion and double click, or from the context menu, you can open the Criterion editor.

Ok, if you open the criterion editor for Disk space, then you will see the following screen.

After clicking the "Associated Utility Function" tab, you will see the utility function editor.

You can double-click on the panel and a utility point will be added to that point. And then, using the mouse, you can hold and drag that point according to your preference.


One easy way to add a satisficing boundary is to check this checkbox, as shown in this screenshot.

Anyway, once you click the OK button in that Editor, you will see that, now, the Overall value for Phone 1 and Phone 2 has a significant difference, and you can easily understand that Phone 1 is the right choice for you. Why, because both phones "Phone 1" and "Phone 2" almost satisfy your need for disk space in a similar weight. So, no one phone is giving you significantly more advantages than another phone based on disk space. So, your deciding factor is now primarily the Price. As phone 1 is less expensive than Phone 2, Phone 1 is the winner now.


So, again, we understood that, instead of maximizing real-world values, we should always maximize the Utility Value.

There are many other ways of modeling Utility Functions. You can use the "Exponential Utility Function" or "Bernoulli Utility Function" too. Or if you want to use Utility Function directly using equations like f(x) = e^x ... etc, you can use the "Custom Expressions" modeling tool too.


If you are not sure about your utility function, a Game like a wizard is available in Decision Tree Software & Analyzer that can ask you Certainty Equivalent in a lottery setup and infer the utility function for you. Click this button to start the wizard.


You can see the Utility function equation along with the equations of Marginal Utility Function, Absolute Risk Aversion, and Relative Risk Aversion by clicking the f(x) button as shown below.


Once the f(x) button is clicked, a popup shows up like this:


Risk aversions from the Utility function

Risk Aversions is a function of real-world payoff that indicates how risk-averse the individual is. When you have defined a utility function as U(x), you can derive the Risk Aversions from the Utility function U(x).

Absolute risk aversion is


and the relative risk aversion is


The Decision Tree Software will show both the absolute risk aversion function and relative risk aversion function in the utility function editor.


We learned that "more" does not always mean "desired". Rather there should be a boundary line that defines your satisficing value. When you make a decision, do not fall into the trap of "MORE", rather define your utility function and then judge your options. You will be amazed at how good a decision it can be when you incorporate utility functions in your decision-making process.


Last updated on Nov 3, 2022