Showing posts with label Process Improvement. Show all posts
Showing posts with label Process Improvement. Show all posts

Saturday, March 21, 2026

Computer Simulation: Pickleball Courts!!!


 

The Conversation Most Players Recognize

If you play pickleball, you’ve probably heard some version of this conversation before.

Someone says, “We need more courts.”

Someone else responds, “No, we just need to rotate faster,” or “Shorten the games.”

It usually turns into a debate about process versus capacity.

I recently got into pickleball myself and play at a very busy set of courts with a strong and thriving community known as the Encanto Pickleballers. It’s a group made up of players of all ages and abilities, working closely with the City of Phoenix to make pickleball more accessible and to help meet the growing demand for courts. It didn’t take long to start hearing these same conversations happening in real time.

Recently, I had a chance to explore that question more formally. After a conversation with the group that was considering adding a fourth court and discussing ideas like shorter games, I built a small discrete event simulation to evaluate what would actually happen under different scenarios.

The goal wasn’t to create a perfect model. It was to create something realistic enough to support a decision.


Starting From a Full System

The model doesn’t start with empty courts or light traffic. It starts at what most players would recognize as a typical busy period, like a Saturday morning. All courts are already in use, all paddle spots are filled, and everyone else is waiting to get on.

In other words, the system is already full when the analysis begins.


Modeling Real Game Variability

To represent game length, I used a triangular distribution. For standard scoring (games played to 11 points), having played and watched many games already, I assumed games could be as short as 8 minutes, most commonly around 13 minutes, and occasionally stretch out to about 22 minutes. For shorter 9-point games, I used a slightly tighter range of 7 to 18 minutes, with most games around 11 minutes.

These values reflect typical recreational play across all skill levels. Not tournament conditions, just what you would expect to see at a busy public park.

Results were averaged across 100 simulation replications to account for variability in game length.


What Happens With Three Courts

With three courts under those conditions, the results are not surprising, but they are useful to quantify. Average wait times come out to a little over 20 minutes, with the longest waits pushing into the mid-30 minute range. That lines up well with what players experience. Most waits feel manageable, but every so often, you end up waiting much longer than expected.


The Appeal (and Limitation) of Shorter Games

One option that often comes up is shortening games. When I tested a 9-point format, the model showed a noticeable improvement. Average waits dropped to around 17 minutes, and overall capacity increased by roughly 16 percent.

From a purely operational standpoint, that works.

But there’s a social reality that matters just as much as the math. In this case, that option had already been discussed within the group and was overwhelmingly unpopular. So while shorter games improve the system, they may not be a viable solution.


What Adding a Fourth Court Changes

That leaves the other option: adding capacity.

When I introduced a fourth court into the model, still using standard scoring, the change was much more significant. Average wait times dropped to around 15 to 16 minutes, and the longest waits came down as well. The system didn’t just get slightly better. It felt noticeably different.


When Process Improvements Hit a Limit

What’s happening here is something that shows up in a lot of operational systems. Early on, you can improve performance by tweaking the process. You can adjust rules, change behavior, or tighten up how things are managed. But once demand reaches a certain level, those improvements start to produce smaller and smaller gains.

Eventually, you run into a hard limit. At that point, the issue isn’t how the system is being run. It’s that the system is simply too small for the demand placed on it.

That’s when adding capacity starts to outperform process improvements.


A Simple Way to Quantify the Impact

A simple way to think about the impact is this: a fourth court creates roughly 17 additional player opportunities per hour during peak periods. Over the course of a typical four-hour busy window, that translates to around 65 to 70 additional players getting on the court.

That’s not just a marginal improvement. It’s a meaningful increase in access.

One important assumption in this analysis is that the number of players stays fixed. In reality, that may not hold. If wait times decrease, more players may show up. That’s a common pattern in many systems. Improvements can attract additional demand, which can offset some of the gains.

Even so, under current conditions, adding a fourth court provides a substantial improvement in both average wait times and the overall player experience.


A Familiar Pattern Across Systems

What I find interesting about this isn’t just the pickleball application. It’s how familiar the pattern is.

The same dynamics show up in hospitals, clinics, airports, and call centers. You have variability, shared resources, and queues forming under peak demand. The question is almost always the same: do we fix the process, or do we add capacity?

Simulation helps answer that question in a way that intuition alone usually can’t. It allows you to test scenarios, understand tradeoffs, and make decisions with a clearer picture of how the system actually behaves.


Beyond the Numbers

But there’s another side to this that doesn’t show up in the numbers.

Talking with players and seeing feedback from the Encanto Pickleballers community, it’s clear that this isn’t just about wait times. For many people, pickleball has become an important part of their daily lives, helping them stay active, improve their health, and build meaningful social connections.

Some players have shared stories of losing weight, or finding a much-needed outlet for stress. Others talk about the friendships they’ve built and the sense of community that keeps them coming back.

That context matters.

Because when you think about adding capacity, it’s not just about reducing a queue.

It’s about increasing access to something that is clearly providing real value to people.


Final Thought

Sometimes the answer is better process design, and sometimes, the system just needs to be bigger.


If you’re working through similar questions around wait times, capacity, or system flow, I’m always interested in exploring these types of problems.


This analysis was conducted using ExtendSim Discrete Event Simulation.

If interested in learning more, you can reach me at astrozuggs@gmail.com

This article was collaboratively written with the help of artificial intelligence, with human oversight and editing to ensure accuracy and coherence.


Saturday, April 24, 2021

COVID-19 Discrete Event Computer Simulation example




How Many COVID-19 Patients Can My Hospital Handle?

Computer Simulation can tell you!!!

Back in 2020 I did a Discrete Event Computer Simulation for HonorHealth to help them understand at what point each of their 6 Hospitals would "Max Out" of COVID-19 patients, why that was, and tell them when each hospital would have to start transferring patients to other hospitals. 

Despite popular belief....ICU's were not always the reason (Although for most Hospitals it is true, but this isn't true for all Hospitals)!!!

This is what makes Discrete Event Computer Simulation so much more powerful than doing an analysis using spreadsheets, or making your best guess.

This Presentation (below) was included in a webinar for Catalysis in March of 2021.



The link to the entire webinar is  https://vimeo.com/525723742

Thursday, January 15, 2015

I love Lucy Chocolate scene: A Scientific Analysis using Computer Simulation




We have all seen the I love Lucy episode titled “Job Switching”, where Lucy and Ethel obtain a job at a chocolate factory while Ricky and Fred play homemaker. There is a scene where Lucy and Ethel have been given the job of wrapping chocolates…except too many chocolates come out and hilarity ensues.

The main reason this video is funny is quite simple:

Their cycle time is greater than the TAKT time…Now that is funny stuff!!!

OK….that doesn’t sound funny….but it is.  Click below to watch.


Think you have challenges and need help? Contact me at Astrozuggs@gmail.com 

This clip has time and time again been used by Management gurus and Lean practitioners to illustrate many different concepts including:

• Management methods
• Lack of visibility (by Management)
• Flow
• Push vs. Pull processes
• Work stress
• Waste
• Quality
• Variability in processes

When presenting Lean, I myself usually show this video as an example of push processes and the waste that is created by this extreme and visual example.

No Scientific analysis exists!!!

One thing that I haven’t seen is a scientific evaluation around this clip. Concepts such as TAKT time, cycle time, and other key performance indicators that can be determined have only been briefly mentioned in other articles.  No real serious deep dive exists.

Question’s such as:

“What was the TAKT time”
“What were Lucy and Ethel’s cycle time to wrap chocolates”
“How many workers would it take to be successful”
“How many chocolates would have passed without being wrapped.”

All of these questions I hope to answer.

Step by step on how I did this.

1st step: Study video to determine Lucy and Ethel’s process.

To accurately determine their processes, I observed the video and then created a process map of what I observed.  First, I determined the very first step, which was “chocolates arrive via the conveyer belt.” I then determined the last step in the process, namely “Chocolates exit via the conveyer belt.”

Now knowing the very first thing and the very last thing, I was able to fill in the gaps (See process map below.)




2nd Step: Time Study.

How fast were chocolates coming in?

Approximately 6 chocolates came out during the 1st 10 seconds and then started increasing until it reached about 14 chocolates every 10 seconds. Determining this information allowed me to determine TAKT times (What is TAKT time?) for these periods by using the calculation “Seconds/Number of chocolates”, which were every 1.67 seconds/chocolate and increasing to .71 seconds/chocolate respectively. It is also interesting to note that the conveyer belt moved chocolates down the entire line in about 14 seconds to begin with but then sped up to about 7 seconds.  This will be important later.
Precise times taken were taken of both Lucy and Ethel’s cycle time to wrap chocolates.
For Lucy, during the 1st 10 seconds, the amount of time that it took from when she grabbed a piece of chocolate, wrap the chocolate, place it back on the conveyer belt and grab the next piece of chocolate was minimum 3 seconds with a maximum of 4 seconds. For Ethel, it was a bit slower minimum 3 seconds with a maximum of 5 seconds.
There were indeed examples of faster cycle times, but those examples were wrought with waste and quality issues as you saw in the video.  One major assumption of my analysis was that a (minimum of 3 seconds, most likely 4 seconds, maximum of 5 seconds) was a good pace for Lucy and Ethel for an 8 hour shift.

3rd step: Develop Discrete Computer Simulation of the “I Love Lucy Chocolate Scene”:

I set up simulations for the slow pace, faster pace and the fastest pace at which chocolates were arriving to Lucy and Ethel to see what would have happened if they were allowed to work an 8 hour shift.

Original scenario set up in Simulation (Lucy and Ethel at the slower pace)

Think you would like me to do simulation for you? Contact me at Astrozuggs@gmail.com 





Using Extend simulation software…To begin, I programmed Chocolates to arrive exponentially distributed with an average of 1.67 seconds (about 36 a minute), then the chocolates get grabbed by either Lucy or Ethel where I gave it a triangular distribution of minimum 3 seconds, most likely 4 seconds, and maximum 5 seconds to wrap the chocolates.

I also programmed the simulation the “reneg” a chocolate out of the system if it has been on a conveyer belt for more than 14 seconds, which represents a chocolate making it past both Lucy and Ethel without being wrapped.  The simulation runtime was set for an 8 hour shift. 

Analysis of Original scenario (Lucy and Ethel at the slower pace)

One surprising realization after running this first model is that even at the original “slow” pace, Lucy and Ethel would not be able to keep up for very long. 

This is because the simulation results reveal there were 17,087 chocolates that went down the line and Lucy and Ethel’s only managed to successfully wrap 14,207 of them!!!
This means that they missed about 2,875 chocolates!

Utilization* (i.e. the time they were actually physically working)
 
Utilization was hovering right at 98%.  This is an extremely high and unrealistic utilization number.  Typically, from my experience, utilization should be anywhere from 80% - 85%. 
Once you start pushing over 85% consistently, workers get stressed, mistakes happen, and so forth.
Conversely, the lower you get from 80% the more idle time your workers will experience and may not be an effective use of their time.  This is all variable and there are exceptions depending on your industry but let’s stick with around 80% to 85% being what we would like to shoot for as far as utilization.
In healthcare, we often talk about utilization when we speak to Daily Patient Census, Operating Room Utilization, Nurse or Tech productivity numbers (which are calculated based off of patient volumes and work time)….we are really just trying to understand how our workers, machines, and rooms are being utilized.

Original scenario set up in Simulation (Lucy and Ethel at the faster pace)

It should be noted that I used Camtasia studio software to record the simulation, which slowed down the video significantly. All videos appear very slow.



I programmed Chocolates to arrive exponentially distributed with an average of .71 seconds (about 85 a minute), then the chocolates get grabbed by either Lucy or Ethel where again, I gave it a triangular distribution of minimum 3 seconds, most likely 4 seconds, and maximum 5 seconds to wrap the chocolates.
It is interesting to note that the speed of the conveyer belt in this faster original scenario increased.  It now takes only 7 seconds for a chocolate to travel across the room.  Because of this, I programmed the simulation to “reneg” a chocolate out of the system if it has been on a conveyer belt for more than 7 seconds, which represents a chocolate making it past both Lucy and Ethel without being wrapped. 
Again, the simulation runtime was set for an 8 hour shift. 

Analysis of Original scenario (Lucy and Ethel at the faster pace)

The simulation results indicate that there were 40,697 chocolates that went down the line and Lucy and Ethel’s only managed to successfully wrap 14,414 of them!
Yikes…..this means that they missed about 26,273 chocolates!!!

Utilization

Utilization was over 99%, which again…you couldn’t possibly do real world.

Original scenario set up in Simulation (Lucy and Ethel at the fastest pace)


Toward the end of the scene, the manager comes out and say’s “Speed it up a little!!!” 
If you thought it was going fast before, think again!!!  Chocolates were to arrive exponentially distributed with an average of .167 seconds (about 360 chocolates a minute!!!)   At this point, it was actually pointless to run the simulation (but I did) because it looks almost identical (with respect to Lucy and Ethel’s utilization percentage, and the number they actually wrapped) to the previous simulation except with much more missed chocolates than actually being wrapped.  I sure would have liked to peek behind the wall to see what was going on behind the scenes!!!

What to do with this information?

Let’s try to determine what appropriate staffing at the slower pace.

I will do both a brief calculation using averages of TAKT and Cycle times to arrive at the appropriate staffing.

Using the TAKT time and Cycle times by dividing (4 seconds per chocolate per person to wrap / 1.67 seconds per chocolate coming in) = 2.4 workers to meet the TAKT time but does this tell you how many chocolates will be missed or what the staff utilization will be?

Scenario: Adding one more worker:

Using the simulation, I ran a scenario where everything remained the same except I added one more worker.

The results indicated that 17,084 chocolates created, our 3 workers utilization was at 80% with only 13 chocolates not getting wrapped…not bad.  I would be pretty comfortable with this result and hire and train only 1 additional person.

Let’s try to determine what the appropriate staffing should be at the faster pace.

It may prove more difficult to accurately determine staffing levels at the faster pace…let’s give it a shot.

Again, a calculation of TAKT and Cycle times reveal (4 seconds per chocolate per person to wrap / .71 seconds per chocolate coming in)= 5.6 workers to meet the TAKT time.

Let’s go ahead and round up and say the number of workers we need is 6.  Let’s then throw this number of workers into the simulation.

Using the simulation, I ran a scenario where chocolates were arriving every .71 seconds with 6 workers and the conveyer belt was moving chocolates through in 7 seconds.

The results indicated 40,155 chocolates were created, our 6 workers utilization was at 91% (significantly high) and 729 chocolates not getting wrapped.  This is pretty bad. Basically almost 2 out of every 100 chocolates were not wrapped.

Let’s try it with 7 workers

The results indicated that 40,767 chocolates were created, our 7 workers utilization was at 80% and 38 chocolates not getting wrapped.  This is much better.  I would be comfortable with this result and hire and train 7 workers.

In this case the calculation results of 5.6 vs the simulation answer of 7 workers was off by 1.4 workers, which is about a 20% difference. This illustrates how useful even a simple simulation can be.  What if instead of 7 workers, we were deciding to hire hundreds of workers!!!

Let’s try to determine what the appropriate staffing should be at the super-fast pace.

A calculation of TAKT and Cycle times reveal (4 seconds per chocolate per person to wrap / .167 seconds per chocolate coming in) = 23.95 workers to meet the TAKT time.
So hopefully, you have started to realize that we need to bump up our estimates from what our calculation gives us.  Let’s go ahead and make the number of workers we need to 25.  Let’s then throw this number of workers into the simulation.

Using the simulation, I ran a scenario where chocolates were arriving every .167 seconds (recall this is about 360 a minute) with 25 workers and the conveyer belt moving chocolates through in 7 seconds.

The results indicated that 172,742 chocolates were created, our 25 workers utilization was at 96% (unrealistically high) and 126 chocolates not getting wrapped.  I would be very concerned that the utilization is too high.

After a few more staffing scenarios, I landed on 28 workers with a utilization of 87%.



Do you see another problem here?......Hopefully you realized that you couldn’t possibly fit 28 workers in that area….Time to build out a new space or get a new facility? This is a topic for a different day.

In summary, I hoped to put some real scientific analysis around this clip and answer some important questions in a fun way.  I also hoped to illustrate using TAKT time calculations is a good starting point but please do not go through real-time PDSA cycles with respect to the number of resources (machines and workers) you should have…it is costly and painful.  Why not use simulation to do further analysis to reduce risk.  It only took me about an hour to observe the video and no more than 15 minutes to build this simulation from start to finish.

In this example, I used Discrete Event Computer Simulation.  Depending on your circumstances you can certainly leverage prior knowledge or experience to help guide your decisions or perhaps building a “mock-up” of your current operations and simulating it that way.  Performing a table top exercise may be appropriate in certain instances. Whatever you do….give it some thought!!!


Think your organization or business needs help? Contact me at Astrozuggs@gmail.com 

*For our purposes…utilization (in the simulation) is defined as the actual working time with nothing else included. For example if you are working for an hour and every 2 minutes you take 3 seconds to wipe the sweat from your forehead then you are not “working” for 1.5 minutes out of that hour and are being utilized 97.5% of the time.