Guide

Modeling Playbooks

Step-by-step guides for common decision tasks. Each playbook starts from a model in SSPLAX and walks through the moves to reach an answer.

Find a bottleneck

When to use: You want to know which constraint is preventing more throughput.

1

Open your model and solve with the default constraints.

2

Open Analysis in Results. Most sensitive drivers ranks constraints by pressure score or marginal value.

3

Click the top constraint. The tradeoff curve shows how much throughput you gain per unit of relaxation.

4

Check the shadow price validity range. Beyond it, a different constraint becomes the bottleneck.

5

If you want to confirm, run the Analysis pressure test at 5% and see how much the objective drops.

Look for: The top most-sensitive driver, the binding constraint callout, and the highest marginal value. Together they identify the bottleneck to test first.

Compare two routes

When to use: You have two options (build vs. buy, supplier A vs. B, route X vs. Y) and want to know which is better under your constraints.

1

Model both routes as parallel paths from the same source to the same sink. Each path has its own cost, capacity, and yield.

2

Solve and check the flow split. The solver allocates flow according to the selected objective and each path's costs, capacities, and yields.

3

To test whether the other route wins under different conditions, tighten the winning path's capacity or raise its cost.

4

Use the Pareto frontier in Analysis (if one route is cheaper and the other has more throughput) to see the efficient tradeoff curve.

5

For a clean comparison, require one route and compare the two objective values.

Look for: The flow split between parallel paths, and the Pareto curve if objectives conflict.

Allocate limited capacity

When to use: Multiple uses compete for the same resource (budget, headcount, machine time) and you need to decide how to split it.

1

Model each use as a separate flow consuming the shared resource. Add a resource limit for the total pool.

2

Set minimum delivery requirements on any flows that must receive at least some allocation.

3

Solve. The optimal allocation maximizes total output given the shared limit.

4

Check shadow prices on the resource constraint, which indicate how much additional output one more unit of resource would produce.

5

Run scenarios: what happens if the pool shrinks by 10%? Which uses get cut first?

Look for: The shadow price on the shared resource limit and which flows are at their minimum vs. receiving more.

Test demand upside

When to use: You want to know whether your system can handle a surge in demand. Two approaches: multi-period planning for a phased view, or a single-solve pressure test for a quick answer.

1

Start with current constraints and solve to get the baseline throughput.

2

For a phased view: enable multi-period planning and set demand growth (e.g., 10% per period). Solve and check which period first becomes infeasible or hits capacity.

3

For a quick check: increase the minimum delivery requirement in a single solve. The solver tells you whether it's feasible and what the binding constraints are.

4

If infeasible under either approach, check the minimum relaxation, which shows the single constraint that could be relaxed, and by how much, to meet the higher demand.

Look for: The period or demand level where the first constraint breaks, and the minimum relaxation to handle the upside.

Recover from a disruption

When to use: A constraint has shifted (a supplier dropped, a machine broke, yield crashed) and you need a recovery plan.

1

Update the affected limit or flow to reflect the disruption (lower capacity, worse yield, lost supplier).

2

Solve. If the result is infeasible, check the minimum relaxation for what else could change.

3

If feasible but worse, check the Compare solution diff to see which parts of the plan absorbed the impact.

4

Review the Next move and intervention library, which may suggest temporary measures such as adding a shift or switching to a backup supplier.

5

Run uncertainty simulation with the disrupted model to check whether the recovery plan still holds under further variation.

Look for: Feasibility status, the minimum relaxation if infeasible, and the intervention suggestions.

Reach a required outcome

When to use: The outcome is fixed, such as a launch volume, a service level, or a delivery commitment, and the question is what it will take to reach it.

1

In the Model Editor, add a decision group for each set of available interventions, such as overtime, a contract supplier, an extra suite, or outsourced QC.

2

Give each option its Intervention cost, meaning what it costs to make that change, kept separate from its ordinary fixed and variable operating cost.

3

On the Objective screen, open "Reach a target with the least intervention". Choose the target outcome, enter the required value, and pick how interventions are priced.

4

Select only the options genuinely available to use. Everything unselected stays fixed at its baseline choice.

5

Press Seek target, then read the intervention list, its total cost, and whether the target was verified as achieved.

Look for: Whether the target was achieved rather than approached, which interventions were selected, and which constraint becomes limiting next. The last of these indicates where the plan becomes expensive if the target rises again.

Test a committed plan against disruption

When to use: Commitments are already in place, such as capital, long-lead orders, or a signed contract, and you need to know what happens if a supply or capacity shock lands.

1

Mark existing commitments as Committed on their decision option, flow, or conversion. Leave anything still open to change as Adaptive.

2

On the Constraints screen, open Scenarios & commitments and add one scenario per shock. An outage is a flow or conversion maximum set to 0; a partial hit is a reduced maximum.

3

Weight the scenarios where possible: probabilities if they are available, relative weights if only a ranking is.

4

Solve, then open Analysis in Results, find Scenario plan comparison, and press Evaluate plans.

5

Compare the two columns. Adaptive shows the best available outcome with full freedom to replan, while the committed-plan check shows what the commitments leave available.

Look for: The gap between adaptive and committed-plan outcomes, which is the price of the commitments, together with any scenario where the committed plan is infeasible outright.

Choose what to commit to under uncertainty

When to use: You have to decide now, several futures are plausible, and you want one plan that holds up across them rather than one tuned to the future you hope for.

1

Build the scenario set and weight it, as in the previous playbook.

2

Mark the decisions that must be made now as Committed, and leave operational responses Adaptive.

3

In Analysis, choose Expected value if your weights are real probabilities, or Worst case if the downside is what matters.

4

Select Run scenario-aware optimization and read the committed plan it returns. That is the part shared across every scenario.

5

Re-run with the other rule and compare. A plan that holds under both is more straightforward to justify.

Look for: The committed plan itself, the spread between expected and worst-case outcomes, and any scenario reported as infeasible. A positive-weight infeasible scenario leaves both summary outcomes undefined, so it is the first thing to resolve.

Keep a model in sync with a spreadsheet

When to use: Limits or capacities come from a source of record that others maintain, and re-entering them each cycle is not practical.

1

On the Constraints screen, open Import or update data and download the template for the table you need.

2

Populate it from the source of record, keeping the header row intact.

3

Set a stable Import source ID, such as finance-budget-feed, and reuse it every time.

4

Check the mapping, row preview, and diff, then confirm. Save the mapping so later imports reuse it.

5

On the next cycle, import the updated file under the same source ID. Rows the source drops revert to their pre-import state, and unrelated manual edits are unaffected.

Look for: The added, changed, and removed diff before confirming, particularly removals, since those are the rows the feed has stopped supplying.

Decide what to expand

When to use: You have capital for one expansion (add a line, hire a team, buy a tool) and want to compare the modeled value of each option.

1

Solve the model as-is and note the objective value.

2

For each candidate expansion, relax the corresponding limit or increase the flow maximum by the expansion amount.

3

Re-solve for each expansion and record the new objective value.

4

Compare objective improvement per dollar across the options.

5

Cross-check with the shadow prices, which should agree unless the expansion crosses a validity range boundary.

Look for: The objective improvement per expansion option. The shadow price gives a local approximation; the full re-solve shows the modeled result. Consider implementation cost, risk, and timing separately.

These playbooks cover the most common patterns. For model-building fundamentals, see Build a Model. For understanding results, see Read the Answer.