
I asked 4 AI models to pick a random number. Two of them said 47. None of them gave me a random number.
So I opened a new chat and asked again. Same answers.
I ran this test once before, a year ago. Same result, almost. Here is what changed, what didn’t, and why. No maths needed.
The test (October 2026)
I gave all four models the same prompt. No range, and no code allowed:
Pick a random number. Don’t use code or tools for it. Simply answer.

- Claude: 47
- ChatGPT: 47
- Gemini: 73
- Grok: 42
Then I asked again in a new chat. Every model gave me the same answer as before.
None of these numbers is random
Look closer and even 73 and 42 aren’t random. Every number has a story:
- 47 looks like what a random number should look like.
- 42 is the answer to everything in The Hitchhiker’s Guide to the Galaxy.
- 73 is Sheldon Cooper’s “best number” in The Big Bang Theory. (More on that below.)
So the models didn’t roll a die. They answered like a person who wants to sound random, or like a fan of a TV show.
A year ago: almost the same result
In November 2025 I ran it with Claude, ChatGPT, Gemini and Mistral. That time I asked for a random number between 0 and 100.

All four said 47.
Here are the two runs side by side:
| Model | November 2025 | October 2026 |
|---|---|---|
| Claude | 47 | 47 |
| ChatGPT | 47 | 47 |
| Gemini | 47 | 73 |
| Mistral | 47 | not tested |
| Grok | not tested | 42 |
What changed: Gemini moved from 47 to 73. Why? I can’t say for sure. Maybe a newer model version, maybe my prompt (no range this time). But 73 is no accident: it is one of the numbers humans pick the most. I also swapped Mistral for Grok, and Grok went for 42.
What didn’t change: Claude and ChatGPT still say 47. And in both years nobody was random, despite all the progress AI has made since then.
Humans aren’t random either
Here is the funny part: we fail this test too.
The YouTube channel Veritasium asked about 200,000 people for a random number. 37 was the most popular two-digit answer, then 73. (Veritasium, “Why is this number everywhere?”)
Why? We think a random number should look messy. 10, 50 and 90 feel too tidy. The middle feels too obvious. The edges feel too extreme. So we pick something odd-looking, like 37 or 73. Psychologists found the same with single digits back in 1976: 7 was the favourite, because it looks the most spontaneous. (Kubovy and Psotka)
The models learned from our text. So it’s no surprise they also pick numbers that feel random. Not the same one as us, though. Our top pick is 37, theirs is 47. That part is odd, and I can’t explain it.
Why: an LLM is a prediction machine
A chatbot like ChatGPT or Claude runs on a large language model (LLM). An LLM does one thing: it predicts what comes next.
Think of the autocomplete on your phone. You type “See you” and it suggests “tomorrow”. An LLM is the same idea, just much bigger.
Here is how it works, in four steps:
- Your text is cut into small pieces called tokens. A token is a word, part of a word, or a number.
- A transformer looks at all the tokens at once. That’s the part inside the model that reads your whole question together.
- The model scores every possible next token. “47” gets a score. “8,213” gets a score. So does every other option.
- It picks one of the top scores. Then it repeats the process for the next token, and the next, until the answer is done.
Where do the scores come from? From a huge amount of text written by humans, and humans pick the same few “random” numbers again and again. So when you ask for a random number, the model doesn’t roll a die. It asks itself: what would a person typically say here?
That also explains the new chat. A new chat wipes the conversation, not the model. Same model, same question, same scores, same winner. There is a bit of variation built in, but when one answer is far ahead of the others, it wins almost every time.
How to get a real random number
Don’t ask the model for the number. Ask it to run code:
Pick a random number between 1 and 100. Use code for it.
The model writes one line of code and runs it:
import random
print(random.randint(1, 100))
Now the computer picks the number, not the model. (Strictly speaking it’s a pseudorandom number, but that’s good enough for almost everything.) I tried this on all four models, and it works.
If your chat can’t run code, ask for a spreadsheet formula instead, like =RANDBETWEEN(1,100) in Excel or Google Sheets.
What this means for your business
The random number is a small test with a big lesson: don’t rely on the LLM’s answer alone.
It answers by predicting what sounds right. For a lot of work you need what is right: an exact sum, a fair pick, today’s price, a number from your own data.
So don’t ask the model to do those things in its head. Give it a setup around it. In AI this setup is usually called a harness. Claude Code and Claude Cowork are harnesses, for example. A harness has three parts:
- Tools. Code for maths and random picks, a spreadsheet for totals, a search or a database for facts, your email or calendar for the real data.
- Rules. A short text that says what the model does itself and what it must hand to a tool. “For any calculation, use code. For prices, look them up.”
- Checks. Someone, or something, looks at the result before anyone relies on it: a person, or a simple test.
That’s the difference between a chatbot and an agent: the model plus the tools, rules and checks around it.
Sources
- Veritasium, “Why is this number everywhere?” (survey of about 200,000 people, 2024).
- Kubovy, M. and Psotka, J. (1976), “The predominance of seven and the apparent spontaneity of numerical choices”, Journal of Experimental Psychology: Human Perception and Performance, 2(2), 291-294. PDF.