Quodsi Docs

Scenarios and what-ifs

Your client asks, "What if we added a second nurse at triage?" A scenario answers that without changing your diagram.

The idea in plain terms

A scenario is one version of your process: the model, plus a set of changes. Quodsi applies those changes to a copy of the model when it runs. Your diagram stays as it is, so you can try an idea and drop it without any cleanup.

A what-if is how you ask the question in the product. You describe the change, and Quodsi saves it as a scenario. If you ask about several values, Quodsi saves it as a study instead.

The Baseline is your model with no changes. It's your current state, and every scenario is judged against it.

When to use a scenario, a study or a lever

You want toUse
Test one specific proposal, such as "add one nurse"A scenario
Find how much is enough, such as "one, two or three more nurses"A study
Compare several proposals side by sideA study
Keep the settings your client always asks about one click awayA lever

Start with your Baseline

  1. Fix any validation errors. The What-if Analysis button stays off until the model has none, and until you're signed in.
  2. Open What-if Analysis. You land on the What-if Runs tab.
  3. Choose Create Baseline scenario, then run it.
  4. Read the results before you change anything. They tell you where the constraint is, and that's usually the first thing worth testing.

Already know what to change? Choose Build a what-if instead.

Build a what-if

Choose New what-if. The builder reads like a sentence.

  1. After What if, click choose a step and pick what you're changing: a generator, activity, resource, connector or The model.
  2. Click something and pick the setting.
  3. Choose how to change it and enter the value.
  4. Choose + and change something else if the proposal has more than one part. A proposal that adds a nurse and shortens triage is one scenario with two changes.

The THIS WHAT-IF WILL RUN panel shows what you've built. While it stays at one scenario, the footer reads Saves as 1 scenario. Choose Create scenario to save it, or Create and run to save it and go straight to the run window.

Give the what-if a name and use Description to record the question it answers. You'll want that note when you write up the engagement.

How a change can be applied

OptionWhat it does
Set toReplaces the value.
AddAdds to the current value.
Multiply byMultiplies the current value.
At mostCaps the value: the result is never above this number.
Multiply the time byChanges the rate of a time setting. See the caution below.
Set the distributionReplaces a time setting with a new one.
Multiply the time by works on the rate, not the duration. A factor above 1 makes the thing happen sooner. For example, 2 means twice as fast, which is half the time. A factor below 1 makes it later. Some distributions can't be rate-scaled, and the product warns you when that's the case.

What you can change

The settings are grouped the way a consultant would group them. The list only shows settings that apply to the element you picked.

CategoryWhat you can changeGood to know
DemandInter-arrival duration, Entities per creation, Periodic occurrences, Max entities, VolumeWhat appears depends on the generator type. Volume applies to Pattern generators only, and Pattern generators need the Advanced view. Entities per creation, Periodic occurrences and Max entities need the Intermediate view.
CapacityCapacity, Work schedule, Inbound queue capacity, Outbound queue capacity, a step's Processing time, a step's PriorityCapacity isn't offered when a work schedule sets it. Priority needs the Advanced view.
FlowWeight on a connectorWeights become routing probabilities, so they don't have to add up to anything in particular.
Logic & statesA state's starting valueModel and entity states of type number, true/false or category. See State.
ReliabilityMTBF duration, MTTR durationThese appear once breakdowns are on for that activity. The Failure tab needs the Advanced view.
CostFixed cost, Cost per entity processed, Cost / hour active, Cost / hour idle, Cost per seize, Cost per hour utilized, Cost per hour idleThese appear once financial tracking is on for that activity or resource. See Costing.
Run settingsReplications, Run length, Random seed, Warm-up lengthPick The model as the step.

Resources appear from the Intermediate view. In the Basic view a model has no resources to pick. See Component reference for what each setting means.

What a what-if can't change

A what-if changes settings on the structure you already have. It can't add or remove a step, draw a new path or add a new kind of resource. For those, copy the model, edit the copy, and compare the two.

Quodsi checks your change first

As you build, Quodsi tries each change on a copy of the model and reports the result on the card. OK shows the value before and after. No effect means the change is stored but wouldn't alter the run. Skipped means it couldn't apply. Error and Target missing need fixing. Read the reason on the card: it usually names what to switch on first, such as costing on an element where it's off.

Save stays off until errors are fixed. The footer tells you why.

A change that is skipped when the scenario runs doesn't stop the run. The scenario runs with that setting as it was, so a skipped card means its results are the baseline's for that setting. This can happen to a saved scenario if the model changes after you build it, for example when a step it names is deleted.

Skipped changes

A change to a state's starting value is skipped when it no longer fits the model. That happens when the state was deleted, when you changed it to a type a scenario can't change (text), or when the value was a category you have since removed. The scenario still runs, with that starting value as the model has it.

For now, a skip shows in the dry run card and in the run log. The run's results don't list skipped changes yet. If a saved scenario has gone stale, open it and check the cards before you trust its results.

Settings that count things, such as capacity and replications, take whole numbers. A change that lands between two is rounded, halves up: 2.5 becomes 3. A random seed is never rounded, and a seed that isn't a whole number is an error. Setting Max entities to 0 turns a Rate generator off for that scenario.

Run the scenario

Choose Run. The run window gives you these choices:

The What-if Runs list shows each scenario and study. The Results tab unlocks when one scenario has finished.

Compare with the Baseline

Open a finished scenario in Results. The Overview tab shows each key figure with its percentage change from the Baseline. The comparison only works when both ran on the same version of the model. If they didn't, the page says so, and you should re-run so they match.

Part of any difference between two scenarios is randomness. Changing a capacity shifts which random draws go where across the whole model, so even untouched steps see different numbers. If a difference is small next to the spread between replications, raise Replications on both before you call the change better or worse. A replication is one independent run of the model. See Why one run can mislead.

Common mistakes

Next