Everyday problem-solving

Decision Simulator

Compare 2–6 choices by expected value, worst case, best case and minimax regret.

Choices (required)

Worst/likely/best outcome per choice. Probabilities (%) are only used with “My own probabilities” and are normalised to sum to 100.

Choices
#ChoiceWorstMost likelyBestP(worst) %P(likely) %P(best) %
1
2
3
4

Try an example: Job offers: first-year net gain · Commute: travel minutes per day

How it works

Give each choice a worst, most likely and best outcome (money, hours, points…). The simulator computes expected values with PERT or triangular weights (or your own probabilities), then applies maximin, maximax, minimax regret and Laplace rules and explains which rule picks which choice.

  • Each choice has three scenario outcomes: worst (W), most likely (M) and best (B).
  • PERT expected value = (W + 4M + B) ÷ 6, standard deviation ≈ (B − W) ÷ 6.
  • Triangular expected value = (W + M + B) ÷ 3, standard deviation = √((W² + M² + B² − WM − WB − MB) ÷ 18).
  • Custom: probabilities are normalised to sum to 1; EV = Σ pᵢ·xᵢ, standard deviation = √(Σ pᵢ·(xᵢ − EV)²).
  • Maximin picks the best worst case; maximax the best best case; Laplace the best unweighted average (W + M + B) ÷ 3.
  • Minimax regret treats worst / likely / best as three shared states of the world: regret = (best outcome of any choice in that state) − (this choice’s outcome); the choice with the smallest maximum regret wins.
  • When lower values are better, “best” means lowest everywhere. Ties go to the choice listed first. The recommendation is the expected-value pick.

For scripts and AI agents

  • JSON API: POST https://decisionsimulator.usefulweb.site/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://decisionsimulator.usefulweb.site/mcp · tool name decision_simulator
Example request
curl -s -X POST https://decisionsimulator.usefulweb.site/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{"goal":"maximize","method":"pert","unit":"EUR","choices":[{"name":"Stay in current job","worst":48000,"likely":50000,"best":52000},{"name":"Startup offer","worst":30000,"likely":58000,"best":90000},{"name":"Corporate offer","worst":50000,"likely":55000,"best":60000}]}'
Feedback