Summary

Unify Akron may have used a biased process to select its panel of 65 people. They say they used Panelot to create their original list of 1,000 possible panels. Panelot seems up for the task. The method they used to select one winner out of the 1,000 panels may not have been random. The impact of this non-randomness depends entirely on how Panelot was used by Unify.

If each panel was equally valid, then there is no statistical impact. Still, participants were promised a fair process and we may not have been given one. Unify Akron should, at a minimum, confirm that each participant could have ended up in any of the 1,000 possible panel numbers.

But if staff were counting on a random drawing to ensure fairness, then this is bad. I have some concerns: as an entrant into the lottery, none of my 69 tickets began with 0, 3, 6, or 8. In contrast, a drawing I ran on random.org is statistically uniform, with numbers beginning with every digit 0-9.

ABC and Unify Have Footage That Could Help

ABC News 5 Cleveland filmed at least part of the drawing with more zoom than my own film. Unify Akron also posted the video of the event with a lot of footage of the duck drawing. If either party have uncut video of the duck bowls, that may help understand what happened here.

Background

I have worked in data science, and I have a bachelor’s degree in Statistics from Carnegie Mellon University.

Unify Akron just selected its 65 “Civic Assembly” members. These members applied to be part of a 10-week-long committee addressing the housing shortage in Akron.

The selection process was held in-person at its “Civic Lottery” on Thursday, February 26, 2026. I witnessed the selection process as an audience member.

Each entrant in the Lottery had a list of 3-digit numbers. Each number is like a pick-3 lottery ticket. Just like the real lottery, you can have multiple tickets with different numbers on them, but you only win if your number is drawn. Only 65 winners would hold a winning lottery ticket.

The final goal was to generate one 3-digit number, the winning ticket. As an intermediate step, 6 possible winners were generated. Each of the 6 candidate numbers was assigned a number 1-6, and the winning number was chosen by rolling the die one time. (Actually, twice: the die had to be rerolled because it hit a chair leg.)

So the steps were:

  1. “Random” computer assignment of 584 people into 1000 possible lottery tickets
  2. Selecting the six candidate 3-digit numbers
  3. Selecting one winning ticket out of the six

If all that seems confusing, you’re not alone. Steps 2 and 3 should have been combined and explained better that night. It should have been like the Ohio lottery where one winning number is picked. The “6 into 1” thing gave false hope (5 of the 6 “finalist” numbers lost) and was confusing.

Choosing six numbers

The drawing entailed three children aged around 7 to 12 years old drawing rubber ducks from bowls about 1 foot wide. Each duck had a number written on it. (For the record, one of these children rolled the die.)

The goal was to randomly generate six 3-digit numbers, ranging from 000 though 999. Each kid was responsible for one digit. If you imagine their names were Alice, Brooklyn, and Carla; Alice selected the first digit, Brooklyn the second, and Carla the third.

Example draw:

This gives the number 0-9-4 = 094.

They ran this draw about 6 times to generate 6 candidate numbers.

Possible Bias in the Number Selection

The “lottery tickets” themselves are assumed to have been selected randomly. See the top and bottom of this page for some concerns about that.

The rubber duck selection process is where the problem is. This process may have been random, or it may not have been. It’s worse than two gold-standard random processes: state lotteries using numbered ping-pong balls in a blower machine, and a thorough shuffle of a deck of cards.

In trying to create a ceremony that was fun to watch, the organizers of Unify Akron may have made a drawing that is not random. A duck-draw is not commonly done. “I’ve invented my own way to do random drawings” is something that strikes fear into the heart of any statistician. Good randomness is boring, and you hope that people with lots of money riding on the outcome (lotteries and casinos) have invested more into the problem than you have.

One simple way the drawing could have been non-random: imagine if the ducks were numbered and placed into the bowl sequentially, from the middle and spreading outwards. The kids did not vigorously shuffle the bowls in all cases, so if these kids are more likely to draw from one part of the bowl (say, the middle), the outcome would not be random. In this scenario, you would expect ducks 0-4 to show up more than ducks 5-9 because they are closer to the middle. It is notable that there was some vigorous shuffling, especially after encouragement from Morgan Lasher and others. It was so vigorous that one of the ducks actually was ejected from the bowl (twice) and the kids had to stop for a moment (once). (This is probably what prompted the MC, Dominique Waters, to suggest “don’t get too crazy, now … quickly, quickly.” during drawings 5 and 6.)

The physical design of the bowls and the ducks does not lend itself to this kind of drawing. There isn’t much space in the bowl, so the ducks bump into each other. A larger bowl and a smoother surface (like a lotto-style ping pong ball) would have let the individual items glide past each other and scramble the bowl/basin more thoroughly.

Also: due to the organizers deciding to select 6 finalists, each individual draw must have a vigorous scramble of the ducks in the bowl. Even if you assume the bowls were vigorously shuffled before the first drawing, children shuffled the next 5 drawings. It’s possible they did not shuffle them enough. That would lead to an outcome where you’re almost drawing from the same frozen snapshot of a bowl each time. It’s like playing a round of blackjack, then collecting the cards and stacking the deck in the exact same order it was the first time. A second round played with the cards in the same order is not random.

The generated candidates were:

  1. 3-4-5
  2. 0-3-4
  3. 9-0-5
  4. 0-9-6
  5. 0-8-5*
  6. 4-5-3**

*For drawing 5, Alice accidentally ejected a duck and the drawing was restarted/longer than normal.

**For drawing 6, Morgan Lasher shuffled Alice’s bowl, presumably worried about drawing a third 0 in a row and a fourth 0 in six drawings. Alice also lost another duck, but unlike drawing 5, the drawing was not redone. I don’t think a lot of people noticed (I only saw it playing back the video).

Testing for Randomness

Here comes the statistics. Feel free to skip to the next section.

Because of the drawing process (sampling process), we actually have 6 drawings from 3 different processes, for 18 total digits drawn. I’ll continue using the fake names for those who drew the ducks (and did everything they were asked to do!). Any blame on the drawing process lies solely with the adults who ran it.

I’ll treat the drawers from left to right, as the audience saw them. Alice, then Brooklyn, then Carla.

alice_nums = c(3,0,9,0,0,4)
brooklyn_nums = c(4,3,0,9,8,5)
carla_nums = c(5,4,5,6,5,3)

Our null hypothesis is that each of the three sequences were sampled from a discrete uniform distribution. This distribution is just the digits 0-9, and each digit is equally likely to appear. This is what you would expect in the Ohio state lottery.

# 10 digits and assume each digit has equal odds (1/10)
uniform_probs = rep(1/10, 10)
uniform_probs
##  [1] 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1

Two alternative hypotheses are notable:

  1. The observations are autoregressive in time such that drawing (i+1) partly depends on drawing (i).
  2. The ducks were not placed in the bowls randomly and then >= 1 of the bowls was not shuffled properly. As such, certain numbers appear in >= 1 of the drawings more often than you would expect with random chance.

Our true “alternative hypothesis” however is the superset of (1) and (2) and anything that is not the null hypothesis.

After a brief literature review, we decide on a Root Mean Square Goodness of Fit test. We set the traditional \(\alpha = 0.05\) below which we will reject the null hypothesis.

# we choose a seed so this analysis can be re-run on any computer at any point in time
# the exact seed we choose is the most recent Ohio Pick 3 lottery numbers on 2026-02-26
# this is a "nothing up my sleeve number"
set.seed(769462)
library(discretefit)
test_gof <- function(myseq){
  x <- factor(myseq, levels = seq(0,9))
  x <- table(x)
  p <- uniform_probs
  # print(chisq_gof(x, p, reps=100000))
  # print(g_gof(x, p, reps=100000))
  # print(ft_gof(x, p, reps=100000))
  return(rms_gof(x, p, reps=100000))
}
test_gof(alice_nums)
## 
##  Simulated root-mean-square goodness-of-fit test
## 
## data:  x
## RMS = 1.4, p-value = 0.1686
test_gof(brooklyn_nums)
## 
##  Simulated root-mean-square goodness-of-fit test
## 
## data:  x
## RMS = 0.4, p-value = 1
test_gof(carla_nums)
## 
##  Simulated root-mean-square goodness-of-fit test
## 
## data:  x
## RMS = 1.4, p-value = 0.1681

Despite all that buildup, the Root Mean Square Goodness of Fit fails to reject the null hypothesis for all 3 volunteers. Brooklyn is “perfect” in that she drew 6 different numbers, but we should not fall into the cognitive bias of assuming that a random drawing can’t have repeated numbers.

Still, if you watch the video, Alice especially doesn’t look particularly random in her drawing. Drawing #6 had intervention because 3 of the 5 numbers drawn (thus far) were the same. If you rerun the test but with only the first 5:

test_gof(alice_nums[1:5])
## 
##  Simulated root-mean-square goodness-of-fit test
## 
## data:  x
## RMS = 1.7, p-value = 0.08514

The p-value is 0.085. Still not below \(\alpha = 0.05\) but with all that we know, it’s concerning. That p-value is assuming the drawing was random. We know the drawing had uncertain elements, but was each duck truly equally likely to be picked? Let’s take the Ohio lottery’s 2 most recent “pick 3” drawings and run the same statistical test.

pick3_nums = c(7, 6, 9, 4, 6, 2)
test_gof(pick3_nums)
## 
##  Simulated root-mean-square goodness-of-fit test
## 
## data:  x
## RMS = 0.73333, p-value = 0.849

True randomness aces the Root Mean Square Goodness of Fit test with a p-value of 0.85 (85% chance that you would see numbers like this if they were selected randomly).

In conclusion: we can’t say the drawing wasn’t random using data we have and the statistical tests that were run. We did not attempt an autoregressive model, but that may explain Alice and Carla’s numbers. That would not be random.

On Hubris, Consultant Brain, and Ivory Towers

If the Unify Akron people wanted a random lottery… they could have asked around. In situations more and less serious than this, people think they can breeze through a statistical process. Or they overlook the weakest link in the chain. This whole mishap is analogous to rolling your own cryptography, something you never do. Writing this article on a 24 hour turnaround has me worried I’ve made a statistical error somewhere – if nothing else, I don’t typically do analyses on this kind of data nor was I familiar with the different statistical tests available for these small sample sizes. My professional experience as a data scientist is not a lot of strolling into anywhere. It involves a lot of listening and trying to understand the problem at hand. Searching and trying to find prior art is the name of the game.

Not everyone knows statistics, but everyone is an expert in something. Unify’s mistake was strolling in and thinking that a random drawing is something you do for fun, and not something you do to assure statistical/moral fairness. No matter the field, it’s always a good practice to try to figure out what the industry leaders are doing. It was obvious to me that state lotteries have solved randomness in an intuitive, visually pleasing way. For an example outside of statistics, electrical codes are very clear about how to wire a building. Ignore them at your peril. “Code is written in blood”, and maybe “statistical practices are written in tears”.

Was the Panelot Drawing even Random?

As an entrant into the lottery, none of my 69 tickets began with 0, 3, 6, or 8. In contrast, a drawing I ran on random.org is statistically uniform, with numbers beginning with every digit 0-9.

My actual Unify Akron lottery numbers. Note how there are long unbroken sequences (141-156) and compare to my Random.org lottery below.

141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 226 227 228 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 564 565 724 725 726 727 728 991 992

Random.org integer lottery, sorted smallest to largest. Note how the numbers jump around and there aren’t long unbroken sequences.

022 024 038 044 064 069 080 097 107 108 124 128 133 154 186 198 202 208 243 266 285 287 292 324 344 350 366 385 398 418 423 447 485 535 570 571 572 593 603 611 622 659 660 721 726 763 774 784 796 797 848 850 852 855 882 888 890 904 910 916 936 947 948 954 962 963 966 976 999

Wrapping Up

Unify Akron should, at a minimum, confirm that each participant could have ended up in any of the 1,000 possible panel numbers. I have sent them a link to this post.

I’ve mentioned the concept of commercial gambling (lotteries and casinos). These are predatory industries and it is only through their use of top-dollar psychological experts that allows them to turn regular people into people addicted to gambling. The money stolen from these broken homes is funneled directly into destroying more people’s lives. Total abstinence from all forms of commercial gambling, including lotteries, casinos, sports betting, and stock picking/stock options is probably the correct choice. Nobody enters a casino expecting to become a person with gambling disorder. I am not equipped to offer the best advice on treating gambling disorder, but I am morally obligated to at least try.

Gambling addiction is not a personal failing; it is a societal failing. There is a path of carnage running through Akron. News organizations that carry positive information about gambling, such as winning numbers or advertisements from the state lottery, are profiting from the strip-mining of Akron that makes Unify Akron’s housing project even necessary in the first place. If you are in the news media and are reading this post, I’m talking to you. If your organization helps entrap people in gambling, make it stop. News that informs the rich while robbing the poor is not news, and it’s not why you went to journalism school. If gambling ads are the only way the news can exist, it should not exist at all.

Want to hire me for data science or anything else? Just want to chat? Press interview?

You can find me at:

License and I Have Photos and Video

This entire post is released under the Creative Commons Attribution 4.0 International license. (CC-BY) Please provide a link back to this page if you are using my work. https://creativecommons.org/licenses/by/4.0/

I also have photos and videos of the Unify event that I can license to you under similar terms. I just wanted to get this post up.

No so-called "AI" was used to make this post.