Data Sources
Every number on Lotto Pick HQ traces back to an official government open-data feed. Here is exactly where the data comes from, how it is refreshed, and what its limits are.
Official open-data feeds
We use a public government open-data feed that publishes historical winning numbers for both national games through the Socrata data platform. These are the same certified results reported by the lotteries; we consume the machine-readable versions. The two datasets we ingest are:
- Powerball winning numbers — the full history of draw dates, the five white balls, and the red Powerball.
- Mega Millions winning numbers — draw dates, the five white balls, the Mega Ball, and the multiplier field.
Each feed is delivered as JSON in the standard Socrata export format, with columns such as Draw Date, Winning Numbers, and the game's special-ball field. We resolve columns by their field names so that a change in column order at the source never corrupts our records.
How often we refresh
An automated job runs once per day and pulls the latest results after the evening drawings are certified. Powerball and Mega Millions each draw multiple times per week, so on a typical day the job either adds the newest draw or confirms there is nothing new. Because the site's live data endpoint reads from the same database the job writes to, the Number Lab reflects new results shortly after each drawing is published to the open-data feed.
How records are validated
Raw rows are never trusted blindly. Before a draw is stored we:
- Confirm the draw date parses to a valid calendar date.
- Check that all five white balls fall within the game's legal range and that the special ball is valid.
- Sort the white balls in ascending order for consistent storage and display.
- Write to a table keyed on the game and draw date, so re-running the import updates existing rows instead of duplicating them.
This makes the pipeline idempotent: running it once or a hundred times produces the same clean dataset.
Known limitations
We want to be upfront about what the data can and cannot tell you:
- History depth varies. The open-data feeds cover a long but finite span. Statistics are computed over whatever history is available, which is why counts and averages shift slightly as new draws arrive.
- Rule changes over time. Both games have changed their ball pools and formats across their histories. A long-run frequency count therefore blends draws played under slightly different rules; we note the current pool sizes on the Number Lab.
- Source timing. If the official feed is delayed or briefly unavailable, the newest draw may appear here a little later than it does on the lottery's own site.
- Not the official record. We are an independent analytics site. For any legal or prize-claim purpose, the official lottery results always take precedence.
Why we use official open data
There are many places online that republish lottery results, but they vary in accuracy, formatting, and how quickly they update. We deliberately go to a government open-data portal because it is the authoritative, machine-readable source: the same certified results the lottery itself reports, published under an open-data license and designed to be consumed programmatically. That choice keeps our pipeline simple and auditable — there is a single, trusted origin for every number, rather than a patchwork of scraped pages that could drift out of sync or introduce transcription errors.
It also keeps us independent. Because we pull neutral historical facts from a public dataset and never touch ticket sales or wagering, our incentives stay aligned with accuracy and education rather than with encouraging play. The data tells a plain story about how the numbers have behaved, and that is the only story we are interested in telling.
How the data becomes charts
Once stored, the draws feed directly into the statistics you see on the Number Lab — frequency, overdue, sums, pairs, and trends — all computed with the transparent methods described on our Methodology page. Nothing is hand-edited or estimated; every figure is a direct calculation over the stored official results.