Mar 22, 2025 Sessions out of raw events in saas-subscriptions sessionisation against a real schema, and the clause in it that is doing the work. sql Analytics engineering
Mar 21, 2025 Counting rows is not testing grain 3,780 distinct combinations against 4,000 rows, and what that answers about the table's key. sqlqualitywarehousing Analytics engineering
Mar 20, 2025 Five minutes with country in world-indicators 720 rows, 30 distinct values, and the one fact about country that changes how you query it. qualitypractice Data quality
Mar 19, 2025 Before you clip the outliers A max 1.1× the 99th percentile, and the three different things that could be. statisticsquality Statistics
Mar 18, 2025 seats_now: mean 59, median 8 A 635.5% gap between mean and median on one column, and which of the two answers the question you were asked. statisticspractice Statistics
Mar 17, 2025 What rated_at actually contains in movie-ratings 9,000 rows, 8,999 distinct values, and the one fact about rated_at that changes how you query it. qualitypractice Data quality
Mar 16, 2025 The overall average hides 14 different numbers Real group means for one column across 14 segments, and what the pooled average conceals. statisticspractice Analytics practice
Mar 15, 2025 r = -0.37 between wind_mw and price_eur_mwh A measured correlation of -0.37 between two columns, what its square says, and the diagnostic that costs one line. statistics Statistics
Mar 14, 2025 Charting seats by plan Two facts about the columns decide the chart. Cardinality and skew, in that order. visualization Visualization
Mar 13, 2025 Reading release_year before trusting it in movie-ratings 9,000 rows, 53 distinct values, and the one fact about release_year that changes how you query it. qualitypractice Data quality
Mar 12, 2025 Retail orders, in one paragraph Seven thousand e-commerce order lines across four channels and six categories, with a real Q4 seasonality bump, a returns flag, and discounting that varies by channel.. qualitypractice Data quality
Mar 11, 2025 Reader question — Writing SQL people can read, and reading the plan The query you write twice a year is written for the machine. The one in a production model is written for the person debugging it at 3am, who might be you. practice Analytics engineering
Mar 10, 2025 What dep_delay_min actually contains in flight-delays 8,000 rows, 251 distinct values, and the one fact about dep_delay_min that changes how you query it. qualitypractice Data quality
Mar 9, 2025 Anti-join, in short Find rows with no match on the other side — and avoid the NOT IN trap that silently returns nothing. sql Analytics engineering
Mar 8, 2025 The category that eats the chart 4 values with 29.6% concentrated in one of them, and what that does to every chart downstream. visualizationpractice Visualization
Mar 7, 2025 Keeping one row per key in support-tickets deduplicate by rank against a real schema, and the clause in it that is doing the work. sql Analytics engineering
Mar 6, 2025 Counting rows is not testing grain 7,690 distinct combinations against 8,000 rows, and what that answers about the table's key. sqlqualitywarehousing Analytics engineering
Mar 5, 2025 Five minutes with wind_mw in grid-energy-load 8,760 rows, 6,314 distinct values, and the one fact about wind_mw that changes how you query it. qualitypractice Data quality
Mar 4, 2025 A strong correlation, and what it is not A measured correlation of 0.80 between two columns, what its square says, and the diagnostic that costs one line. statistics Statistics
Mar 3, 2025 Before you clip the outliers A max 1.1× the 99th percentile, and the three different things that could be. statisticsquality Statistics
Mar 2, 2025 Five minutes with first_response_min in support-tickets 4,000 rows, 622 distinct values, and the one fact about first_response_min that changes how you query it. qualitypractice Data quality
Mar 1, 2025 The overall average hides 8 different numbers Real group means for one column across 8 segments, and what the pooled average conceals. statisticspractice Analytics practice
Feb 28, 2025 Charting fare_usd by borough Two facts about the columns decide the chart. Cardinality and skew, in that order. visualization Visualization
Feb 27, 2025 Reading sessions before trusting it in ab-test-checkout 6,000 rows, 20 distinct values, and the one fact about sessions that changes how you query it. qualitypractice Data quality