A credit score never looks at income, savings or assets. It can drop when you pay debt off, it changes depending on which day your card reports, and it comes in dozens of versions that disagree. It was built to rank borrowers, and we use it to price insurance.
Nov 20, 2026 · 9 min
GHIN and 18Birdies run the same formula and still hand the same golfer different numbers. The gap is in the course data and the fine print. The bigger problem is the formula itself, and the fix is to count your middle twelve rounds instead of your best eight.
Nov 13, 2026 · 11 min
I ran the World Handicap System calculation over 229,333 real tournament rounds by touring professionals. The index landed 2.6 strokes below what they actually shoot, and four simpler numbers beat it at predicting the next round.
Nov 6, 2026 · 10 min
I ran the leading-digit test on the datasets behind this blog, and the results show what Benford can and cannot tell you about a set of numbers.
Oct 30, 2026 · 7 min
I pulled 30 days of PyPI and npm download counts for 26 data tools and the newest ones are smaller next to the incumbents than any conference talk would have you believe.
Oct 23, 2026 · 6 min
I counted every Stack Overflow question on fifteen data tools since 2011, and the shares tell a cleaner story than the counts.
Oct 16, 2026 · 6 min
Identical resumes, random names, real job adverts. The 2004 experiment found a fifty percent gap in callbacks, and the 2022 replication at eighty thousand applications found it again.
Oct 9, 2026 · 7 min
Code has diffs and data mostly does not, which is why bad numbers ship. Build the diff, then watch what a missing key does to it.
Oct 9, 2026 · 7 min
The same two series drawn six dishonest ways, each with a single toggle that redraws it honestly, and the one question I ask of every chart I meet.
Oct 2, 2026 · 6 min
I drew random samples from three thousand real salaries and watched the median settle at a hundred rows, which changes how I think about scanning a warehouse.
Sep 25, 2026 · 7 min
One instant is a different calendar day depending on where you count it, and every daily metric quietly picks a side.
Sep 18, 2026 · 7 min
NULL is not a value, it is the absence of one, and every SQL operator has its own opinion about what to do with an absence.
Sep 11, 2026 · 7 min
A famous claim says New Jersey voters punished Woodrow Wilson for shark attacks. It rests on one county in one election, and it does not survive the second look.
Sep 11, 2026 · 7 min
I sampled 334 front-page thumbnails from 31 news sites on one afternoon and counted the charts, and the count embarrassed my thesis.
Sep 4, 2026 · 6 min
I pulled the sizes of three thousand public datasets, and most of them fit on a laptop with room to spare, which says a lot about how we pick tools.
Aug 28, 2026 · 7 min
I kept a time diary for one week and drew it as a ring, and the analysis slice turned out to be about a quarter of the day.
Aug 21, 2026 · 6 min
Eight data terms people nod along to, each explained by a small interactive you can poke instead of a paragraph you skim.
Aug 14, 2026 · 7 min
Two economists phoned 410 fast food restaurants in 1992 and got an answer the textbook said was impossible. Thirty years of fighting about it produced one of the better-tested findings in economics.
Aug 14, 2026 · 8 min
Twenty ordinary business questions over a six-table schema, sorted into the five ways a confident SQL answer goes quietly wrong, with a quiz for each one.
Aug 7, 2026 · 7 min
Three generated dbt projects at three sizes show which failure modes appear at each scale and which refactors actually help.
Jul 31, 2026 · 7 min
Pipeline cadence has a cost curve and a staleness curve, and most teams sit on the wrong side of the knee without ever having looked at when anyone reads the data.
Jul 24, 2026 · 7 min
Follow one number from raw tables to a board slide and watch its meaning change at every hop while every test stays green.
Jul 17, 2026 · 7 min
Shift a chart of leaded petrol forward twenty-one years and it lands on the American crime wave. The mechanism is real. The size of the effect is the part that keeps shrinking.
Jul 10, 2026 · 8 min
The same timestamp string is a valid date in Chrome and an Invalid Date in Safari, and one method call turns that into a white screen.
Jul 10, 2026 · 6 min
The entry-level door is narrower than it was and AI moved the lock. A concrete plan, by starting point, with the evidence on where junior jobs actually are.
Jul 3, 2026 · 9 min
Nearly eighty exits, one dot each. Where the modern data stack went, who bought it, and what it means for the tool you are about to adopt.
Jun 26, 2026 · 8 min
Thousands of self-reported data salaries by title, level, region, and remote status. Filter it, hover it, and type your own number to see where you land.
Jun 19, 2026 · 6 min
Ask a warehouse "what was revenue" and you get four answers. Ask a metric layer and you get one. That difference is the whole reason AI on data works or does not.
Jun 12, 2026 · 7 min
An NFL upset loss raises reports of men assaulting their partners by about 10 percent that evening. A UK follow-up found the same spike, and blamed something else entirely.
Jun 12, 2026 · 7 min
Ten years ago every verb in the pipeline had its own vendor. Scroll through how the boxes got pulled into one, and what is left on the edges.
Jun 5, 2026 · 7 min
Not every stage benefits equally. An honest, stage-by-stage scorecard of where models help today, where they will in 18 months, and where they still just demo well.
May 29, 2026 · 6 min
Every dashboard follows the same curve: a launch spike, then silence. Play with the model to see why pushing the insight beats waiting for the click.
May 22, 2026 · 6 min
The most quoted chart in behavioural science shows parole approvals falling to zero before lunch. The pattern is real. The hunger story probably is not.
May 8, 2026 · 7 min
A paper says child car seat mandates have prevented 145,000 births in the US since 1980, because three seats do not fit in the back of a sedan. The math is cleaner than the headline.
Apr 10, 2026 · 7 min