Costing
A shorter queue is nice. A client funds a change when you can show what it costs and what it saves. Costing puts money on your simulation so you can make that case.
What Quodsi costs
You set rates on activities and resources. The cost of a run then comes from what actually happened in it, including idle time. You'd struggle to work that out in a spreadsheet, because it depends on queues and variability.
Each activity and resource has a Financial tab, in every complexity view, though resources themselves appear from the Intermediate view. Turn on financial tracking first. Nothing is costed until you do.
Activity costs
Turn on Enable financial tracking on the activity.
| Setting | What it charges | Example |
|---|---|---|
| Fixed Cost | Once per run, per unit of capacity. Doubling capacity doubles it. On a work schedule, the capacity is the schedule's busiest count during the run: a schedule of 2 that rises to 4 is charged for 4, whatever the activity's own Capacity says. | A workstation lease |
| Cost Per Entity Processed | Each time an entity starts at this activity, so an entity still here when the run ends is counted. | Materials for one test |
| Cost / Hour Active | Each hour, for each unit of capacity while a Delay is running on it. | Equipment running cost |
| Cost / Hour Idle | Each hour, for each unit of capacity on shift with no Delay running on it, including a unit held by an entity that is waiting and a unit under repair. | Keeping a line powered |
| Resource Cost Multiplier | Multiplies the Cost Per Seize and Cost Per Hour Utilized of every resource this activity takes up, for the whole time it's held, even if the entity lets it go at a later step. A resource's idle cost isn't multiplied. 1 means no change; 1.5 means half as much again. | Overtime or premium rates at one step |
Resource costs
Turn on Enable Financial Tracking on the resource.
| Setting | What it charges | Example |
|---|---|---|
| Cost Per Seize | Each time the resource is taken up. | A call-out fee |
| Cost Per Hour Utilized | Each hour the resource is working. | A nurse's loaded wage |
| Cost Per Hour Idle | Each hour, for each unit of the resource that is available but unused. Only on-shift idle time is charged. | The same wage, while waiting for patients |
Read the cost of a run
The Overview tab shows Total cost, with its change from the Baseline. If it reads No cost rates set, no costs are in the model yet. Costs show in dollars.
| Figure | What it means |
|---|---|
| Total cost | What the whole process cost over the statistics window: total activity cost plus total resource cost. |
| Total activity cost | What the work steps cost: fixed, processing and operational costs across all activities. |
| Total resource cost | What the people and equipment cost: seize, utilization and idle costs across all resources. |
To see where the money went:
- On the Diagram tab, the Cost view puts cost on each shape.
- On the Dashboard tab, add Resources: Cost to rank resources, Scenarios: Total Cost to rank scenarios, or Activities: Cost over time and Resources: Cost over time to see when the spend happened.
- Add Activity × Entity: Cost to see what each kind of work costs at each step. Each entity type pays for the hours it was actually worked on, and its own per-entity charges. Idle hours are shared by how long each type held the step, so a type that waits or is blocked while holding a unit pays more of the idle cost, not more of the active cost. Fixed cost is shared by how many of each type the step served.
High idle cost next to low utilization is the classic sign of over-provisioning.
A resource still held when the run ends is charged for the time it was held. A unit working past its shift is charged at the utilized rate for that time, and it isn't idle. See Work schedule.
Cost per entity
Quodsi reports two costs per finished entity, by entity type. On the Dashboard tab, add a Data table card, set Data to Entity and show All columns rather than Key. You'll find Direct Cost per Entity and Fully Loaded Cost per Entity there. Both also work as Tradeoff View axes under the entity group.
| Direct cost per entity | Fully loaded cost per entity | |
|---|---|---|
| What it is | What one finished entity of this type cost in the work it actually used: per-entity charges, activity hours while it was being worked on, resource seizes and resource hours. | This type's share of everything the run cost, including idle resources and fixed costs, per finished entity. |
| What it leaves out | Idle and fixed costs. | Nothing. Per-type shares add up to Total cost. |
| Use it for | Showing that a process change really makes each unit cheaper. It moves when the process changes. | Pricing, and the full cost picture a finance lead will ask for. |
The gap between them is worth showing a client. It's what spare capacity and overhead cost per unit. If a change shrinks the gap, the client is paying less for capacity they don't use.
"Finished" here means the entity left its flow, whether it was completed, consumed, split or disposed.
Build the business case
- Get rates you can defend. Ask finance for loaded wages and running costs, and write down where each came from.
- Set up the Baseline. Compare its Total cost with what the client actually spends. If they disagree badly, fix the rates or the model before going further.
- Run the proposal. Use a scenario, or a study to size the change. Cost settings can be swept too.
- Plot it. In Tradeoff View, put Total cost on one axis and the outcome on the other. Find where more spend stops paying off.
- State the case per unit. Report Direct and Fully loaded cost per entity before and after. "Fully loaded cost per patient falls" is a line a client can act on.