Modeling
A common mistake when “solving” a problem with the computer is to start with an analytics expert who talks to domain experts, using their expertise to ask the right questions to formulate a model. This produces the process depicted below — transitioning from a real application to a mathematical model which is then implemented on a computer.
![A flow diagram: 'From problem...' (trucks, vaccines, phones, boxes) → '...to mathematical model...' (a mathematical modeler with notation Min E[cx] subject to Ax=b, x≥0) → '...to software' (a developer at a computer)](/sda-website/assets/images/modeling/problem-to-software-flow.png)
This process suffers from a fundamental flaw which might be called expertise filtering: an analytics expert (the “mathematical modeler”) tends to look at problems through the lens of their own training, which might be any of the following fields:

- Machine learning
- Math programming
- Simulation
- Decision analysis
- Bayesian optimization
This is a classic example of the blind men and the elephant, where experts interpret a complex problem using the language of their training.
Instead of going directly from a real problem to a mathematical model followed by computer implementation, we recognize four steps to the process:
- The narrative — stating the problem in the language of the problem domain.
- The framing step — here we ask questions in English that capture important elements that would be needed regardless of how we would approach the problem, including whether or not we would use a computer.
- Mathematical modeling — for problems which warrant the use of a model, we turn to the universal modeling framework.
- Computer implementation.
These four steps are illustrated in the figure below, including the possibility of returning to the problem domain after the framing step has been completed.

Note that these four steps do not cover all dimensions of real projects, especially those implemented in complex settings such as companies. We still need to address issues such as finding and ingesting the data, and then implementing recommendations and tracking performance.
What this section covers
This part of the website will take you through the following steps:
- What is a decision? — we address the problem of identifying decisions, starting by defining what we mean by “decisions.”
- Framing decision problems — we identify the problem of choosing metrics, decisions, and uncertainties.
- The universal modeling framework — we introduce the universal modeling framework that is the basis for how we think about sequential decision problems.
- State variables — “state variables” capture all the information we need to model our system. We show how to identify this information from the components of the model.
- Modeling uncertainty — a major dimension of any sequential decision problem is modeling the flow of information from outside our system, which is always uncertain.
After covering this material, we then turn to the challenge of designing policies which determine how we make decisions.