Three guided experiments · about 5 minutes each. Follow Explore → Predict → Simulate → Read evidence → Take it further.
Prefer a quick overview? Watch the 117-second tour of Learn and Simulate →
- Explore
- Predict
- Simulate
- Read evidence
- Take it further
A tiny glossary, whenever you need it +
- Monte Carlo simulation
- Draw plausible random inputs, run a model, and repeat. The results show what could happen under those assumptions.
- Average (mean)
- The total divided by the number of observations. Individual exams can be much shorter or longer.
- Overtime risk
- Here, the fraction of simulated days when at least one machine finishes more than 15 minutes after closing.
- Wait P90
- The 90th percentile of patient waits: about 9 in 10 attended exams have waits at or below this value.
- Random seed
- A number that lets us replay the same random draws. Change it to try another set of possible days.
- 95% interval
- An estimate of sampling uncertainty in the risk percentage. It does not cover incorrect assumptions or missing real-world constraints.
Your first independent experiment · about 5 minutes · fictional appointment-only practice.
- Meet the practice
- Predict & change
- Simulate
- Compare
- Explain
The MRI
bottleneck.
Demand has risen. Your scanner hasn’t multiplied.
Can you find a schedule that serves more people without pushing the team too far?
Make a plan. Put it to the test.
MRI requests rise from 16 to an expected 20 per day. X-ray, ultrasound, and CT stay at 40, 24, and 32. Your practice still opens 08:00–20:00, seven days a week.
Change the three MRI booking lengths and protected time. Actual exam durations, demand, attendance, and the other modalities’ booking lengths stay fixed. Buffers apply to every machine, so watch access across the whole practice.
Fixed teaching assumptions: 25% duration variability, 5% no-shows, and 15% late arrivals with delays up to 15 minutes. Your settings in the other tabs are separate from this challenge.
- 01 Predict & test Six experiments on the same 1,000 days.
- 02 Pick your plan Learn from the tradeoffs, not a lucky day.
- 03 Face fresh days Submit once for a 5,000-day recheck.
Overtime means any machine finishes more than 30 minutes after closing. Using the upper risk bound adds a margin for simulation noise. All four goals must pass; these are fictional game targets, not clinical standards.
Round progress and your best plan are saved in this browser.
What will you change?
Every decision leaves a clue.
Experiments share random days. Clicking a row’s Restore button brings its exact bookings back to the desk. Reusing a tested policy costs no additional experiment.
| Plan · knee / brain / spine | Buffers | Goals met | MRI / day | Risk upper bound | Restore |
|---|
How the challenge stays fair +
Every experiment uses the same seed and requested patients. Submission uses a different seed and 5,000 days that were not part of training. The original practice and your submitted plan face those same validation days. If you have a previous best, it is rechecked on that set too. A new best must pass all four goals, then complete more MRI exams than the previous plan on those same days.
Completed exams include those finished after closing. Wait P90 covers attended exams; unscheduled requests are counted separately. The simulation has no multi-day backlog, staffing conflicts, contrast preparation, breakdowns, or reporting limits. More runs cannot fix missing assumptions. This is a learning sandbox, not a secure competition; repeated rounds can teach you the validation conditions too.
Keep the reasoning behind your experiments. Evidence is captured from a completed run; your notes explain what it means.
Entries and notes are saved in this browser. Print a report to keep a copy.
A resilience experiment · normal equipment versus possible outages · same scheduled patients and random events.
Your practice’s hours, bookings, exam times, demand, and attendance come from the settings panel. This experiment keeps the selected current or buffered schedule unchanged and varies equipment availability.
Inputs changed · run again to update the comparison. The evidence below still uses the previous inputs.
A rare event can hide behind a good average.
Predict what a CT outage might change, then run the comparison. A 10% daily chance does not mean exactly 100 outages in 1,000 days. Small samples can miss uncommon events entirely.
A visit starts only when both resources are free. Staff and rooms stay occupied for the full actual exam duration. The queue serves the earliest-arriving patient who can use the available resources; one blocked modality does not stop another.
This is a separate, single-site model. It uses opening hours, actual exam means/mix, variability, and appointment attendance from Your practice / Exam types. Its own demand and resource controls are below. Protected buffers are not applied here. Existing lessons, challenges, and optimization keep their appointment-model assumptions.
Run the current setup now, or adjust demand and resources below.
Where capacity gets stranded.
These buttons restore the displayed run’s exact inputs, then change one resource decision. They do not increase demand. Press Simulate to test it.
Follow the queue.
Actual visit blocks are arranged by room. Click a block to inspect its patient, room, and staff member. Walk-ins have no appointment reservation.
Select a visit to inspect its arrival, waiting, room, and staff assignment.
Each service, in context.
| Service | Completed / day | Wait P90 | Room utilization |
|---|
What this model includes—and what comes next +
Daily requests are Poisson draws. Walk-ins arrive within opening hours, with the chosen proportions in three equal parts of the day. Appointment requests reserve exam-specific or uniform windows across the available rooms; requests that do not fit are unscheduled. Appointment reservations set planned arrivals; they do not hold an idle room against a walk-in. Appointment no-shows and late arrivals use Your practice settings. Walk-ins are already present, so they have neither no-shows nor tardiness.
Continuous coverage serves every attendee, including after closing. With shifts, visits already in progress finish, but nobody starts after their qualified staff leave. Other attendees are reported as unserved. Unserved patients do not carry into tomorrow, and nobody abandons the queue early. Staff and rooms are held together for the whole visit, with one staff member per visit. A shared team is a pool of people with the same selected qualifications; dedicated staff each cover one service. All resources belong to one site.
The resource model supports multiple rooms and skill-based staff pools. Additional services and a network of practices are future extensions. Sharing demand between sites needs patient routing and travel assumptions; sharing staff also needs shifts, travel time, and rules preventing simultaneous work at two sites. Those are not included in these results.
Predict, then record this experiment Experiment notebook →
The notebook compares without buffers and with buffers from the same run. It keeps the completed run’s settings, even if you edit the practice afterward.
Run a simulation to capture evidence.Starting the simulation on your device…
Chance any machine exceeds the threshold.
Average arrival-to-exam wait.
All attendees served, even after closing.
Busy time during opening hours.
The workload behind the average.
| Modality / exam type | Booked/day | Completed/day | Mean observed room time |
|---|---|---|---|
| X-rayChest X-ray | 0.0 | 0.0 | — |
| X-rayBone / extremity X-ray | 0.0 | 0.0 | — |
| X-raySpine X-ray | 0.0 | 0.0 | — |
| UltrasoundThyroid ultrasound | 0.0 | 0.0 | — |
| UltrasoundAbdominal ultrasound | 0.0 | 0.0 | — |
| UltrasoundVenous ultrasound | 0.0 | 0.0 | — |
| CTHead CT | 0.0 | 0.0 | — |
| CTChest CT | 0.0 | 0.0 | — |
| CTAbdomen / pelvis CT | 0.0 | 0.0 | — |
| MRIKnee MRI | 0.0 | 0.0 | — |
| MRIBrain MRI | 0.0 | 0.0 | — |
| MRISpine MRI | 0.0 | 0.0 | — |
These are simulated counts and durations, not clinical benchmarks. Timeline tooltips identify the exam type for each appointment.
One possible day.
This day uses your exam types and mix. Bookings use each exam type’s 15–60 minute reservation. Dashed outlines show reserved time; colored bars show actual room time.
On the floor now.
—
Explore this possible day.
—
—
Explore this possible day.
—
—
Explore this possible day.
—
—
Explore this possible day.
—
This dashboard follows the exam times in this simulated day. Hover or focus a timeline block for details; click or tap it to pause and inspect that point in time.
Each block is one exam. Hover for timing details; on small screens, scroll the timeline sideways. Current schedule. This is the first simulated day, not a typical-day forecast.
How much extra time?
Daily overtime across 1000 possible days. “None” means every machine finished by closing.
From a guess to a pattern.
Current schedule: 0 / 1000 days exceeded 30 min of overtime. 95% sampling interval: 0.0–0.0%.
What does breathing room buy?
| Daily outcome | Current schedule | With buffers |
|---|---|---|
| Chance of >30 min overtime | 0.0% | 0.0% |
| Average extra opening time | 0.0 min | 0.0 min |
| 90th-percentile patient wait | 0.0 min | 0.0 min |
| 90th-percentile extra opening time | 0.0 min | 0.0 min |
| Average appointments booked | 0.0 | 0.0 |
| Average unscheduled requests | 0.0 | 0.0 |
| Average exams completed | 0.0 | 0.0 |
With 2 protected buffer blocks per machine, the buffered schedule completes 0.0 fewer exams per day and changes average extra opening time from 0.0 to 0.0 minutes.
Four queues. Four different days.
| Modality | Grid blocks/day | Completed/day | Avg wait | >30 min late | Utilization |
|---|---|---|---|---|---|
| X-ray | 0 | 0.0 | 0.0 min | 0.0% | 0.0% |
| Ultrasound | 0 | 0.0 | 0.0 min | 0.0% | 0.0% |
| CT | 0 | 0.0 | 0.0 min | 0.0% | 0.0% |
| MRI | 0 | 0.0 | 0.0 min | 0.0% | 0.0% |
1000 simulated days complete. Results use the settings submitted for this run. Illustrative model; inspect the assumptions below.
Find your breathing room.
Test each slot combination for 1,000 possible days. Maximize completed exams while meeting your wait and overtime limits. Then check the top five on 5,000 fresh days.
What does “best” mean?
The most completed exams among schedules whose estimated risk and wait meet both limits. A schedule that misses a limit is shown as a tradeoff, never as a successful result.
Every exam has its own rhythm.
A modality’s workload is a mix of exams, rather than one average. Edit the names, shares, mean room times, and 15–60 minute booking lengths below, then see what changes in the simulator and slot optimizer.
A 15-minute booking reserves one block, 30 minutes reserves two, and 45–60 minutes reserves three or four. The actual room time is still random. Try shorter slots for X-ray and selected CT exams, then compare longer MRI bookings. These are editable teaching assumptions.
X-ray
100% assignedRoom time includes the exam and turnaround. A 0% share excludes that type. Combined variability includes both within-type and between-type differences.
Ultrasound
100% assignedRoom time includes the exam and turnaround. A 0% share excludes that type. Combined variability includes both within-type and between-type differences.
CT
100% assignedRoom time includes the exam and turnaround. A 0% share excludes that type. Combined variability includes both within-type and between-type differences.
MRI
100% assignedRoom time includes the exam and turnaround. A 0% share excludes that type. Combined variability includes both within-type and between-type differences.
Start here. Calibrate to your practice.
Starter exam names are informed by RadiologyInfo’s X-ray, ultrasound, CT, and MRI exam directories. Shares and room times are invented teaching assumptions, not published averages, recommended slots, or protocol guidance. You can rename the types to match your own practice.
Choose exam-specific booking in Your practice to reserve each type’s selected duration. Requests are booked in order from opening; only bookings that finish within opening hours are accepted. Actual exams may overrun. Contrast preparation, recovery, and shared staff remain outside the model.
A place for your “what ifs.”
Save practice settings, name your alternatives, and compare them on shared random days. See what each change buys—and what it costs.
Give this idea a name.
Saves the controls currently entered, including exam types and bookings. Results are calculated when you compare; saving does not use an old result on screen.
0 saved ideas.
Run a fair comparison.
Select two to eight scenarios and a baseline. The baseline supplies daily demand, exam names/mix, actual room times, variability, attendance, lateness, and the overtime threshold. Each scenario contributes opening hours, booking lengths, and buffer policy. Comparisons always use fixed expected demand.
This holds the requested exams and random shocks constant. If a saved scenario changes workload assumptions, those differences are listed and replaced by the baseline for this experiment. Load a saved scenario separately to run all of its original inputs.
Find your balance.
Right means more completed exams; lower means less overtime risk. Warmer colors mean longer patient waits. Points are numbered to match the table. Click or focus a point for its settings and sample-day controls.
Keep every outcome in view.
| Scenario | Exams/day | Unscheduled/day | Wait P90 | Overtime risk | Inspect |
|---|
Ready to compare policies?
Keep the same demand and search for booking lengths that meet your goals.
One day is a story.
A thousand days
reveal a pattern.
Monte Carlo means drawing random inputs, running a model, and repeating. It reveals a range of outcomes from assumptions you can inspect.
Keep the average. Change the uncertainty.
Start with Clockwork, then raise only duration variability. The mean stays the same, but waiting and overtime can change.
Leave a little room to recover.
Compare the two schedules. Protected slots may reduce delays, but also reduce expected completed exams. There is a tradeoff to explore.
More runs clarify the estimate.
Compare 100 and 5,000 days. More runs usually reduce sampling noise. They cannot fix assumptions that don’t match your practice.
Inside the model: assumptions & metric definitions +
These notes describe the appointment simulator, lessons, and MRI challenge. Walk-ins & staffing has its own shared-resource assumptions in that workspace.
Illustrative inputs, editable by you
Defaults are teaching examples, not measured radiology benchmarks. Starter bookings and actual room times differ by exam type. They are illustrative assumptions. Replace these inputs with local observations before using the results for planning.
What happens each day
In booking-rate mode, every complete slot within opening hours is independently booked at your chosen probability. In fixed-demand mode, daily requests follow a Poisson distribution with your chosen mean. Requests are generated before scheduling and booked sequentially from opening using their reserved durations; excess requests are counted as unscheduled, without carrying over. Booked patients independently miss or attend. Late attendees arrive uniformly between 0 and your maximum delay. In single-average mode, exam durations follow a positive lognormal distribution with the chosen modality mean and coefficient of variation. In exam-mix mode, each booking independently draws a type using its share, then a lognormal duration using that type’s mean and the global within-type coefficient of variation. Type draws use a separate shared random stream.
How patients are served
Each machine has its own adequately staffed queue, served by arrival time. Exams are not interrupted; all attendees are eventually served, including after closing. No-shows are assumed known when their slots begin. There are no walk-ins, breakdowns, shared staff, reporting limits, or multi-day backlog.
What the results mean
Wait is arrival-to-exam-start, pooled across attendees. Utilization counts machine time within opening hours. Overtime is time until the last of the four machines finishes after closing. Days are independent repetitions, not a consecutive calendar. Weekly capacity is nominal daily capacity × 7. Overtime risk is the probability of exceeding your selected overtime threshold. The 95% interval describes sampling uncertainty under this model.
Paired comparisons use the same per-slot random draws in booking-rate mode, or the same daily request counts and patient-order random draws in fixed-demand mode. The buffered policy removes selected slots. In fixed-demand mode, buffers reserve 15-minute blocks and requests are assigned again around those blocks; patient-order draws are retained. A seed reproduces the same simulation within the shared browser/Go engine (xoshiro128-v1). This version uses a new random sequence, so historical seeds from before the browser migration produce different days. Lessons and everyday runs calculate on your device in a Web Worker; scenario comparisons and optimization still calculate on the Pi.
