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 to | Use |
|---|---|
| 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 side | A study |
| Keep the settings your client always asks about one click away | A lever |
Start with your Baseline
- Fix any validation errors. The What-if Analysis button stays off until the model has none, and until you're signed in.
- Open What-if Analysis. You land on the What-if Runs tab.
- Choose Create Baseline scenario, then run it.
- 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.
- After What if, click choose a step and pick what you're changing: a generator, activity, resource, connector or The model.
- Click something and pick the setting.
- Choose how to change it and enter the value.
- 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
| Option | What it does |
|---|---|
| Set to | Replaces the value. |
| Add | Adds to the current value. |
| Multiply by | Multiplies the current value. |
| At most | Caps the value: the result is never above this number. |
| Multiply the time by | Changes the rate of a time setting. See the caution below. |
| Set the distribution | Replaces a time setting with a new one. |
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.
| Category | What you can change | Good to know |
|---|---|---|
| Demand | Inter-arrival duration, Entities per creation, Periodic occurrences, Max entities, Volume | What 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. |
| Capacity | Capacity, Work schedule, Inbound queue capacity, Outbound queue capacity, a step's Processing time, a step's Priority | Capacity isn't offered when a work schedule sets it. Priority needs the Advanced view. |
| Flow | Weight on a connector | Weights become routing probabilities, so they don't have to add up to anything in particular. |
| Logic & states | A state's starting value | Model and entity states of type number, true/false or category. See State. |
| Reliability | MTBF duration, MTTR duration | These appear once breakdowns are on for that activity. The Failure tab needs the Advanced view. |
| Cost | Fixed cost, Cost per entity processed, Cost / hour active, Cost / hour idle, Cost per seize, Cost per hour utilized, Cost per hour idle | These appear once financial tracking is on for that activity or resource. See Costing. |
| Run settings | Replications, Run length, Random seed, Warm-up length | Pick 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:
- Include animation is on by default. Leave it on if you want to watch the run. See Animation.
- Use latest model definition appears when you re-run. It's on by default, so a re-run picks up your diagram edits. Turn it off to repeat the run on the model as it was. A re-run replaces the existing results.
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.
Common mistakes
- Skipping the Baseline. Without it, you have a number but nothing to compare it with.
- Changing the wrong capacity. If the constraint is a resource, more capacity on the activity won't help. Check Flow Analytics first.
- Reading Multiply the time by backwards. A factor of 2 halves the time.
- Packing a lot into one scenario. If four changes run together, you can't tell which one helped. Use a study to see them one at a time.