Explore your practice.

Change assumptions, simulate possible days, and compare the tradeoffs.

Watch the 2-minute introductionSee how Learn and Simulate connect, from your first lesson to your own experiments.1:57 · Voice, music & captions

Open video & transcriptThen try a guided lesson, or explore the simulator below.

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…

02 / EXPLORE THE POSSIBILITIES1000 simulated days · seed 42
192 15-minute grid blocks / day1344 / week08:00–20:00X-ray 48 · Ultrasound 48 · CT 48 · MRI 48Exam mix enabledViewing current scheduleFixed expected demand
STAY >30 MIN LATE0.0%

Chance any machine exceeds the threshold.

With buffers 0.0%
PATIENT WAIT0.0min

Average arrival-to-exam wait.

With buffers 0.0 min
EXAMS COMPLETED0.0/ day

All attendees served, even after closing.

With buffers 0.0 / day
MACHINE UTILIZATION0.0%

Busy time during opening hours.

With buffers 0.0%
WHAT WAS ACTUALLY ON THE SCHEDULE?

The workload behind the average.

Selected schedule · averages per day
Modality / exam typeBooked/dayCompleted/dayMean observed room time
X-rayChest X-ray0.00.0—
X-rayBone / extremity X-ray0.00.0—
X-raySpine X-ray0.00.0—
UltrasoundThyroid ultrasound0.00.0—
UltrasoundAbdominal ultrasound0.00.0—
UltrasoundVenous ultrasound0.00.0—
CTHead CT0.00.0—
CTChest CT0.00.0—
CTAbdomen / pelvis CT0.00.0—
MRIKnee MRI0.00.0—
MRIBrain MRI0.00.0—
MRISpine MRI0.00.0—

These are simulated counts and durations, not clinical benchmarks. Timeline tooltips identify the exam type for each appointment.

A SINGLE DRAW FROM THE MODEL

One possible day.

08:00

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.

FOLLOW THE SAMPLE DAY

On the floor now.

08:00Press play or move the time slider
X-rayReady

—

Explore this possible day.

—

0 completed0 waiting
UltrasoundReady

—

Explore this possible day.

—

0 completed0 waiting
CTReady

—

Explore this possible day.

—

0 completed0 waiting
MRIReady

—

Explore this possible day.

—

0 completed0 waiting

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.

One possible day across four modalitiesSolid blocks show actual exams, dashed blocks show no-shows, and thin lines show patient waiting. This is the first day in the current simulation.CLOSE08:0010:0012:0014:0016:0018:0020:00X-ray0 exams · 0 missedUltrasound0 exams · 0 missedCT0 exams · 0 missedMRI0 exams · 0 missed
Actual examBooked windowNo-showPatient waiting
All machines finished by closing

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.

REPEAT THE EXPERIMENT

How much extra time?

Current scheduleProtected buffers
001Current: 0 days, None overtimeBuffered: 0 days, None overtimeNoneCurrent: 0 days, ≤15m overtimeBuffered: 0 days, ≤15m overtime≤15mCurrent: 0 days, 15–30m overtimeBuffered: 0 days, 15–30m overtime15–30mCurrent: 0 days, 30–60m overtimeBuffered: 0 days, 30–60m overtime30–60mCurrent: 0 days, 1–2h overtimeBuffered: 0 days, 1–2h overtime1–2hCurrent: 0 days, >2h overtimeBuffered: 0 days, >2h overtime>2hDAYSOVERTIME →

Daily overtime across 1000 possible days. “None” means every machine finished by closing.

WATCH THE ESTIMATE SETTLE

From a guess to a pattern.

Current scheduleProtected buffers
0%50%100%15001000OVERTIME RISKDAYS →

Current schedule: 0 / 1000 days exceeded 30 min of overtime. 95% sampling interval: 0.0–0.0%.

THE DECISION, SIDE BY SIDE

What does breathing room buy?

2 15-minute buffer blocks / machine
Current and buffered schedules compared using paired random events
Daily outcomeCurrent scheduleWith buffers
Chance of >30 min overtime0.0%0.0%
Average extra opening time0.0 min0.0 min
90th-percentile patient wait0.0 min0.0 min
90th-percentile extra opening time0.0 min0.0 min
Average appointments booked0.00.0
Average unscheduled requests0.00.0
Average exams completed0.00.0
THE TRADEOFF ↗

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.

LOOK UNDER THE HOOD

Four queues. Four different days.

Current schedule results by modality
ModalityGrid blocks/dayCompleted/dayAvg wait>30 min lateUtilization
X-ray00.00.0 min0.0%0.0%
Ultrasound00.00.0 min0.0%0.0%
CT00.00.0 min0.0%0.0%
MRI00.00.0 min0.0%0.0%

1000 simulated days complete. Results use the settings submitted for this run. Illustrative model; inspect the assumptions below.

Ready to compare policies?

Keep the same demand and search for booking lengths that meet your goals.

03 / THE AHA MOMENT

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.

01

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.

02

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.

03

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.