I've promised this issue three times now — in #3, in #4, and again last week. At this point the methodology deep-dive was becoming the licensing maze all over again: always next, never now. So here it is. How the QL Spot Estimate is actually built, what surprised me while building it, and how wrong it gets.
Fair warning: there is a regression model in this issue. I'll keep it painless.
What goes in: exactly two stocks
Here's the part that sounds like a joke. The model that estimates the uranium spot price has exactly two inputs: the share prices of Sprott Physical Uranium (SPUT) and Yellow Cake PLC. Not fifteen tickers. Not a basket of miners. Two.
Both trade on real exchanges, so anyone can query them freely and legally — that was the whole point after the licensing maze from #4. The calibration target is the trail of monthly reference prices I collected by hand from press releases and news archives: 54 months of publicly reported facts now, with June's added.
The two inputs came with a detail I didn't see coming: Sprott trades in Toronto around 20 Canadian dollars, Yellow Cake trades in London around 400 British pence, and the target is in US dollars per pound. Three currencies, three scales, one formula. So the first real step of the pipeline is just standardizing everything — there's a line in my code whose only job is making sure the model never finds out what currency anything is in.
On top of that sits a ridge regression: a linear model with built-in skepticism that shrinks any weight toward zero unless the data earns it. Train it, and you get a formula. Feed it today's closes, and out comes today's estimate. No sentiment magic, no neural network.
The numbers I promised in #3
Back then I told you the producers surprised me: I expected Cameco and Kazatomprom to do the heavy lifting, and they didn't. What I didn't say is how completely they lost. When I tested features for the model, the producers added so little that the version running today doesn't include them at all. They weren't outvoted. They were cut.
The weights that remain (per standard-deviation move, since everything is standardized): Sprott $10.84, Yellow Cake $4.96. Sprott alone carries about two-thirds of the signal. The intercept is $70.51 — simply the average spot price over the training window, the model's answer when both stocks sit at their historical mean.
In hindsight the model was just being sensible. SPUT and Yellow Cake hold nothing but uranium; their shares are the closest thing to the metal that has a ticker. A producer's share price carries everything else — costs, contract books, mine restarts, Kazakh politics. Producers are businesses that touch uranium. These two are uranium with a ticker. That's also why producer stocks mostly follow the spot price instead of predicting it.
How wrong is it?
On the training data (as of the early-July run): an average error of $2.22 per pound, R² of 0.967. Treat those as the best case — they were measured on months the model trained on.
The month-by-month log is more interesting. Most months land within a couple of dollars, but a few miss badly — and the worst of them wasn't June. It was March 2024: uranium had spiked to $100 in January and was still settling back, the survey printed $95.30, the model said $87.85. Off by $7.45 with the answers in hand. Ridge's skepticism cuts both ways: it won't memorize noise, and it won't chase a spike either.
You already know June's number from last week — $6.45 off, the first true out-of-sample test. Against March 2024, that isn't even the model's worst month. It's just the first one that counted.
The error has a shape
Here's what I only noticed when I laid four and a half years of residuals out in a row: the sign sticks. From late 2022 the estimate ran above the survey for about seven straight months. Across mid-2024 it flipped and ran below for six. Since last autumn it's been mostly above again. The model doesn't wobble around the truth at random — it drifts to one side and stays there.
That fits what the number actually is (the market-implied view, as covered last week): a persistent gap means the equity market and the survey firms are having a running disagreement about what uranium is worth. Tracking that disagreement — who drifts, who's early, who wins — is the most interesting thing this model can do, and it's where the next round of improvement is aimed.
The takeaway
The QL Spot Estimate is a weighted sum of two uranium stocks, calibrated monthly against publicly reported facts, published with its errors attached. Nothing more. Now that you know exactly what's under the hood, you can judge every monthly check yourself — the next one lands when the July reference price is out.
— Maximilian