<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Decision Patterns]]></title><description><![CDATA[In this newsletter I share patterns and ideas I’ve learned and synthesized over a long career in the field of data and decision science to help you make wiser decisions with data]]></description><link>https://sqlpatterns.com</link><image><url>https://sqlpatterns.com/img/substack.png</url><title>Decision Patterns</title><link>https://sqlpatterns.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 14 Apr 2026 21:53:25 GMT</lastBuildDate><atom:link href="https://sqlpatterns.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Ergest Xheblati]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[ergestx@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[ergestx@substack.com]]></itunes:email><itunes:name><![CDATA[Ergest Xheblati]]></itunes:name></itunes:owner><itunes:author><![CDATA[Ergest Xheblati]]></itunes:author><googleplay:owner><![CDATA[ergestx@substack.com]]></googleplay:owner><googleplay:email><![CDATA[ergestx@substack.com]]></googleplay:email><googleplay:author><![CDATA[Ergest Xheblati]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[How Analytics Drives Progress]]></title><description><![CDATA[The story of Statistical Process Control (SPC)]]></description><link>https://sqlpatterns.com/p/how-analytics-drives-progress</link><guid isPermaLink="false">https://sqlpatterns.com/p/how-analytics-drives-progress</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sun, 05 Apr 2026 16:00:54 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/98a9bb0b-7f25-4ab9-a31b-fd25632e9b9d_1408x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There&#8217;s a memo sitting in the archives of Bell Laboratories. It&#8217;s barely a page long. Most of it is a simple diagram. And it is, arguably, one of the most consequential documents in the history of analytics that very few modern data practitioners know anything about.</p><p>It was written in 1924, by a physicist named Walter Shewhart, working at a telephone equipment factory in Chicago. His boss, George D. Edwards, later recalled:</p><blockquote><p><em>&#8220;Dr. Shewhart prepared a little memorandum only about a page in length. About a third of that page was given over to a simple diagram which we would all recognize today as a schematic control chart. That diagram, and the short text which preceded and followed it, set forth all of the essential principles and considerations which are involved in what we know today as process quality control.&#8221;</em></p></blockquote><p>Dr. Shewhart didn&#8217;t set out to revolutionize manufacturing, or give birth to Six-Sigma, TQM, Just In Time, Lean, etc. all of which still drive excellence and quality, but they call can be traced back to his work on the control chart.</p><p>He inspired the work of W. Edwards Deming and Joseph Juran, both of whom had tremendous success in post-war Japan and are credited with turning around the phrase &#8220;Made in Japan&#8221; from the laughingstock of industry to the second most successful economy in the world for a long time.</p><p>In many ways, Walter Shewhart can be thought of as one of the early pioneers of applied analytics, a field we consider quite modern but whose roots go all the way back to his invention of &#8220;Statistical Process Control&#8221; (SPC). Yes, statistics goes back even further, but its application in industrial processes began in a phone manufacturing plant at the start of the 20th century, with an American physicist and self-taught statistician.</p><h2>Quiet beginnings</h2><p>In 1918 Shewhart joined the Western Electric Company Inspection Engineering Department at the Hawthorne Works plant in Cicero Illinois to help with their quality issues. Western Electric produced telephone hardware for the Bell Telephone Company, which later became AT&amp;T.</p><p>At Hawthorne Works, telephone systems roll off the assembly line. A worker inspects the apparatus testing it carefully. If it falls within tolerance limits, it&#8217;s a &#8220;go&#8221; otherwise it&#8217;s straight into the reject pile. We&#8217;re talking about a piece of hardware with more than one hundred thousand part here, getting scrapped just like that. This is not a joke!</p><p>It&#8217;s the early 19th century, and despite the concept of standardization being invented a century earlier, everything is still done by hand operated machines. Imagine making even something as simple as a screw on a lathe by hand.</p><p>Its length, diameter, number of threads, depth of the groove, etc. all standardized, and yet one small change in the process, like an extra rotation of a lathe, can cause a few tenths of a millimeter variation in length. Add up a few of these and the entire apparatus is thrown in the scrap pile.</p><p>It is precisely in this environment that Walter Shewhart gives birth to the <em>Theory of Variation.</em></p><h2>Controlling variation improves quality</h2><p>The fact that manufacturing processes produce variation was common knowledge at this time. A machine cutting parts to a specified diameter will never cut every single part exactly the same. Temperature, tool wear, raw material variation, the vibration of the floor all of it introduces small differences. This is normal. This is expected.</p><p>Shewhart&#8217;s insight was that you can improve quality of a part by reducing that variation in its manufacturing process through the use of controllable inputs.</p><p>We don&#8217;t think about it much these days, but In order for parts to fit perfectly they need to be produced within certain tolerances. This is easy to measure: length, width, height, diameter, curvature, etc. and can be thought of as you &#8220;output measurements.&#8221; </p><p>Despite being thought of as &#8220;outputs&#8221; it doesn&#8217;t mean they can&#8217;t be controlled. You can control the diameter of a part by how long it spends in the lathe, how far the cutting tool is set, how many passes you take, how sharp the insert is, etc. By controlling these inputs, you can directly control a good portion of variation in final measurements, which means you can improve the part&#8217;s quality.</p><p>If everything is working as expected, the variation should be within an expected range (called upper process limit and lower process limit). If something unusual happens (a tool starts to get dull, there&#8217;s too much heat produced, or something breaks, you will see the change in variation. Now you can investigate.</p><h2>Too many changes</h2><p>Before Shewhart introduced the concept of &#8220;routine variation&#8221; vs &#8220;exceptional variation&#8221; managers would react to every fluctuation in outputs. Tighten a screw more, spin the lathe slower, use more coolant, take fewer passes, etc.</p><p>This is not much different to how we operate today.</p><p>We may not be tightening the screws of a work piece in a milling machine, but we do control how much we spend on an ad campaign, what kind of messaging we use in the ads, how quickly we reach out to customers who sign up for a trial, whether we email first then call, how often we call, etc. These are all controllable inputs for modern digital processes.</p><p>Shewhart discovered that if you keep adjusting a system that&#8217;s exhibiting only routine variation, you introduce variations of your own. You add noise on top of noise. He called it <strong>tampering</strong>, and his work showed that tampering with a stable process consistently makes it worse not better.</p><p>So he introduced a rule: <strong>&#8220;If all you see is routine variation, DON&#8217;T TOUCH IT!&#8221;</strong></p><p>Unlike in manufacturing, where quality is visible &#8212; you can see if two parts fit together perfectly or not &#8212; we cannot see the quality in our digital processes. So we measure things we think make sense (e.g. conversion rates) and go about trying to improve them.</p><p>Exactly like the workers before the control chart, fiddling with the machines after every measurement, we tweak everything at once; we measure the impact poorly (by comparing today with yesterday or last week) and wonder why we can&#8217;t seem to figure out how to improve things.</p><p>But how do you measure routine vs exceptional variation?</p><h2>Process control charts</h2><p>Shewhart&#8217;s answer was the control chart. The idea is straightforward: calculate the natural limits of variation for a stable process, draw lines at those limits, and then observe where new measurements fall. Points within the limits? Common cause. The process is in control. Don&#8217;t touch it. Points outside the limits? Special cause. Something changed. Investigate.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3EiN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3EiN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png 424w, https://substackcdn.com/image/fetch/$s_!3EiN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png 848w, https://substackcdn.com/image/fetch/$s_!3EiN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png 1272w, https://substackcdn.com/image/fetch/$s_!3EiN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3EiN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png" width="739" height="741" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:741,&quot;width&quot;:739,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:284860,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/193245717?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3EiN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png 424w, https://substackcdn.com/image/fetch/$s_!3EiN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png 848w, https://substackcdn.com/image/fetch/$s_!3EiN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png 1272w, https://substackcdn.com/image/fetch/$s_!3EiN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8f110b1-2a95-45e2-a8cb-7095739d83a0_739x741.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Shewhart&#8217;s original hand-drawn control chart from the May 16, 1924 memo. The upper and lower limits define the boundary between normal variation and a signal worth investigating.</em></p><p>For those who haven&#8217;t seen such a chart in the past, the upper and lower limits capture Three Sigma (99.73% variation or roughly 2700 defects per million). For comparison, Six Sigma captures 99.99966% variation or 3.4 defects per million. Given the tooling at the time, this was more than adequate for improving quality.</p><p>In 1931, Shewhart published <em>Economic Control of Quality of Manufactured Product</em> &#8212; the foundational text. It was the first publication on statistical quality control in manufacturing. The core argument: you cannot improve what you do not understand, and you cannot understand a process without distinguishing between its normal behavior and its exceptions.</p><p>The problem Shewhart solved in 1924 is the same problem analytics teams face every day. A metric drops 8% week over week. Is it a real problem? Is it seasonality? Is it within the normal range of fluctuation? Should leadership be concerned? Should the data team be investigating? Should the engineering team be checking for a bug?</p><p>So why don&#8217;t we use the framework of process control charts?</p><p>If you don&#8217;t have a framework for distinguishing signal from noise, you end up doing exactly what those pre-Shewhart factory managers were doing: reacting to every fluctuation, investing enormous effort in problems that aren&#8217;t problems, and missing the genuine signals buried in the noise.</p><h2>A Preview of what&#8217;s coming</h2><p>Shewhart&#8217;s memo in 1924 was the beginning. His ideas stayed largely confined to Western Electric for over a decade until World War II changed everything, and the methods proved themselves at a scale nobody had imagined.</p><p>In part two, we&#8217;ll look at what happened when Shewhart&#8217;s framework met the urgency of wartime manufacturing and how it drove one of the most remarkable leaps in industrial productivity in recorded history.</p><p>I&#8217;ll write more on this series because it&#8217;s of genuinely high interest to me, and I hope to you as well. The history of SPC is really the history of how analytical thinking learned to create accountability at industrial scale. That story is not over. It&#8217;s just getting started.</p><p>Until next time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Decision Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Should you still learn SQL (in the age of LLMs)?]]></title><description><![CDATA[On the importance (or not) of technical skills in the age of AI]]></description><link>https://sqlpatterns.com/p/should-you-still-learn-sql-in-the</link><guid isPermaLink="false">https://sqlpatterns.com/p/should-you-still-learn-sql-in-the</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sun, 01 Mar 2026 02:13:09 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ef398389-34af-475b-ac5c-77774d8932a9_2624x3936.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This post is quick, but if you still want the TL;DR the answer is YES!<strong> You should still learn SQL</strong>, but not for the reasons you think. To learn why, read the rest of the post.</p><p>I have built my entire (<em>circa 2 decade</em>) career in data on SQL. Many others even longer. This is not some exaggeration on my part. I only started learning Python for software engineering in the last 2 - 3 years, as surprising as that may sound.</p><p>You probably know me as the guy who loves SQL. I even wrote a book on it. I&#8217;ve gone viral several times SQL-maxxing, so have I changed my tune?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gKVa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gKVa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png 424w, https://substackcdn.com/image/fetch/$s_!gKVa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png 848w, https://substackcdn.com/image/fetch/$s_!gKVa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png 1272w, https://substackcdn.com/image/fetch/$s_!gKVa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gKVa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png" width="549" height="299" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:299,&quot;width&quot;:549,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45170,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/189510069?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gKVa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png 424w, https://substackcdn.com/image/fetch/$s_!gKVa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png 848w, https://substackcdn.com/image/fetch/$s_!gKVa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png 1272w, https://substackcdn.com/image/fetch/$s_!gKVa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4e91ec-a2e0-4fb3-9843-d2a77fd9087f_549x299.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What&#8217;s happening with SQL</h2><p>Let&#8217;s go through this logically and systematically so you fully understand the points I&#8217;m trying to make.</p><p>SQL is the best interface we have to query databases. It&#8217;s the <em>lingua franca </em>of any modern database. Many vendors who have tried to develop alternatives eventually give up and build a SQL engine.</p><p>But something very important happened in the last few months. The latest LLM model offerings from the big AI labs (Opus / Sonnet 4.6, GPT 5.2) have gotten <em>very </em>good at writing correct SQL (given the right context as we&#8217;ll soon discuss)</p><p>This both SQL used to query existing data and SQL used to transform and model new data to prepare it for querying. I have seen this myself in my own daily work, but if you want to read more about it check out <a href="https://motherduck.com/blog/bird-bench-and-data-models/">this awesome article</a> Jacob Matson wrote.</p><p><strong>The shift we&#8217;re seeing is that the interface to the data is getting compacted.</strong></p><p>Until now, a stakeholder question (in English or any other human language) had to go through you (the data professional who understood both the business context and the data model) before it got translated to SQL, executed on the database, results extracted, polished and then served; the LLM now steps in and handles all that (provided it has the proper context as we&#8217;ll see shortly).</p><p>You should NOT be discouraged about this.</p><p>Yes, a large part of your role was to answer questions like this, but if I know anything about data professionals, one of the most despised elements of the job was exactly that. Instead you should rejoice! The most annoying part of your job is about to be automated!</p><h3>Why you should <em>still</em> learn SQL</h3><p>If you read Jacob&#8217;s article (and you totally should) you saw that the latest models produced nearly 95% accurate SQL. <strong>Given the right context, </strong>the latest versions of LLM models can almost entirely replace your &#8220;natural-language-to-SQL&#8221; translation duties.</p><p>So does this mean you should no longer learn SQL? <strong>Nope! You totally should, and here&#8217;s why:</strong></p><p>First of all, while the models can generate very accurate SQL, they still need validation. Known as &#8220;model evals&#8221; this is how you ensure that LLMs produce accurate SQL. After all, you wouldn&#8217;t trust the work of a junior analyst on your team without checking their query, would you?</p><p>Second, learning SQL, especially as it relates to your company&#8217;s business domain, will teach you far more about the business than you can learn through other means. Repeatedly answering questions using SQL will show you exactly how the data represents the business.</p><p>Third, in order for the models to produce such high accuracy SQL they need clean, well-modeled data, but this data isn&#8217;t going to clean itself. That&#8217;s where you come in. In order for you to know what to model, how to model, what to clean, etc. you need to inspect the data by writing (you guessed it) SQL.</p><p>And as the data changes, expands and schemas evolve, someone needs to make sure the agents still produce accurate SQL. This will become a key aspect of the future of data engineering.</p><p>While your role as the &#8220;human interface to the database&#8221; will start to diminish, your role as the <em>data context engineer</em> will start to become even more important. In fact you should want this to be the case and you should start tinkering with it RIGHT NOW. The longer you wait, the more you will be left behind. See my <a href="https://sqlpatterns.com/p/how-to-think-about-ai">previous</a> post on this.</p><p>Also, I don&#8217;t know about you, but I&#8217;d much rather spend my time cleaning, transforming and modeling data. That&#8217;s what brings me joy. I have zero patience to be the &#8220;human interface to the database.&#8221;</p><p>If you don&#8217;t believe me, <a href="https://openai.com/index/inside-our-in-house-data-agent/">go read this article</a> from OpenAI on how they built their in-house analytics agent and pay attention to this section:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!95y7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!95y7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png 424w, https://substackcdn.com/image/fetch/$s_!95y7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png 848w, https://substackcdn.com/image/fetch/$s_!95y7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png 1272w, https://substackcdn.com/image/fetch/$s_!95y7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!95y7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png" width="1172" height="1066" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1066,&quot;width&quot;:1172,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:185093,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/189510069?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!95y7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png 424w, https://substackcdn.com/image/fetch/$s_!95y7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png 848w, https://substackcdn.com/image/fetch/$s_!95y7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png 1272w, https://substackcdn.com/image/fetch/$s_!95y7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd339a89f-e9db-466a-9210-0b3e3c512e0b_1172x1066.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Fin.</p><p>That&#8217;s it for this issue. If you enjoyed it, hit the like button, leave a comment or hit reply to this email, I read and respond to every one.</p><p>Until next time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Decision Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How to Think About AI]]></title><description><![CDATA[Why trying to predict the future is pointless and what do to instead.]]></description><link>https://sqlpatterns.com/p/how-to-think-about-ai</link><guid isPermaLink="false">https://sqlpatterns.com/p/how-to-think-about-ai</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Mon, 16 Feb 2026 14:30:34 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/dc164dbc-759d-4304-b059-c18da6bd5e38_1200x630.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There&#8217;s a lot of hype around AI these days. A lot of fear mongering. A lot of bold statements about the future.</p><p>I bet many of you follow each new model release with a tinge of anxiety, worrying if your job will be replaced by it soon. I felt the same way at first.</p><p>I started using coding agents extensively at work since the beginning of year and since then I&#8217;ve kept searching for a sensible way to make sense of what&#8217;s going on. Something devoid of hype. Something based on fundamental truths.</p><p>That&#8217;s the main reason I&#8217;ve been so quiet with this newsletter.</p><p>I wrote almost 3000 words on the idea that you can use logic to predict the future. Then I scrapped it. Why? Because I had a much better idea!</p><p>Alan Kay once said: &#8220;<em>The best way to predict the future is to invent it&#8221; And </em>so my main message in this post is one of hope:</p><div class="pullquote"><h3><em>AI is what you make of it!</em></h3></div><p>When a new wave of innovation comes, there are those who sit on the sidelines fearing the worst and those who hope for the best.</p><p>Who wins? It&#8217;s always those who <a href="https://sqlpatterns.com/p/tinkering-without-permission">tinkered</a> with the innovation, built something, learned from it and made it useful for themselves. Everyone else is brought along by the few brave souls who actually did something.</p><p>Even the language we use these days when talking about AI (prompt engineering, context engineering, vibe coding, agent orchestration, etc.) was literally invented by someone who dared to mess around with the technology in order to learn.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YVr4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aff664f-eb8e-4bc8-ac1c-f9b9496c4ef1_750x639.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YVr4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aff664f-eb8e-4bc8-ac1c-f9b9496c4ef1_750x639.png 424w, https://substackcdn.com/image/fetch/$s_!YVr4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aff664f-eb8e-4bc8-ac1c-f9b9496c4ef1_750x639.png 848w, https://substackcdn.com/image/fetch/$s_!YVr4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aff664f-eb8e-4bc8-ac1c-f9b9496c4ef1_750x639.png 1272w, https://substackcdn.com/image/fetch/$s_!YVr4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aff664f-eb8e-4bc8-ac1c-f9b9496c4ef1_750x639.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YVr4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aff664f-eb8e-4bc8-ac1c-f9b9496c4ef1_750x639.png" width="750" height="639" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1aff664f-eb8e-4bc8-ac1c-f9b9496c4ef1_750x639.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:639,&quot;width&quot;:750,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Karapthy tweet screenshot: There's a new kind of coding I call \&quot;vibe coding\&quot;, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like \&quot;decrease the padding on the sidebar by half\&quot; because I'm too lazy to find it. I \&quot;Accept All\&quot; always, I don't read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Karapthy tweet screenshot: There's a new kind of coding I call &quot;vibe coding&quot;, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like &quot;decrease the padding on the sidebar by half&quot; because I'm too lazy to find it. I &quot;Accept All&quot; always, I don't read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works." title="Karapthy tweet screenshot: There's a new kind of coding I call &quot;vibe coding&quot;, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like &quot;decrease the padding on the sidebar by half&quot; because I'm too lazy to find it. I &quot;Accept All&quot; always, I don't read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works." srcset="https://substackcdn.com/image/fetch/$s_!YVr4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aff664f-eb8e-4bc8-ac1c-f9b9496c4ef1_750x639.png 424w, https://substackcdn.com/image/fetch/$s_!YVr4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aff664f-eb8e-4bc8-ac1c-f9b9496c4ef1_750x639.png 848w, https://substackcdn.com/image/fetch/$s_!YVr4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aff664f-eb8e-4bc8-ac1c-f9b9496c4ef1_750x639.png 1272w, https://substackcdn.com/image/fetch/$s_!YVr4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aff664f-eb8e-4bc8-ac1c-f9b9496c4ef1_750x639.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>This post is literally 1 year old!!</em></p><h3>How I almost took the wrong turn</h3><p>If there&#8217;s anything you should know about me, I&#8217;m never early on new technologies. I&#8217;ve successfully avoided most of the fads of the last decade (crypto, blockchain, NFTs, etc).</p><p>And so for a long time I stayed on the sidelines when it came to AI. I decided I was skeptical and chose to ignore all the hype. That was until last month.</p><p>So what changed?</p><p>In January we decided to switch our software engineering to agentic, AI driven at work. Meaning whenever we&#8217;re developing a new feature, we first write the spec, develop a plan, develop the test cases for it, review the plan and then let an agent do all the coding.</p><p>Another thing you should know about me, I can be impatient. Code has always been too low level for me. I think that&#8217;s what drew me to SQL and data. I can operate at a slightly higher level of abstraction.</p><p>Hence why AI assisted software development has been a godsend for me.</p><p>With AI handling the coding, I can focus on what I do best: figuring out what the problem is, what needs to be built, gathering requirements and writing specs. This by the way coming from someone who used to hate writing specs; (read the code bro)</p><p>Worried that AI is a better analyst than you?</p><p>Figure out how to use AI to get accurate answers to most analytics questions quickly so you can focus on more interesting pursuits.</p><p>Worried that AI can build data pipelines in minutes?</p><p>That kind of work was low leverage anyways. Automate it with AI so you can get to the good parts.</p><p>Don&#8217;t let AI happen to you. Make AI work for you. Be agentic. Do things. Tinker with it, try things out, build something and then showcase it. Most AI projects are failing, but at least people are trying things.</p><p>Some things are bound to work. Some people are bound to reap the rewards of this new age. Why can&#8217;t it be you?</p><p>Until next time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Decision Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[From Data to Decisions]]></title><description><![CDATA[Data Patterns ==> Decision Patterns]]></description><link>https://sqlpatterns.com/p/from-data-to-decisions</link><guid isPermaLink="false">https://sqlpatterns.com/p/from-data-to-decisions</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Fri, 16 Jan 2026 00:18:11 GMT</pubDate><content:encoded><![CDATA[<p>I started this newsletter without any specific plans in mind and to a large extent it has remained that way. Meanwhile my interests continue to expand beyond data. I&#8217;m very much interested in Decision Science and its branches like Decision Intelligence.</p><p>When you really think about it, the overall purpose of data work is to support or drive decisions, hopefully wiser decisions, but nonetheless. Meanwhile we as data professionals tend to get enamored with technology and technical solutions.</p><p>If only we remembered that we&#8217;re supposed to help with decisions and not care too much about the technology, we&#8217;d be in a much better place.</p><p>And so in order to allow myself more flexibility to explore these other areas, specifically the behavioral side of Decision Science, I&#8217;m rebranding this publication to <strong>Decision Patterns.</strong></p><p>It&#8217;s still me. I&#8217;m still here and I&#8217;m still planning to write new articles, I just can&#8217;t promise that they&#8217;ll always be about data.</p><p>Until next time</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Leverage Points and Where to Find Them]]></title><description><![CDATA[Four case studies of finding leverage points that dramatically improve businesses with minimum effort]]></description><link>https://sqlpatterns.com/p/leverage-points-and-where-to-find</link><guid isPermaLink="false">https://sqlpatterns.com/p/leverage-points-and-where-to-find</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 20 Dec 2025 21:41:01 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1d537099-ddfb-42a6-ba2b-bbaef1252272_6034x4028.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://sqlpatterns.com/p/the-most-powerful-timeless-skill">In this issue of the newsletter</a> I wrote about the most useful skill to learn as a data professional, which I believe to be your ability to find points of maximum leverage in a business that drastically improve performance with relatively little effort.</p><p>So the logical next question is, how? The answer is simple but not easy. <strong>Use patterns lifted from case studies</strong>. In this newsletter we&#8217;ll get into two of my favorite patterns and two case studies for each.</p><ul><li><p><strong>Pattern 1:</strong> Lifting demand constraints</p></li><li><p><strong>Pattern 2:</strong> Plugging revenue leaks</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>Lifting Demand Constraints</h3><p>As data professionals you&#8217;re probably familiar with things like funnel analysis. It&#8217;s an awesome way to find inefficiencies in sales and marketing processes. But you almost never think about demand.</p><p>You can often get 2x to 10x improvements in sales or marketing ROI by fixing demand vs doing funnel analysis. Yes funnel analysis can reveal leakage, as we&#8217;ll explore later, but before going there, look at demand constraints first Doing that can mean anything from improving the offer, the product, positioning, pricing, etc.</p><p>Here are two case studies where improving demand led to massive improvements in profitability. I&#8217;ve deliberately chosen non-SaaS examples to show that these patterns apply everywhere.</p><h4>Case Study 1: Improving restaurant profitability</h4><p>Restaurants are notorious for being low-margin, high-failure businesses. They&#8217;re capital intensive (the kitchen alone can cost $15,000 to $150,000) and have high fixed costs. Rents and operating costs are a constant drain.</p><p>And yet profitable restaurants do exist.</p><p>In an <a href="https://www.youtube.com/watch?v=esxsPOCMEKc">interview</a> on the Tim Ferriss podcast Nick Kokonas, who is known for his partnership with chef Grant Achatz, owning several high-end restaurants and for founding the reservation business Tock, explains how he completely turned the restaurant model in its head.</p><p>Demand for most restaurants is their biggest constraint.</p><p>In the US you can walk into a restaurant at almost any time and get served the full menu. This doesn&#8217;t come cheap. The kitchen needs to be stocked and operational, which means you have to have someone on staff capable of cooking every dish. The waiters need be ready to serve and the bar is often open and tended.</p><p>Meanwhile demand is unpredictable and spiky. You&#8217;re either at the whim of customers walking in or them booking a table in advance that can be canceled at any time. Restaurants are not alone in this. Airlines and hotels for example face the unpredictable demand issue.</p><p>Unlike restaurants however, hotels and airlines deploy several techniques to handle such demand: they often have dynamic pricing, their reservation systems require upfront payment, a deposit that comes with a cancelation fee.</p><p>This is where Nick Kokonas&#8217; ingenuity comes in. While Grant Achatz (who was prominently featured on Netflix&#8217;s Chef&#8217;s Table Vol. 2 Ep. 1) created amazing dishes and a once-in-a-lifetime experience, Nick decided to treat each table and time slot as bookable and opened up paid reservations far in advance.</p><p>If hotels and airlines do it, why not restaurants? You can even go further and implement &#8220;surge pricing&#8221; which for restaurants can be as simple as increasing prices on peak demand days.</p><p>With demand exploding after the Netflix documentary, people booked in droves. Having cash in the bank and demand locked in, Nick challenged another convention in the restaurant business. He paid for food in advance.</p><blockquote><p><em>So instead of getting net 90, or net 60, which is what every restaurant tries to get, we actually negotiate a discount by prepaying that and then sort of truing up afterwards. So for our big-ticket items, we try to stay a couple months ahead on payments, in order to get more favorable terms and better product.</em></p></blockquote><h4>Case Study 2: Improving profitability at manufacturing plant</h4><p>This next case study comes from a personal conversation I had with the CEO of a manufacturing plant. This is a small plant that produces a plastics product that retrofits existing infrastructure without needing costly replacements.</p><p>When he joined as interim CEO the plant was facing several problems. They had some demand but it was spiky and inconsistent. They were selling both directly to installers (B2C) and to distributors (B2B) and losing money monthly. Weekly sales tracking showed that growth was happening but only in big spikes.</p><p>Since we&#8217;re both Theory of Constraint fans, we had discussed potential constraints inside the plant. He&#8217;d mentioned that the manufacturing process itself was simple and well optimized so the biggest constraint was demand. His key decision was figuring out whether to focus on B2B or B2C.</p><p>Interestingly the spikes occurred when distributors bought large quantities. Using simple XMR charts, he decided that the best way to move forward was to focus on B2B and sell only to distributors. But there was a twist.</p><p>Rather than waiting for them to place orders, he signed distributors up with minimum monthly deliveries and recurring payments. After signing up the first distributor in the beginning of the year, revenue started to recover. 3 months later, another 4 distributors had onboarded and revenue doubled.</p><p>This single lever shifted the constraint from the market back to operations and the supply chain. With predictable revenue came predictable cash flow and he could now shift his focus back to the factory to expand production capacity and explore new products. He mentioned today they have tripled the product line!</p><h3>Plugging Revenue Leaks</h3><p>Next we look at two cases where plugging revenue leaks led to massive improvements. What&#8217;s cool about this pattern is that you can get wins quckly by just looking at key business processes and doing funnel analysis. You just need industry benchmarks.</p><h4>Case Study 3: Plugging a massive email deliverability issue</h4><p>The third case study comes courtesy of True Classic, an e-commerce company who sells t-shirts. They had become somewhat famous from viral TikTok and Instagram videos, so demand wasn&#8217;t really an issue. The issue was a leaky bucket.</p><p>In an interview for the <a href="https://www.linkedin.com/feed/update/urn:li:activity:7083169208288641025/">Limited Supply podcast</a>, Ryan Bartlett (co-founder and chairman) shared a story of finding a huge revenue leak courtesy of a new hire.</p><p>When Ryan hired Ben Diamond (current CEO), they were 13 months into the business. Within a week of starting, Ben discovered that the email opens rates were in the low 20%. Industry standards are about 40%+. It turned out they had massive deliverability issues with all their emails being sent straight to spam!</p><p>Talk about an insight, right?<br><br>Customer acquisition cost (CAC) is the biggest driver of profits in a D2C business (but really in any business) Email sending costs are nearly $0. By using clever segmentation and good copy, you can generate revenue without additional marketing spend. Re-ocurring purchases will help build a lasting business.</p><p>You can use all sorts of fancy growth tactics, viral videos, podcast appearances, direct advertising, etc. but if you have a leaky bucket, if you&#8217;re losing customers daily, you&#8217;re not going to have a business for very long.</p><h4>Case Study 4: Plugging a huge CAC (customer acquisition cost) issue</h4><p>Our final case comes courtesy of Alex Hormozi. In <a href="https://www.youtube.com/watch?v=nrounb8NlFQ">this video</a> he&#8217;s helping a Ashley Capps (owner of AC Styles) get to $5 million in revenue. AC Styles is a professional wardrobe and personal styling service helping high-end clients improve their confidence by improving their style, wardrobe and fashion sense.</p><p>The business is otherwise very healthy (42% net margin) but this slide immediately caught my attention. 8 sales out of 1800 clicks is 0.045% conversion rate. Talk about a leaky bucket! Yes this is basic funnel analysis, a staple of marketing analytics these days, but this is still shocking to see.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3k1C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3k1C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png 424w, https://substackcdn.com/image/fetch/$s_!3k1C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png 848w, https://substackcdn.com/image/fetch/$s_!3k1C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png 1272w, https://substackcdn.com/image/fetch/$s_!3k1C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3k1C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png" width="1456" height="858" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:858,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1863261,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/181045063?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3k1C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png 424w, https://substackcdn.com/image/fetch/$s_!3k1C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png 848w, https://substackcdn.com/image/fetch/$s_!3k1C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png 1272w, https://substackcdn.com/image/fetch/$s_!3k1C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7b7351-730d-4af2-82a8-49faf7f9f067_3928x2316.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The reason for such a low conversion rate was a poorly designed landing page. The page was just a google form where you put in your contact information and the company calls you to schedule a consult. That&#8217;s it! No lead magnet, no lead qualification and massive friction.</p><p>To fix the issue, Alex recommended designing a good lead magnet, reducing the friction and adding intermediate steps for signups. Now I&#8217;m not against friction in the signup flow. It can help reduce low quality leads dramatically, improve your CAC and profitability. But it requires a delicate balance. No friction is just as bad as having too much.</p><p>That&#8217;s it for this week.</p><p>Hope you enjoyed the case studies and they gave you some ideas about implementing something similar in your company. If you have questions or want to let me know you enjoyed this issue, leave a like, a comment or reply to this email.</p><p>I read all emails and love getting feedback. It often feels like shouting into the void.</p><p>Until next time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Tinkering Without Permission]]></title><description><![CDATA[How to cultivate more luck in your career]]></description><link>https://sqlpatterns.com/p/tinkering-without-permission</link><guid isPermaLink="false">https://sqlpatterns.com/p/tinkering-without-permission</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 06 Dec 2025 19:35:19 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d9aa3682-5925-49ac-8b73-4dc98fa22fe6_3008x2177.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://sqlpatterns.com/p/the-most-powerful-timeless-skill">Last newsletter</a> (on the most useful skill to learn as a data professional) turned out to be one of my best performing posts. I really appreciate all the wonderful comments and messages I received, and I promise to continue writing more about it.</p><p>Which brings us to this issue. There are a handful of attitudes (or mindsets if you like) that enable you to start building this skill while still on the job.</p><p><strong>Tinkering without permission</strong> is by far my favorite.</p><p>I&#8217;ve used this exact attitude to:</p><ul><li><p>Learn for free while on the job</p></li><li><p>Cultivate more luck in my career</p></li><li><p>Look for opportunities to make an impact</p></li></ul><p>I&#8217;ll show you exactly how to do all that in this newsletter.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/p/tinkering-without-permission?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/p/tinkering-without-permission?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://sqlpatterns.com/p/tinkering-without-permission?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><h4>What is &#8220;tinkering without permission?&#8221;</h4><p>Tinkering is about being curious and trying things out. As you read books, articles, listen to podcasts, etc. certain ideas pique your interest and you&#8217;d want to explore them. The easiest way to explore is while on the job because you&#8217;ll be solving concrete problems not academic ones.</p><p>All you have to do is find a good reason to explore, ideally one that aligns with your company&#8217;s goals or can benefit them somehow. If you can do that, you&#8217;ve just given yourself license to pursue your curiosity.</p><p>Some of things you try won&#8217;t go anywhere, so it&#8217;s in your best interest to try things without asking for permission. It requires a little courage, but if you do it in your own time, or you can show how benefits the company, you&#8217;ll be fine.</p><p>Let me give you some examples.</p><h4>Learn for free while on the job</h4><p>I first encountered data science back in 2014. I was a newly minted &#8220;data analyst&#8221; trying to expand my expertise beyond data engineering and my company had just hired their first data scientist.</p><p>I got curious about what she did, so after talking with her for a while, I was peeved to learn I would need to take classes and get a degree in statistics if I wanted to call myself a &#8220;data scientist.&#8221; While I love learning, I had all but sworn off going back to school after my dismal experience with my MBA degree.</p><p>If I was going to learn data science quickly, I was going to do it on my own. I also realized that with the exception of a few select fields, companies don&#8217;t care much about your degrees, they care about what you can do for them.</p><p>So I found some books that taught the key concepts of data mining (what it was called back then) and statistics without getting too deep into the weeds. I also found YouTube tutorials that had applied examples.</p><p>I did all this in my own time. After learning enough theory, I looked for specific projects at work where I could apply it. I landed on the idea of building a model to score leads based on their propensity to convert.</p><p>The effort of data preparation, exploratory analysis, modeling and then explaining my work to my manager taught me far more about data science than any graduate program ever could.</p><h4>Cultivate more luck in your career</h4><p>In the summer of 2019 I entered the annual 2.5 day TripAdvisor hackathon with a project that had been brewing in the back of my mind for months. It was an application of NLP to extract tags from text descriptions. Amazon uses text tags to categorize and filter their vast number of reviews.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S5B-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4c6d74-266a-4fc6-8f39-8db1587b3855_581x176.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S5B-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4c6d74-266a-4fc6-8f39-8db1587b3855_581x176.png 424w, https://substackcdn.com/image/fetch/$s_!S5B-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4c6d74-266a-4fc6-8f39-8db1587b3855_581x176.png 848w, https://substackcdn.com/image/fetch/$s_!S5B-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4c6d74-266a-4fc6-8f39-8db1587b3855_581x176.png 1272w, https://substackcdn.com/image/fetch/$s_!S5B-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4c6d74-266a-4fc6-8f39-8db1587b3855_581x176.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S5B-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4c6d74-266a-4fc6-8f39-8db1587b3855_581x176.png" width="581" height="176" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db4c6d74-266a-4fc6-8f39-8db1587b3855_581x176.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:176,&quot;width&quot;:581,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!S5B-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4c6d74-266a-4fc6-8f39-8db1587b3855_581x176.png 424w, https://substackcdn.com/image/fetch/$s_!S5B-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4c6d74-266a-4fc6-8f39-8db1587b3855_581x176.png 848w, https://substackcdn.com/image/fetch/$s_!S5B-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4c6d74-266a-4fc6-8f39-8db1587b3855_581x176.png 1272w, https://substackcdn.com/image/fetch/$s_!S5B-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4c6d74-266a-4fc6-8f39-8db1587b3855_581x176.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Hackathons are very short, intense, single or multi-day projects where people from various backgrounds collaborate to create new products or try out new things. They&#8217;re used in tech companies as a source of new ideas for innovation but they also happen to be excellent sources of serendipity.</p><p>That is exactly what happened to me after I presented my project in front of the three judges in the first round. Unexpectedly I made it to the second round, where I presented in front of a much bigger group of colleagues and judges. It turned out that the company was already considering a similar project.</p><p>I kept following this thread into other meetings, chats with the data science team (I wasn&#8217;t a data scientist) on how to approach it, and even a collaboration with a group of MIT MBAn students as a consultant on their project.</p><p>The whole thing was surreal as I never expected or planned for any of it to happen. Serendipity however is not that uncommon. It also led to my next role as a data product manager at a startup a few months later.</p><h4>Look for opportunities to make an impact</h4><p>One of the best things I&#8217;ve learned is to share your ideas with others even if they&#8217;re not fully fleshed out. Tell colleagues you meet randomly what you&#8217;re working on. Ask questions in meetings. Use sprint demos to showcase your projects.</p><p>You never know what might turn out</p><p>Richard Hamming, the Alan Turing award winning mathematician called it the &#8220;open door&#8221; phenomenon:</p><blockquote><p><em>&#8230;working with one&#8217;s door closed lets you get more work done per year than if you had an open door, but I have observed repeatedly later those with the closed doors, while working just as hard as others, seem to work on slightly the wrong problems, while those who have let their door stay open get less work done but tend to work on the right problems! I cannot prove the cause and effect relationship, I only observed the correlation</em><br>Richard Hamming - <a href="https://www.cs.virginia.edu/~robins/YouAndYourResearch.pdf?ref=ergestx.com">You and Your Research</a></p></blockquote><p>Having an open door leads to <em>casual collisions, </em>where people are free to stop by, ask you what you&#8217;re working on or ask for help on a project. These can dramatically alter the course of your career in beneficial ways. In my case my casual collision was the presentation I did in front of the judges and my peers.</p><p>The number of comments I got from that led me in a number of seemingly random but interesting paths which culminated with my involvement with the MIT students&#8217; project.</p><p>These days I do a lot of virtual meetings. When I meet someone interesting, I schedule regular monthly meetings with them. I&#8217;ve met some of my best friends through this. We always talk about what we&#8217;re working on and share ideas.</p><p>Many of these ideas can be subtle pings that you have to recognize and follow up on that could turn into opportunities. Not all of them will pay off, but the ones who do could make up for it.</p><blockquote><p><em>&#8220;The great scientists, when an opportunity opens up, get after it and they pursue it. They drop all other things. They get rid of other things and they get after an idea because they had already thought the thing through. Their minds are prepared; they see the opportunity and they go after it.&#8221;</em><br>Richard Hamming - <a href="https://www.cs.virginia.edu/~robins/YouAndYourResearch.pdf?ref=ergestx.com">You and Your Research</a></p></blockquote><p>When you think of seemingly random occurrences as <em>subtle pings</em> it helps you to recognize their potential as an opportunity to pursue further, but noticing them in the first place requires, as Hamming puts it, an open mind. In fact, psychological research on luck puts a premium on openness.</p><p>Richard Wiseman in his book <em><a href="https://www.amazon.com/Luck-Factor-Richard-Wiseman/dp/0786869143?ref=ergestx.com">The Luck Factor</a> </em>found that people who consider themselves &#8220;lucky&#8221; tend to score high on <strong>extroversion </strong>(an orientation of one&#8217;s interests and energies toward the outer world of people and things rather than the inner world of subjective experience) and <strong>openness </strong>(to new experiences) and low on <strong>neuroticism </strong>(the tendency to experience negative emotions like anxiety, anger, guilt and depression).</p><p>That&#8217;s it for this issue. If you enjoyed it, let me know by liking, commenting and sharing it with your friends and colleagues.</p><p>Until next time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Most Useful, Timeless Skill to Learn as a Data Professional]]></title><description><![CDATA[How to have a long, impactful career in data]]></description><link>https://sqlpatterns.com/p/the-most-powerful-timeless-skill</link><guid isPermaLink="false">https://sqlpatterns.com/p/the-most-powerful-timeless-skill</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 29 Nov 2025 13:33:58 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b8f6ad51-1b45-4dbb-a4dd-436e0dd03013_3674x5511.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When I started out in data all I wanted was to have a long and satisfying career, to be compensated well regardless of advances in technology or the whims of the market and of course to love what I did.</p><p><strong>More importantly I wanted to build expertise</strong>. So I looked everywhere. Career books, videos, articles, podcasts but only found bits and pieces.</p><p>The best book on the topic was Cal Newport&#8217;s <em>So Good They Can&#8217;t Ignore You. </em>It has a simple premise: <em>If you focus on learning &#8220;rare and valuable skills&#8221; you&#8217;ll have a long and successful career, full of opportunities, satisfaction and compensation.</em></p><p>That&#8217;s great, but what skills fit those criteria? Cal doesn&#8217;t give you a satisfactory answer, but I believe I found it, at least for data professionals:</p><div class="pullquote"><p>That skill is the ability to find points of maximum leverage that dramatically improve an organization with relatively less effort, articulate them as clearly and intelligently as possible (for myself and others) and then connect them to your knowledge and experience.</p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>By the way, when I say &#8220;organization&#8221; I don&#8217;t necessarily mean the entire company. It could be that, of course but it could also just be an org inside of a big company.</p><p>In this issue I&#8217;ll try to achieve three things:</p><ol><li><p>First, I&#8217;ll show you why you should focus on finding these leverage points</p></li><li><p>Second, I&#8217;ll give you ideas on how to learn them</p></li><li><p>Finally, I&#8217;ll provide a couple of examples so you understand what I&#8217;m talking about</p></li></ol><h4>What are points of leverage?</h4><p>Organizations are complex systems. The parts are interconnected, full of dependencies and feedback loops. This means that improvements to the parts don&#8217;t necessarily add up to overall improvement.</p><p>Complexity also makes it so that organizations have points of leverage (also known as constraints) that drive most of the throughput.</p><p>Efforts to improve anything other than these points will at best result in incremental improvements and at worst waste time, effort and money with nothing to show for. </p><p>Many of these leverage points are inherent to the business model.</p><p>For example a subscription business model&#8217;s key leverage point is retention. Without it, all you have is a leaky bucket where all your marketing efforts will only delay the demise of the business.</p><h4>Why focus on finding leverage points?</h4><p><strong>First</strong> of all understand that everyone from the C-suite down to every manager are already looking for them. That&#8217;s why you&#8217;re getting inundated with data requests. In fact, every request can be seen as an attempt to find leverage points:</p><blockquote><p>&#8220;Can you break down conversion rates by channel for Q4?&#8221; </p><p><strong>Translation</strong>: Are there any channels that are better than others where we can focus our efforts and win more deals?</p><p>&#8220;What&#8217;s our win rate for deals over $50k?&#8221;</p><p><strong>Translation</strong>: Is there a segment of our customer base that spends more money, converts better and is easier or faster to close? That way we can focus our efforts and increase sales.</p><p>&#8220;How many users churned after the pricing change?&#8221;</p><p><strong>Translation</strong>: Is pricing a lever? Is there a segment of our customer base who are price sensitive vs price insensitive? That way we can tailor our offerings accordingly and keep both or choose to focus on one vs the other.</p></blockquote><p>The hope is that you (as a data professional) can find these leverage points in data. And as data professionals we sit in the perfect position to do so. How do I know? I&#8217;ve been there!</p><p>Being the business analyst gave me access to all the company&#8217;s data from sales, marketing, finance, operations, customer service, etc. The only problem is we waste this golden opportunity.</p><p>All you need is a little initiative. The key is asking the right questions, analyzing the business properly, coming up with hypotheses for where the leverage points lie, and tinkering with data.</p><p>I call this &#8220;tinkering without permission&#8221; and it&#8217;s one of the key attitudes you should turn into second nature. I&#8217;ll write more about that in another issue.</p><p><strong>Second</strong>, this skill is highly valued. If all you did was focus on finding the next &#8220;million dollar&#8221; leverage point you&#8217;d be the most highly valued person at that company. Now tell me what CEO or president of an organization wouldn&#8217;t want to have a person like that on their team?</p><p>It also compounds over time, meaning the more you learn the more valuable you become, and can easily be transferred to other organizations. You can become an expert doing this, and expertise in data outside of technical skills is rare. That expertise is exactly what I was after.</p><h4>How do you learn this skill?</h4><p>Assuming you agree with me, we can now shift our attention to figuring out how to learn this skill. If I could write a letter to my younger self, I would tell him to do everything in his power to learn it. Yes, I&#8217;ve only just begun to think this way, but it&#8217;s already bearing fruit.</p><p>The only reliable way I&#8217;ve found to learn this skill myself is through case studies. This means reading books, listening to podcasts that discuss specific businesses, watching YouTube videos, hunting for patterns and collecting examples.</p><p>So in future issues I will pick out specific case studies I find in books, articles, podcasts, etc. to help you start to spot patterns and build your intuition as I continue to build mine. We&#8217;ll be on this journey together.</p><p>Let me illustrate with a couple of examples.</p><h4>How PayPal boosted revenue by $100 million</h4><p>In the book <em>Growth Levels and How to Find Them </em>Matt Lerner relays a story of how he found a leverage point, while launching a new product at PayPal, that ultimately resulted in $100 million of additional revenue:</p><blockquote><p>&#8220;It was 2005. PayPal had decided to expand and bet the whole company on a new product, which allowed merchants to process transactions on their own sites via card processing APIs. Even back then, it was obvious the world needed this product. I was in charge of launching it. Thousands signed up, but few used it: the activation rate was just 10%.&#8221;</p></blockquote><p>They had tried many different ways to fix it and the activation rate did increase to about 30% but that was still low. What Matt needed was a leverage point, so he decided to go to PayPal&#8217;s customer center and ask real customers why they had not activated.</p><p>He soon discovered that many of these merchants didn&#8217;t actually have any customers of their own, so logically they couldn&#8217;t activate. He had a hunch. What if he could find merchants who did have customers? How many of them could potentially be activated?</p><blockquote><p>&#8220;I realized the problem: many of our customers had no customers of their own. And I couldn&#8217;t &#8220;growth hack&#8221; my way around that. That night, I asked my favorite analyst, Igor (Stanford engineering grad, of course): &#8220;How much of our revenue comes from our top 10% of signups?&#8221; An hour later, he sent me a spreadsheet with the answer: almost all of it.&#8221;</p></blockquote><p>Now that&#8217;s what I call a leverage point! 90% of revenue coming from 10% of signups is one of those typical Pareto distribution things that are so typical in the business world. And while you should be careful about what you do with this information&#8212;because the answer isn&#8217;t always to focus on the 10%&#8212;it made sense in this case.</p><p>And that&#8217;s what Matt and his team did.</p><blockquote><p>&#8220;We changed our entire approach. We developed a predictive model to score new signups on their propensity to become valuable customers. We&#8217;d try to increase revenue by giving high-scoring signups a white-glove onboarding experience, walking them through setup and teaching them to use the system.&#8221;</p></blockquote><p>They tested this approach on a small group at first and when they saw promising results, expanded the treatment to the entire group.</p><blockquote><p>&#8220;So we expanded the white-glove treatment to all our promising signups, increasing the revenue from new cohorts by 40% would eventually deliver over $100M in annual recurring revenue.&#8221;</p></blockquote><p>One more example to whet your appetite.</p><h4>Improving retention at HubSpot</h4><p>Early on in HubSpot&#8217;s journey to a CRM behemoth, they were struggling to hold on to customers. There was a concern about whether they&#8217;d ever transition from an &#8220;inbound app&#8221; and into a full-blown CRM.</p><p>Mark Znutas was an operations analyst (later VP of GTM Ops and Strategy) looking for insights in the data. The approach he describes is essentially a form of <em>feature engineering </em>and classification.</p><blockquote><p>I was an Operations Analyst at the time - one of dozens of analysts at HubSpot who struggled to stand out in the crowd&#8230;[]. Obviously, I knew I should spend my time thinking about improving net dollar retention, but I didn&#8217;t know where to start. How does one just fix NDR? Surely someone smarter than me would have already done it if the solution were straightforward, right?</p></blockquote><p>What you can clearly see here is his quest to find and exploit leverage points. If you know anything about the SaaS business model, you&#8217;d know that retention (aka LTV) is the lifeblood of the business. NDR is just a proxy for measuring it.</p><p>Mark found his insight in a report he was already preparing that he called &#8220;The Customer File.&#8221; Anyone of you who has data science or machine learning experience will instantly recognize this format where each row represents a customer, each column is a feature and the response variable is whether they churned or not.</p><blockquote><p>The basis of nearly all of our reporting was a large table called The Customer File. It contained Stripe billing data we pulled for all our customers, aggregated by month, and calculated the beginning-of-month ARR, end-of-month ARR, net ARR change, and change category for each customer.</p></blockquote><p>But the secret didn&#8217;t lie here. ARR is a lagging indicator only showing the results of actions taken in the past. It doesn&#8217;t tell you what signals to pay attention to. So Mark expanded the customer file with firmographic and behavioral data to see if he could find any patterns. Like I said about this is basically feature engineering.</p><blockquote><p>I cut retention by every dimension I could think of to see if I could find any insight into retention. Those dimensions included firmographic data, product usage data, lead source data, Sales &amp; CS ownership data, and many others. I added new columns for every question I wanted to answer.</p></blockquote><p>Eventually he found his answer in two distinct signals: business size and whether they were using the CRM platform HubSpot had just started building:</p><blockquote><p>After producing dozens of these output tables, I finally found the insight I had been searching for. There were two variables with clear and strong correlation to retention:</p><ol><li><p>Employee Size &#8594; Companies with 10 or fewer employees were rough</p></li><li><p>Whether the CRM customer also used HubSpot Marketing Hub &#8594; &#8221;Platform&#8221; customers were great.</p></li></ol></blockquote><p>This is the kind of insight <strong>every </strong>executive expects to get from their data team! It fundamentally altered HubSpot&#8217;s customer acquisition strategy and starting turning their fortunes around.</p><blockquote><p>Now, it was time to put our insight into action. We went all in on focusing on our best-fit customers. We started by focusing on acquiring more &#8220;Tier 1&#8221; customers (companies with 11+ employees or HubSpot Marketing Hub) and fewer &#8220;Tier 2&#8221; customers (companies with 1-10 employees and no HubSpot Marketing Hub).</p></blockquote><p>And you know what, it worked! My guess is that it also helped Mark grow in his career from an operations analyst to VP of Ops and Strategy. You can read the full article here:</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:146422534,&quot;url&quot;:&quot;https://wrap-text.equals.com/p/an-analysts-quest-to-improve-retention&quot;,&quot;publication_id&quot;:2186478,&quot;publication_name&quot;:&quot;Wrap Text by Equals&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!hPZy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facebc458-e248-4356-ab1b-c0638d3d6700_256x256.png&quot;,&quot;title&quot;:&quot;An analyst's quest to improve retention for HubSpot CRM&quot;,&quot;truncated_body_text&quot;:&quot;A few weeks after launching The Ultimate Guide to ARR, I received a note from Mark Znutas, former VP of GTM Operations and Strategy at Hubspot.&quot;,&quot;date&quot;:&quot;2024-07-16T12:01:25.907Z&quot;,&quot;like_count&quot;:11,&quot;comment_count&quot;:1,&quot;bylines&quot;:[{&quot;id&quot;:29225965,&quot;name&quot;:&quot;Mark Znutas&quot;,&quot;handle&quot;:&quot;markznutas&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/687a92d7-2372-471b-bd8b-bd76c687861a_800x800.jpeg&quot;,&quot;bio&quot;:null,&quot;profile_set_up_at&quot;:&quot;2024-07-16T12:39:41.854Z&quot;,&quot;reader_installed_at&quot;:&quot;2024-03-19T16:24:53.182Z&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null},&quot;primaryPublicationId&quot;:2186478,&quot;primaryPublicationName&quot;:&quot;Wrap Text by Equals&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://wrap-text.equals.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://wrap-text.equals.com/subscribe?&quot;},{&quot;id&quot;:33431629,&quot;name&quot;:&quot;Bobby Pinero&quot;,&quot;handle&quot;:&quot;bobbypinero&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04a044f9-c921-4f66-8ef3-cc104aa22a99_1333x1408.png&quot;,&quot;bio&quot;:&quot;CEO and co-founder of Equals (equals.com)\n\nSpent 7 years building Intercom from less than $1M to over $150M ARR. Board member at Intercom.&quot;,&quot;profile_set_up_at&quot;:&quot;2023-11-30T01:03:07.916Z&quot;,&quot;reader_installed_at&quot;:null,&quot;publicationUsers&quot;:[{&quot;id&quot;:2800497,&quot;user_id&quot;:33431629,&quot;publication_id&quot;:2758345,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:2758345,&quot;name&quot;:&quot;Bobby&#8217;s Substack&quot;,&quot;subdomain&quot;:&quot;bobbypinero&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;My personal Substack&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04a044f9-c921-4f66-8ef3-cc104aa22a99_1333x1408.png&quot;,&quot;author_id&quot;:33431629,&quot;primary_user_id&quot;:33431629,&quot;theme_var_background_pop&quot;:&quot;#D10000&quot;,&quot;created_at&quot;:&quot;2024-07-03T15:21:00.264Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Bobby Pinero&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}},{&quot;id&quot;:5167975,&quot;user_id&quot;:33431629,&quot;publication_id&quot;:5066419,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:5066419,&quot;name&quot;:&quot;The First Operator&quot;,&quot;subdomain&quot;:&quot;thefirstoperator&quot;,&quot;custom_domain&quot;:&quot;www.thefirstoperator.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;A newsletter for the first 'numbers hire' at a venture backed startups.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2dc7c7af-14cd-4c81-b5a4-83aebbcbb728_256x256.png&quot;,&quot;author_id&quot;:33431629,&quot;primary_user_id&quot;:null,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2025-05-19T17:07:11.471Z&quot;,&quot;email_from_name&quot;:&quot;Bobby Pinero&quot;,&quot;copyright&quot;:&quot;Bobby Pinero&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}},{&quot;id&quot;:2201039,&quot;user_id&quot;:33431629,&quot;publication_id&quot;:2186478,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:2186478,&quot;name&quot;:&quot;Wrap Text by Equals&quot;,&quot;subdomain&quot;:&quot;wraptext&quot;,&quot;custom_domain&quot;:&quot;wrap-text.equals.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Stories and ideas about building startups by early Intercom, Atlassian, and Loom employees.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acebc458-e248-4356-ab1b-c0638d3d6700_256x256.png&quot;,&quot;author_id&quot;:138548029,&quot;primary_user_id&quot;:138548029,&quot;theme_var_background_pop&quot;:&quot;#EA82FF&quot;,&quot;created_at&quot;:&quot;2023-12-17T21:44:49.887Z&quot;,&quot;email_from_name&quot;:&quot;Wrap Text by Equals&quot;,&quot;copyright&quot;:&quot;Equals&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://wrap-text.equals.com/p/an-analysts-quest-to-improve-retention?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!hPZy!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facebc458-e248-4356-ab1b-c0638d3d6700_256x256.png" loading="lazy"><span class="embedded-post-publication-name">Wrap Text by Equals</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">An analyst's quest to improve retention for HubSpot CRM</div></div><div class="embedded-post-body">A few weeks after launching The Ultimate Guide to ARR, I received a note from Mark Znutas, former VP of GTM Operations and Strategy at Hubspot&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">2 years ago &#183; 11 likes &#183; 1 comment &#183; Mark Znutas and Bobby Pinero</div></a></div><p>If you really liked this article, let me know. I&#8217;m planning to focus all my efforts to teach this one single skill along with all the attitudes surrounding it, as I believe it has the highest possible ROI of any technical skill.</p><p>Until next time.</p>]]></content:encoded></item><item><title><![CDATA[Every data request must have a clear path to the goal of the organization]]></title><description><![CDATA[Why understanding the organization&#8217;s goal is the key to aligning all data work.]]></description><link>https://sqlpatterns.com/p/the-only-goal-that-matters</link><guid isPermaLink="false">https://sqlpatterns.com/p/the-only-goal-that-matters</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 15 Nov 2025 13:02:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/95a10559-c5e0-40b6-89ac-113285cdd3db_3376x4501.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello everyone. Yes I&#8217;m writing again!</p><p>I thought the break would be longer, but it turns out I was putting undue pressure on myself for my writing to be perfectly aligned with a singular idea.</p><p>What I enjoy instead is exploring ideas related to data engineering, analytics, decision making and business.</p><p>I&#8217;ve read a lot of books and articles on those topics, learned some useful things and would love to share them.</p><p>So you&#8217;ll get a slice of that in your inbox. I&#8217;ll keep them short and to the point, so you can read it in a few minutes and still get nuggets of insight.</p><p>Here we go!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Every organization has a goal. Once understood everything becomes clear. Data work is properly aligned and you&#8217;re no longer swimming in unanswered requests and overdue tickets.</p><p>More often than not, if you ask stakeholders what the goal is, you&#8217;ll get different answers:</p><ul><li><p>A marketing executive might say &#8220;ROAS&#8221; or &#8220;CAC.&#8221;</p></li><li><p>A sales executive might say &#8220;Close Rate&#8221; or &#8220;Deal Flow&#8221;</p></li><li><p>A VP of finance might say &#8220;ROI&#8221;</p></li><li><p>The CEO might say something like &#8220;Growth&#8221;</p></li></ul><p>It&#8217;s really easy to get caught up in these local-optima metrics and lose sight of the overall goal. This lack of clarity makes it difficult to see the impact of your work. Worse, it can get very discouraging.</p><p>Usually the goal of any for-profit company is to <em>make money</em>. All the other metrics, like the ones we saw above, support that goal and can be thought of as necessary conditions.</p><p>Nonprofit organizations also have goals. A hospital for example has a goal like <em>health outcomes</em> through patient care and research.</p><p><strong>The goal should be expressed as a single metric and come from the top.</strong></p><p>Until you get the executive board to agree on the goal, you&#8217;re doing yourself a disservice. In many cases the goal should come from them and be disseminated through the company.</p><h4>Every request must have a clear path to the goal</h4><p>As data professionals we help stakeholders make evidence-based decisions. These decisions are mainly about improving the organization&#8217;s system.</p><p>Improving a system means to make it achieve more of the goal, achieve the goal faster, better (e.g. higher quality), cheaper or simpler. Therefore whenever you get a request for data&#8212;whether it&#8217;s a pipeline, a metric or a report&#8212;pause and ask:</p><p>&#8220;How does this impact the goal?&#8221;</p><p>They should at least have a rough idea or a causal mental model. Here&#8217;s an example of a mental model for increasing ROAS (return on ad spend):</p><p><em>Move Lever =&gt; Increase ROAS =&gt; Reduce CAC =&gt; Increase CAC/LTV =&gt; Increase profitability</em></p><p>Seasoned readers of my newsletter will immediately see this as a branch of the company&#8217;s metrics tree.</p><p>I would&nbsp;<strong>highly recommend</strong>&nbsp;you do this for every request. Start with their request, figure out what outcomes they&#8217;re looking for, figure out what actions they are considering, then map out the casual chain.</p><p>Now you can suggest different actions or data research projects. This, by the way, is how you discover actionable insights. Doing data spelunking without a clear understanding of the goal and a rough idea of the causal model is a waste of time.</p><p>When you map out the entire mental model explicitly, you&#8217;ll not only help them get clarity, but also make your work seem more structured and make yourself seem smarter. People will come to you just to clarify their thoughts.</p><p>The simple diagram I showed is an example of a CDD (Causal Design Diagram) which is the key element of the field of Decision Intelligence. I&#8217;ll write up a more detailed post on CDDs later on but for now, the above should suffice.</p><p>Now your work suddenly feels strategic. It has real impact. Isn&#8217;t that what you got into data to begin with?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Taking a long break]]></title><description><![CDATA[I love writing.]]></description><link>https://sqlpatterns.com/p/taking-a-long-break</link><guid isPermaLink="false">https://sqlpatterns.com/p/taking-a-long-break</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Mon, 13 Oct 2025 16:16:27 GMT</pubDate><content:encoded><![CDATA[<p>I love writing.</p><p>When I started writing this newsletter, there were a lot of things I wanted to explore. I have enjoyed exploring them for the past three years and have amassed a decent following.</p><p>Many of you have told me you&#8217;ve enjoyed my ideas and I&#8217;ve made a few good friends from it. But, I&#8217;ve kind of run out of things to say that haven&#8217;t already been said or aren&#8217;t being said by others.</p><p>I see the same things repeated over and over, and I would repeat the same things if I was after engagement, but for me this is a labor of love and I want to keep it that way.</p><p>I need to feel inspired to write again and to do that, I&#8217;m going to take a long break, not sure how long, at least till the end of the year.</p><p>I&#8217;m going to write again but most likely not about data specifically. Most likely about business.</p><p>Thank you for sharing this journey with me and I hope you stick around.</p>]]></content:encoded></item><item><title><![CDATA[Is Analytics Just a Growth Function?]]></title><description><![CDATA[Aren't we all just "growth hackers?"]]></description><link>https://sqlpatterns.com/p/is-analytics-a-growth-function</link><guid isPermaLink="false">https://sqlpatterns.com/p/is-analytics-a-growth-function</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 27 Sep 2025 17:56:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5a304bf1-98a3-4bc6-8e9c-ef5cab9eaa33_5472x3648.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In a recent live event, my friend Timo Dechau and his collaborator Juliana asked the question: &#8220;Is analytics a growth function?&#8221; It&#8217;s a good question, but it has been bothering me ever since.</p><p>In a separate post Elena Verna (of Elena&#8217;s Growth Scoop) <a href="https://www.elenaverna.com/p/11-hard-truths-about-working-in-growth">writes:</a></p><blockquote><p><em>Growth is rooted in data. It&#8217;s about running activities that are measurable, trackable, and tied directly to user behavior and monetization outcomes. Marketing, on the other hand, includes plenty of things you&nbsp;_can&#8217;t_&nbsp;(and shouldn&#8217;t try to) measure in the same way - brand, comms, PR, community.</em></p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>It took me a while to figure out why it bothered me.</p><p>I don&#8217;t consider myself a &#8220;growth hacker&#8221; and I don&#8217;t know much about it, but when an executive is asking you for &#8220;actionable insights&#8221; aren&#8217;t they looking for just that? And if that&#8217;s the case, does this mean you now have to learn growth hacking skills?</p><p>That&#8217;s when I figured it out. My answer now? Not necessarily!</p><p>I&#8217;m not interested in learning growth hacks necessarily. My main interest is figuring out how to help organizations improve. And that doesn&#8217;t necessarily mean growth.</p><h3>Improvement doesn&#8217;t always mean growth</h3><p>The concept of growth hacking comes from the world of Venture Capital. In that world, exponential growth is necessary in order for a single portfolio company&#8217;s &#8220;exit event&#8221; (acquisition or going public) can make up for the entire portfolio regardless of the other company&#8217;s successes.</p><p>However there are many businesses for whom improvement might mean &#8220;become profitable&#8221; or &#8220;build an enduring company&#8221; or &#8220;maximize freedom for the founder.&#8221; All these companies can benefit tremendously from using data to improve without necessarily requiring growth hacks.</p><p>Take <em>Prefect</em> for example, a startup run by Jeremiah Lowin, (a fellow Postgres and SQL hacker) who recently decided to eschew growth in favor of building a sustainable startup.</p><p>He <a href="https://www.jlowin.dev/blog/the-sustainable-startup">writes:</a></p><blockquote><p><em>Becoming a profitable business frees us from that [capital] constraint. A startup can do extraordinary things when it doesn&#8217;t operate under the shadow of its next fundraise. Our decisions can now flow purely from what creates value for our customers, not from what extends our timeline.</em></p></blockquote><p>Does this mean they no longer needs data? Absolutely not! In fact data can help them uncover opportunities for serving their existing customers even better, embedding themselves deeper in the customers businesses and building a more solid foundation.</p><p>And that&#8217;s why analytics needs to start from the top, from the goal of the organziation, the strategy for achieving that goal, and work downwards to figure our success factors, how to measure them and how to drive them.</p><h3>Articles I&#8217;ve been reading</h3><p>This week&#8217;s articles are about growth of which there&#8217;s too many to list, but these are some of my favorites</p><p><a href="https://review.firstround.com/how-superhuman-built-an-engine-to-find-product-market-fit/">How Superhuman Built an Engine to Find Product Market Fit</a><br>A fantastic article on applying analytics to find PMF. My favorite part is the application of good ol&#8217; fashioned segmentation to find and focus on the right audience for Superhuman.</p><blockquote><p><em>As an early-stage team, you could just narrow the market with preconceived notions of who yo_u think_&nbsp;the product is for, but that won&#8217;t teach you anything new. If you instead use the &#8220;very disappointed&#8221; group of survey respondents as a lens to narrow the market, the data can speak for itself &#8212; and you may even uncover different markets where your product resonates very strongly.</em></p></blockquote><p><br><a href="https://www.elenaverna.com/p/11-hard-truths-about-working-in-growth">11 hard truths about working in growth</a><br>Elena Verna&#8217;s Growth Scoop is a fantastic resource for growth hacking ideas and applications.</p><blockquote><p><em>Here is an example of how it usually looks (seen first hand at one of the companies I worked at): paid marketing would strut into Quarterly Business Reviews bragging about &#8220;crushing it&#8221; - lower CAC, more traffic, higher conversions. They&#8217;ve hit their goals! Everyone give each other high-fives! But wait&#8230; The overall business was struggling and (gasp!) shrinking. Even overall acquisition was down.</em></p></blockquote><div><hr></div><p><a href="https://tribecap.co/a-quantitative-approach-to-product-market-fit/">A Quantitative Approach to Product Market Fit]</a><br>Another fantastic, deep dive article on finding PMF for a SaaS business. I especially liked the explanation of accounting for SaaS.</p><blockquote><p><em>The first technique we use at Tribe Capital when looking at a company is &#8220;growth accounting,&#8221; which breaks down overall growth in some activity across specific customer segments. The activity can be anything, though revenue and product engagement are the most common examples of growth accounting.</em></p></blockquote><p>That&#8217;s it for now, until next time</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What I've learned designing data systems]]></title><description><![CDATA[Notes on data system design, IFTT data architectures and functional data engineering]]></description><link>https://sqlpatterns.com/p/what-ive-learned-designing-data-systems</link><guid isPermaLink="false">https://sqlpatterns.com/p/what-ive-learned-designing-data-systems</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sun, 31 Aug 2025 16:37:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!W_gt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60c1d86e-f97d-4deb-8991-0662b9a07922_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week I ran a poll on this newsletter and on LinkedIn to see what type of content you most want to see from me. The answer did not surprise me :) I&#8217;ve been trying to balance analytics and engineering content since I started this newsletter. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PcYJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PcYJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png 424w, https://substackcdn.com/image/fetch/$s_!PcYJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png 848w, https://substackcdn.com/image/fetch/$s_!PcYJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png 1272w, https://substackcdn.com/image/fetch/$s_!PcYJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PcYJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png" width="854" height="685" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:685,&quot;width&quot;:854,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:124788,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/172404910?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PcYJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png 424w, https://substackcdn.com/image/fetch/$s_!PcYJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png 848w, https://substackcdn.com/image/fetch/$s_!PcYJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png 1272w, https://substackcdn.com/image/fetch/$s_!PcYJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee5162db-e7ea-41c7-9847-d61c61bb93e2_854x685.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!R38I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!R38I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png 424w, https://substackcdn.com/image/fetch/$s_!R38I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png 848w, https://substackcdn.com/image/fetch/$s_!R38I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png 1272w, https://substackcdn.com/image/fetch/$s_!R38I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!R38I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png" width="1344" height="590" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:590,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:68543,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/172404910?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!R38I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png 424w, https://substackcdn.com/image/fetch/$s_!R38I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png 848w, https://substackcdn.com/image/fetch/$s_!R38I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png 1272w, https://substackcdn.com/image/fetch/$s_!R38I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec8de5b1-8960-48bf-a7dc-2a3618d11fdc_1344x590.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And while the system design won, what this says to me is that I have to continue to straddle the line between analytics and engineering, so don&#8217;t fret. I will alternate posts between the two.</p><p>This week&#8217;s post is about data system design.</p><p>I&#8217;ve been designing data systems throughout my career. It started out building data warehouses on SQL Server using SSIS and stored procedures and continued onto cloud data platforms (BigQuery then Snowflake). Nowadays it&#8217;s mostly PostgreSQL (dbt) and some Python.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Here&#8217;s what I&#8217;ve learned:</p><h4>You can&#8217;t know all the requirements upfront</h4><p>My entire career, the one thing that has remained constant is how requirements keep changing as business needs evolve. This has made very apparent for me the need for a <strong>modular design</strong>.</p><p>I covered modularity in my book Minimum Viable SQL Patterns, but that was in the context of SQL queries. Modularity is actually a system design pattern. The key is simple, self-contained components that can be reasoned about, developed and tested independently.</p><h4>A simple, evolvable architecture is crucial</h4><p>The traditional way systems are designed is to gather all requirements and then spend time designing the perfect system. This is known as BDUF (big design upfront). I&#8217;ve often found that even if I know (or think I know) the requirements, I have a really hard time designing a large system upfront.</p><p>Some people have the ability to design the whole thing in their heads. That&#8217;s not me. In fact, I prefer to get started with a <strong>minimal design</strong>, where I outline the various elements of data transformation (simple boxes and arrows design) then I just start coding. This way I can evolve the system as I go.</p><h4>Design the data model first</h4><p>When starting to design a data system (like a data warehouse) one of the key elements that MUST be designed upfront is the data model. Like the rest of the system it needs to be easy to evolve and maintain, but once you&#8217;ve got something drawn up, it dictates the rest of the elements.</p><p>How you model data depends on what you want to do with it. If you want to analyze business processes, <strong>model events and activities using facts and dimensions</strong>. Kimball is great for that. Start with one-big-table and evolve as needed. If you want to analyze entities (e.g. customers, campaigns) <strong>model entities directly and roll up the activities</strong> and metrics to the entity level.</p><p>I plan to write a much more in-depth article on entity-centric modeling so stay tuned.</p><div><hr></div><h3>Articles I&#8217;ve been reading</h3><p>Going forward, I&#8217;ll be including a section with relevant articles based on the theme of each post. This week you get some links on functional data engineering</p><p><a href="https://datakitchen.io/fitt-data-architecture/">FITT Data Architecture</a><br><em>Functional, Idempotent, Tested, Two-stage (FITT) data architecture has saved our sanity&#8212;no more 3 AM pipeline debugging sessions.</em></p><p>A wonderful article by Chris Bergh of DataKitchen explaining why a functional approach to data engineering can save you a lot of headaches in the long run. My favorite quote:</p><blockquote><p>Yes, storage and compute have costs, but debugging at 2 AM is infinitely more expensive. The math is simple: data engineering time is worth more than compute costs, which are worth more than storage costs.</p></blockquote><div><hr></div><p><a href="https://datakitchen.io/fitt-vs-fragile-sql-orchestration-techniques/">FITT vs. Fragile: SQL &amp; Orchestration Techniques For FITT Data Architectures</a><br><em>SQL &amp; Orchestration Techniques For Functional, Idempotent, Tested, Two-Stage Data Architectures</em></p><p>Another banger by Chris Bergh, and a follow up to the above article. What I love about this article is that Chris gets into the weeds of how to make SQL &#8212; a language decidedly designed for state mutations &#8212; be more functional.</p><blockquote><p>Idempotence in SQL requires even more deliberate design. The naive approach of simply re-running transformation queries often fails because SQL operations like INSERT, UPDATE, and DELETE are inherently stateful.</p></blockquote><div><hr></div><p><a href="https://maximebeauchemin.medium.com/functional-data-engineering-a-modern-paradigm-for-batch-data-processing-2327ec32c42a">Functional Data Engineering &#8212; a modern paradigm for batch data processing</a></p><p>The grandaddy of functional data engineering articles by Max Beauchemin which lays out the critical elements of why you should consider shifting to the functional paradigm and why it&#8217;s superior.</p><blockquote><p>Functional programming brings <strong>clarity</strong>. When functions are &#8220;pure&#8221; &#8212; meaning they do not have side-effects &#8212; they can be written, tested, reasoned-about and debugged in isolation, without the need to understand external context or history of events surrounding its execution. As ETL pipelines grow in complexity, and as data teams grow in numbers, using methodologies that provide clarity isn&#8217;t a luxury, it&#8217;s a necessity.</p></blockquote><p>That&#8217;s it for this issue, until next time</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Will AI Replace Data and Analytics Engineers?]]></title><description><![CDATA[What's happening to data and analytics engineering work?]]></description><link>https://sqlpatterns.com/p/will-ai-replace-data-and-analytics</link><guid isPermaLink="false">https://sqlpatterns.com/p/will-ai-replace-data-and-analytics</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 16 Aug 2025 19:25:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lbPT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When ChatGPT first burst on the scene in early 2023, with its ability to give seemingly intelligent answers and write seemingly perfect code, I have to admit I was worried. </p><p>I thought I&#8217;d become obsolete. </p><p>I thought our entire industry would be handed over to AI and I&#8217;d have to switch careers.</p><p>That&#8217;s not exactly what happened but things have definitely changed.</p><div><hr></div><p>This issue of Data Patterns is sponsored by <a href="https://chromewebstore.google.com/detail/sheet-army-knife/ndkmoeapjklahnodgegmejhhahjlfjoe?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=ergestad">Sheet Army Knife</a>, a privacy-first Chrome extension that cleans, formats, and anonymizes PII data in spreadsheets before you accidentally load it to an AI tool. It runs entirely on your machine to reduce privacy risks when using AI tools.</p><div><hr></div><p>Two years later, with AI hype at an all time high, one thing is clear to me.</p><p><strong>Data and analytics engineering work is not going anywhere!</strong></p><p>Instead, what&#8217;s happening is that data roles are becoming more multi-faceted. Data analysts are doing data science; data scientists are doing data engineering; data engineers are doing software engineering.</p><p>As a self-procliamed data generalist (I&#8217;ve done analytics, data engineering and even some data science) this was more than welcome, but what I didn&#8217;t expect was for me to get into software engineering this late in my career.</p><p>While my background is in computer science, I never wanted to get into software engineering, so when my manager asked me dive into Python I was a little concerned. I had never written a single line of Python in my life &#128513;!</p><p>Copilot to the rescue!</p><p>Once I realized I could use GenAI / LLMs to help me write the code, I noticed something very interesting. Not knowing how to write Python from scratch didn&#8217;t hinder me. As long as I could read AI-generated code and understand what it was doing I was fine!</p><p>The key skill for me shifted from writing code to writing very clear design docs; and to write very clear design docs, you need to be REALLY good at system design and architecture.</p><p>I soon realized data system design was a skill that wasn&#8217;t going anywhere. In fact, many of the solutions I&#8217;ve built even required embedding LLM capabilities into software.</p><p>Sure you can build apps with a single prompt nowadays, but are these apps easy to maintain, debug, update or are they a bunch of AI &#8220;slopware?&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lbPT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lbPT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lbPT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lbPT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lbPT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lbPT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg" width="1080" height="1258" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1258,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lbPT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lbPT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lbPT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lbPT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356942cc-fca1-4b21-84a9-c74a3e932604_1080x1258.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Companies are learning that there&#8217;s no such thing as a free lunch.</p><p>Just when they thought they could replace software and data engineers with AI agents, they are waking to the reality that putting AI generated code in production (without human verification) is a nightmare waiting to happen; especially when that system needs to be well-designed to be maintainable.</p><h3>In Summary</h3><p>To summarize my argument in a few points, here&#8217;s why I believe data and analytics engineering work is not going anywhere:</p><ol><li><p>In an &#8220;AI augmented&#8221; world data work is becoming multifaceted and encompassing more not less</p></li><li><p>With the advent of AI codegen tools and agents, system design and architecture skills are becoming more important</p></li><li><p>Vibe coded systems are requiring more human intervention and expertise, not less in order to not become a nightmare</p></li></ol><p>Before you leave, I have a small favor to ask.</p><p>Could you let me know by voting below what kind of content you&#8217;d like to see more from me in the future?</p><div class="poll-embed" data-attrs="{&quot;id&quot;:361579}" data-component-name="PollToDOM"></div><p>That&#8217;s it for this issue.</p><p>Until next time</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Designing Interactive Metric Trees]]></title><description><![CDATA[A case study with Sergey Korney of Brightly Software]]></description><link>https://sqlpatterns.com/p/designing-interactive-metric-trees</link><guid isPermaLink="false">https://sqlpatterns.com/p/designing-interactive-metric-trees</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 02 Aug 2025 12:07:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VGi8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last month I sent an email asking about metric trees to understand what was driving this interest. I had a lot of interesting conversations, so thank you to those of you who replied and talked with me.</p><p>I love nerding out on data topics so the conversations were very enjoyable. One of the requests many of you had was on how to design interactive metric trees that cover the entire business.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>That&#8217;s where Sergey comes in. We chatted last year while he was still building a metrics tree for the sales team and he was finally ready to reveal what they had built.</p><p>Sergey runs the internal analytics team at Brightly Software. The following is an edited version of a conversation we had about his experience designing, implementing and using metric trees at Brightly. </p><p>Agenda:</p><ul><li><p>Why did he choose to build a metrics tree?</p></li><li><p>How specifically did he build it and how did he automate it?</p></li><li><p>How is it being used and what&#8217;s the impact to the business?</p></li><li><p>How he&#8217;s leveraging the tree to provide on-demand AI powered insights</p></li></ul><p>Interested? Let&#8217;s get into it.</p><h3>Why did they build a metric tree for sales?</h3><p><strong>Ergest: Hi Sergey. Thank you for taking the time to speak with me. Can you provide some context about Brightly? What does the company do?</strong></p><p><strong>Sergey:</strong> My pleasure! We're a B2B SaaS company selling a variety of cloud solutions to different verticals. Our largest market is probably education; we sell to schools and universities, and our focus is on asset management software. You know, when you need to submit a work order to get something fixed, that's our software.</p><p><strong>Sergey:</strong> Before metric trees, we were very reactive. Questions would pile up and we&#8217;d scramble to answer them. We had dashboards and reports but it felt more like &#8220;choose your own adventure.&#8221; We wanted to be seen as a partner rather than somebody who just gets asked a question and provides an answer.</p><p>That&#8217;s when Sergey decided to build a metrics tree after reading my post and watching Abhi Sivasailam&#8217;s Data Council <a href="https://www.youtube.com/watch?v=Dbr8jmtfZ7Q">talk</a> on metric trees.</p><h3>How did they build the tree?</h3><p><strong>Ergest: I get a lot of questions about how to implement metric trees and people always want to capture the entire business in one tree. That&#8217;s not what you did right?</strong></p><p><strong>Sergey:</strong> Correct. We started with sales, not the full business, just sales and pipeline metrics. I think that's something I'd really recommend as an approach. With a business large enough to span different areas (sales, marketing, finance, operations) I don't know if you can or even want to capture all of it in a single metric tree.</p><p><strong>Sergey: </strong>We knew for a fact that our sales stakeholders were really craving for that data. We had a lot of questions about how to do root cause analysis and how to figure out why are we up or down? At the same time, the North Star metric for sales (ARR bookings) is quite easy to build a metric tree for.</p><p><strong>Ergest: What does the actual implementation look like? Can you walk me through what people see?</strong></p><p><strong>Sergey:</strong> What you see here just a screenshot, but the real tree is is automated and built in Qlik. You can interact with it, zoom in and out, and drill into specific branches. The colors represent how individual metrics are performing against whatever comparison you choose. It could be an average, last year same period, things like that.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5v1t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5v1t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png 424w, https://substackcdn.com/image/fetch/$s_!5v1t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png 848w, https://substackcdn.com/image/fetch/$s_!5v1t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png 1272w, https://substackcdn.com/image/fetch/$s_!5v1t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5v1t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png" width="1456" height="430" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:430,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:818171,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/169322253?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5v1t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png 424w, https://substackcdn.com/image/fetch/$s_!5v1t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png 848w, https://substackcdn.com/image/fetch/$s_!5v1t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png 1272w, https://substackcdn.com/image/fetch/$s_!5v1t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed465552-fffd-4ba4-9b6e-3f32330fd168_4000x1180.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Sergey: </strong>This way you can quickly see different areas where things are performing well versus not performing as well. The intensity of the color is where we get into statistical analysis and we do a simplified version of control / XMR charts. This lets us focus on specific areas that need deeper root cause analysis.</p><p><strong>Ergest: How did you approach the actual design of the tree?</strong></p><p><strong>Sergey:</strong> We followed what I think is a pretty common blueprint. Start with a familiar business area, define our North Star (ARR in our case) then break that down into direct inputs, the next lower-level components. Then rinse and repeat recursively until you get to input metrics that you have control over.</p><p><strong>Ergest: What about those influence metrics? The ones that aren't direct mathematical relationships? How do you discover and integrate those?</strong></p><p><strong>Sergey:</strong> That's an interesting area where we probably need to do more research. So far, we've been gathering feedback from conversations and field notes, talking to the reps and managers to understand what they see as causal relationships.</p><p><strong>Sergey: </strong>For example, sales cycle length. It's commonly known that the shorter your sales cycle, the more likely you are to close the deal, so your win rate should be higher. But there's no direct mathematical relationship between those two metrics.</p><p><strong>Ergest: How long did the full tree take to build?</strong></p><p><strong>Sergey:</strong> For the metric tree itself about three months with just me working on it. If there was a team working on it, it would probably be quicker. But I'd say a quarter of time just to get it to something useful. Then we iterated and improved from there. You don't even need to automate it right away. Start with a diagram. Build it on paper if you need to.</p><p><strong>Ergest: Did you interview business users to validate the structure or did your team already understand the business well enough?</strong></p><p><strong>Sergey:</strong> We had a pretty good understanding since we work with stakeholders day in and day out, but we still interviewed them and checked with stakeholders because we really wanted to get this right.</p><h3>How did the tree impact the business?</h3><p><strong>Ergest: Has this reduced the number of questions you get, or changed how you work with stakeholders?</strong></p><p><strong>Sergey:</strong> The main use case for us as analysts is that it's helped us bring more insights to the table instead of just answers, which really helps with reducing questions and addressing some of them before they even start. We've become much more proactive. Here&#8217;s an example of doing root cause analysis using the automated reports:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VGi8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VGi8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png 424w, https://substackcdn.com/image/fetch/$s_!VGi8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png 848w, https://substackcdn.com/image/fetch/$s_!VGi8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png 1272w, https://substackcdn.com/image/fetch/$s_!VGi8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VGi8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png" width="1456" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2043882,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/169322253?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VGi8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png 424w, https://substackcdn.com/image/fetch/$s_!VGi8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png 848w, https://substackcdn.com/image/fetch/$s_!VGi8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png 1272w, https://substackcdn.com/image/fetch/$s_!VGi8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F589272d2-db9d-4eca-ae8b-59c53d899263_4000x2232.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Sergey: </strong>What I'd love is for more users to actually start using it as self-service, not just using it but understanding the concept and getting value so they can answer their own questions. We still get plenty of questions, but we've shifted gears from just sitting and waiting for new questions to becoming proactive and digging into well-known questions every month and quarter to give insights before anyone asks.</p><p><strong>Ergest: Any final thoughts on the challenges or what you've learned?</strong></p><p><strong>Sergey:</strong> The tool is powerful, but the more powerful it is, the more overwhelming it can be for users who aren't familiar with the concept. You want to find that balance between keeping it simple but also keeping it as powerful as it is.</p><p><strong>Sergey:</strong> When I show this to typical business users and start talking about filters and driver analysis, I can lose them on the first sentence. So you have to be careful about how you introduce it. Don't worry about root cause analysis or forecasting yet. Those are separate use cases.</p><h3><strong>Extracting automated insights with AI</strong></h3><p><strong>Sergey:</strong> One of the cool things about automating trees and metric definitions is leveraging AI to provide automated insights. What we&#8217;ve been able to do leveraging LLMs we can feed that data into an AI model and ask, hey, give me a summary of insights based on that metric tree data, what's driving what, what's the root causes of changes, and it actually does it. If people are interested we can do a deeper dive into that.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-FRn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-FRn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png 424w, https://substackcdn.com/image/fetch/$s_!-FRn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png 848w, https://substackcdn.com/image/fetch/$s_!-FRn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png 1272w, https://substackcdn.com/image/fetch/$s_!-FRn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-FRn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3001468,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/169322253?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-FRn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png 424w, https://substackcdn.com/image/fetch/$s_!-FRn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png 848w, https://substackcdn.com/image/fetch/$s_!-FRn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png 1272w, https://substackcdn.com/image/fetch/$s_!-FRn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd08d9cde-1138-458d-b51e-591814a00be6_4000x2248.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Ergest: Thank you so much Sergey. I appreciate you taking the time to explain your experience with metric trees. And I&#8217;m sure  people would love to hear more about the AI section</strong></p><p><strong>Sergey:</strong> My pleasure. Maybe next time?</p><p>That&#8217;s it for this issue. If you have questions for Sergey, please send them to me via email and we&#8217;ll do another call.</p><p>Until next time</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Lift and Shift Rarely Works]]></title><description><![CDATA[Rethink your data strategy instead]]></description><link>https://sqlpatterns.com/p/lift-and-shift-rarely-works</link><guid isPermaLink="false">https://sqlpatterns.com/p/lift-and-shift-rarely-works</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 19 Jul 2025 19:10:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!W_gt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60c1d86e-f97d-4deb-8991-0662b9a07922_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When migrating an existing platform it&#8217;s very tempting to simply &#8220;lift and shift&#8221; the existing data assets into the new system as quickly as possible. This means you&#8217;re copying data and queries &#8220;as is&#8221; and focusing on getting them working with as little modifications as possible.</p><p>I&#8217;ve seen his play out multiple times in my career but it rarely works long-term for two very important reasons:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><ol><li><p>Yes you move quickly but all the tech debt and inadequate architecture design is carried forward into the new system. When you lift and shift you &#8220;copy / paste&#8221; the old system into a new environment. Eventually cracks will appear.</p></li><li><p>You miss out on the opportunity to redesign the data architecture properly. Do you know the expression &#8220;never let a good crisis go to waste?&#8221; It applies here. A redesign gives you a chance to clean house and rethink your approach.</p></li></ol><p>Take the time to analyze the existing architecture, figure out what&#8217;s working and what needs to change, then come up with a plan where you can both update the design and deliver value incrementally.</p><p>My good friend <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Aaron Ormiston&quot;,&quot;id&quot;:1201888,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d355dbab-98f6-42bc-bd01-643be700643e_2316x2316.jpeg&quot;,&quot;uuid&quot;:&quot;cce40da6-a9e3-42ba-9b79-331f76dfa14e&quot;}" data-component-name="MentionToDOM"></span> calls this method &#8220;steel threads&#8221; whereby you take a horizontal slice of your existing architecture, from source system to end product (e.g dashboard) and deliver that in the new platform.</p><p>The beauty of this technique is that you not only deliver value incrementally and quickly, but you also validate your work by comparing key metrics in the two systems.</p><p>These steel threads make a lot of sense to the business than vertical slices which only make sense to engineers (build the ETL first, the data model next, the metrics next and finally all the dashboards)</p><p>Rethinking your data strategy is not for the faint of heart though. You need confidence, political capital and experience to convince stakeholders to give you a big budget with low initial ROI.</p><p>I know at least one person who is building a whole new data platform using open source technologies like Iceberg, Airbyte, etc. who pitched the full data strategy to their stakeholders and secured a nice budget. Usually this is a recipe for instant rejection.</p><p>The new platform they proposed will set the business up for near infinite data growth and easily swappable components without worrying about investing in proprietary technologies and vendor lock-in. Maybe I can get them to write something about it.</p><p>A strategy that builds for the future, especially one utilizing open source technologies will look like a bad investment early on. You&#8217;re spending additional capital on top of the current platform.</p><p>Hence why &#8220;steel threads&#8221; methodology is so powerful. You can compare the costs of delivering each dashboard with the new system vs the current one and show the potential for reducing costs or improving efficiency.</p><p>Thats it for this issue. I have at least a couple of in depth use cases coming up that show you how different companies are implementing and using metric trees. Both of them will have a visual demo.</p><p>Until then.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Art of Business Analysis - Part 2]]></title><description><![CDATA[How to 10x the Performance of a Business]]></description><link>https://sqlpatterns.com/p/the-art-of-business-analysis-part-909</link><guid isPermaLink="false">https://sqlpatterns.com/p/the-art-of-business-analysis-part-909</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 05 Jul 2025 22:08:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1dKB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In Part 1 of the Art of Business Analysis series we looked at the Value Chain as a key framework for analyzing the business as a whole. In that post we looked at the case study of <em>Chiro-1st</em> which comprises a number of chiropractor studios in and around Washington state.</p><p>We looked at the key metrics / KPIs and built a metrics tree using the value chain. There&#8217;s a link to that post later one, but it&#8217;s not strictly required to understand this one. I&#8217;ll provide just enough context here for you to be able to follow along.</p><p>In this post we seek to answer the question: &#8220;<strong>How do we improve this business?</strong>&#8221;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4><strong>Improving Systems Through Constraints</strong></h4><p>To answer that question we&#8217;ll look at another powerful framework for analyzing businesses called <strong>Theory of Constraints (TOC). </strong>I will not get too deep in the weeds of TOC because the knowledge base is vast, I&#8217;ll just focus on what you can use today.</p><p>TOC takes a wholistic systems approach to improvement. The core tenet is that every system has a goal. A constraint is a limiting factor that prevents the system from reaching that goal. It&#8217;s whatever resource you don&#8217;t have enough of to get the goal.</p><p>TOC also believes that this constraint is <em>the only</em> <em>thing</em> that matters and <em>the only thing</em> you should focus on to improve that system. This is quite a departure from the traditional approach which seeks to improve a business by optimizing every part independently.</p><p>The constraint acts as a point of leverage, in the sense that improving <em>just </em>the constraint by 10x gets you 10x improvements in the <em>entire business. </em>Improving anything <em>other </em>than the constraint will get you, at best, incremental improvements.</p><h4>The five types of constraints</h4><p>According to Dr Alan Barnard (who worked directly with and was mentored by TOC founder Dr Goldratt) there are only 5 types of constraints:</p><ol><li><p><strong>Demand constraint</strong> (also known as a market constraint) where you don&#8217;t have enough demand (enough market) for your products or services. Unless you have customer orders piling up or a queue of customers outside your establishment, you have a demand constraint. This is the most common type of constraint.</p></li><li><p><strong>Capacity constraint</strong> where have enough demand but not enough capacity to handle the demand. This is usually an internal constraint based on your current operations, policies and business processes.</p></li><li><p><strong>Supply constraint</strong> where have enough demand and capacity but not enough supply from a third party (hence an external operations constraint). This happens when you&#8217;re in the middle of a long supply chain between manufacturing and customers and are reliant on suppliers for raw materials.</p></li><li><p><strong>Cash constraint</strong> where you&#8217;ve got plenty of demand, not enough capacity but in order to increase capacity you need money to invest. In this case the constraint isn&#8217;t capacity but cash.</p></li><li><p><strong>Management attention </strong>where your business is doing well but you&#8217;re so busy handling daily operations and making every decision yourself that the business cannot grow regardless of demand, capacity or even cash.</p></li></ol><p>As I said earlier, most businesses have a demand or market constraint, so it&#8217;s always a good idea to focus there first. That&#8217;s why it&#8217;s at the top of the list. If on the other hand you have a backlog of orders you haven&#8217;t fulfilled yet, or a long queue out the door, you have more than enough demand and you should focus on capacity/operations.</p><p>If however you don&#8217;t know what to focus on first, the best thing to do is to set an outrageous goal!</p><p>But why?</p><p>The traditional approach of goal setting in many organizations is to make sure they&#8217;re reasonable. For example &#8220;How do we grow 10% year over year?&#8221; But this type of goal will NOT expose your constraints and thus limit your upside.</p><p>When you set an impossible goal (for example how do we 10x this business?) the constraints become very clear.  Let&#8217;s illustrate using <em>Chiro-1st.</em></p><h4>The Goal</h4><p>In the video, Raymond (the owner of Chiro-1st) wants to achieve <strong>$5 million in EBITDA in 3 years and exit. </strong>This is definitely in the realm of outrageous goals, but we can go even further and ask &#8220;How do we 10x this business?&#8221;</p><p>TOC has a very simple financial equation to help you think about improvements.</p><p>There are only a few KPIs:</p><ol><li><p><strong>Throughput</strong> (Sales - Variable Costs)</p></li><li><p><strong>Inventory</strong> or <strong>Investment</strong> (e.g. clinic location, equipment, etc)</p></li><li><p><strong>Operating Expense</strong> (e.g. staff salaries, rent, etc.)</p></li><li><p><strong>Net Profit = Throughput - Operating Expense</strong></p></li><li><p><strong>ROI = (Throughput - Operating Expense) / Investment</strong></p></li></ol><p>Let&#8217;s take a look at the numbers. Chiro-1st is making $5.2 million in top-line revenue and has a 23% net margin. If they wanted to 10x revenue, they need to 10x sales. Could they do it with the five centers they currently have? Each center has limited capacity in terms of a doctor, support staff, equipment and space.</p><p>We don&#8217;t know exactly but assume each center has one doctor working there. If we assume the duration of an appointment is 45-60 minutes, then a doctor can only see about 6-8 patients per day. We also don&#8217;t know whether the centers are operating at optimal capacity.</p><p>Decreasing the duration of an appointment can help a little bit, but that will also negatively impact patient health outcomes, which negatively impacts future sales. So the only way to 10x revenue is to open up other centers.</p><p>We know that will require upfront investment and potentially decrease the net margin, so we should try and squeeze as much performance as possible out of our current set up.</p><p>Ok this is a useful mental simulation, but let&#8217;s focus on Raymond&#8217;s original goal. Can we get to $5 million in EBITDA using our existing setup? What should we do first?</p><p>The business is already doing $5.1 million in revenue, so to get $5 million in EBITDA we&#8217;d need a 98% net margin (meaning our costs would need to be non existent) Since this is a physical business vs software business (whereby software has very high margins) we cannot get that level of profit without increasing revenue.</p><p>If we keep the 23% net margin the same, we&#8217;d need 4x the current revenue (or about $21.25 million) to get there. We <em>could</em> also try to tackle the net margin itself, which would involve reducing costs. Given the existing Investment and Operating Expenses are needed to run the business, even if we reduce some costs, it&#8217;s unlikely we can get 4x improvement.</p><p>So the only way forward is to increase Throughput (Sales) by 4x. Another way to do that is to increase prices. A 4x price increase is very likely to impact sales negatively but we can still experiment with some increases and get some improvement that way.</p><p>If we choose to keep prices the same, we&#8217;d need 4x more customers. Can our current capacity handle 4x more customers? We don&#8217;t know but let&#8217;s assume that we can. Let&#8217;s say we can hire another doctor and double the capacity.</p><h4>The Power of Focus</h4><p>At this point I hope you can see that by focusing on just improving sales first, more specifically the number of new customers, we can not only achieve our goal of $5 million in EBITDA but also exceed it. The beauty of TOC is that it lets you focus on a single constraint until you break it and <em>only then</em> start thinking about what&#8217;s next.</p><p>There are surprisingly few levers needed to increase sales. Hormozi focuses on quite a few of them in the video:</p><ol><li><p>Ensure there&#8217;s a need for your services (which Chiro-1st already handles well)</p></li><li><p>Improve the offer to the market. This can be done for example by changing the ad copy and tracking improvements in the conversion rate of </p></li><li><p>Improve the sales process by reconfiguring how the offer is presented. Hormozi spends most of his time giving recommendations here.</p></li><li><p>Increase prices. This is something else Hormozi mentions given that the sales conversion rate is &#8220;too high&#8221; and could indicate more room for prices to grow.</p></li></ol><p>If we look at the bottom of the metrics tree from the previous post, we see that by improving the ad messaging and increasing the spend, we can directly increase the <strong>Booked Consultations</strong>. And by reconfiguring the offer, and standardizing how the consultation is offered we can also impact the close rate which will improve the <strong>Booked Treatment</strong> metric.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1dKB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1dKB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png 424w, https://substackcdn.com/image/fetch/$s_!1dKB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png 848w, https://substackcdn.com/image/fetch/$s_!1dKB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png 1272w, https://substackcdn.com/image/fetch/$s_!1dKB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1dKB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png" width="1456" height="2916" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2916,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:644294,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/167533380?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1dKB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png 424w, https://substackcdn.com/image/fetch/$s_!1dKB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png 848w, https://substackcdn.com/image/fetch/$s_!1dKB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png 1272w, https://substackcdn.com/image/fetch/$s_!1dKB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7083afb-7dab-40f4-8591-950647fc061a_1492x2988.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hormozi gives far more specific advice but for educational purposes, this is plenty.</p><h4>Other Considerations</h4><p>How can we apply this approach to a business without physical locations (e.g a SaaS product)? Well when you build the first version of the product, your primary focus should be demand, or as is known in the industry as Product Market Fit (PMF)</p><p>Imagine this SaaS company who has 10 paying customers, whose product can handle a max of 100 users simultaneously, but the focus of all their engineering resources is on scaling the product.</p><p>As long as your product can handle the initial demand, <strong>don&#8217;t even think</strong> about spending engineering resources on scaling. Focus all your efforts on building features that close deals and get you closer to PMF.</p><p>Only when you&#8217;re swimming in support requests from users who can&#8217;t acccess or use your product should you concern yourself with scaling.</p><p>Here&#8217;s the link to the previous post and a summary of the metrics below if you choose not to read it.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;43c8eff7-45a9-4796-9c1c-49841f5e119f&quot;,&quot;caption&quot;:&quot;When I was a business analyst circa 2015 I had no clue how businesses worked despite the MBA degree I had received a decade earlier. Back then I used to think that analyzing a business meant analyzing various metrics and coming up with stories that explained those metrics.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Art of Business Analysis - Part 1&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:245231,&quot;name&quot;:&quot;Ergest Xheblati&quot;,&quot;bio&quot;:&quot;I&#8217;m a Data Architect and Engineer with close to two decades of experience working with data. I&#8217;m obsessed with timeless patterns because I believe they provide the most stable base for a long lasting career.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60c1d86e-f97d-4deb-8991-0662b9a07922_1024x1536.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-06-21T18:56:14.336Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!uTPz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://sqlpatterns.com/p/the-art-of-business-analysis-part&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:166349454,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:30,&quot;comment_count&quot;:6,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Data Patterns&quot;,&quot;publication_logo_url&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h4><strong>Metrics / KPI&#8217;s Overview</strong></h4><p>Next let&#8217;s go over the metrics / KPIs and see if we can&#8217;t get a better idea about this business.</p><p>Top line</p><ul><li><p>Top line revenue per location: $5.2 million</p></li><li><p>Net profit per location: $1.2 million which means</p></li><li><p>Net margin: 1.2/5.2 = 23%</p></li></ul><p>Acquisition</p><ul><li><p>Monthly marketing spend: <strong>$1,500-$2,000</strong> per month</p></li><li><p>Total new leads avg: <strong>35</strong> per month</p></li><li><p>Total shows for free consultation: <strong>28</strong> (80% show rate on avg)</p></li><li><p>Total sales for full treatment: <strong>20</strong> (71% close rate on avg)</p></li><li><p>Customer acquisition cost (CAC): <strong>$700</strong> per year</p></li></ul><p>Retention</p><ul><li><p>Lifetime Value (LTV) per customer: $3,400</p></li><li><p>LTV/CAC ratio: 3400/700 = 4.8</p></li></ul><p>ROAS depends on location (this comes into play later)</p><ul><li><p>Facebook Ads</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HLC6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HLC6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png 424w, https://substackcdn.com/image/fetch/$s_!HLC6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png 848w, https://substackcdn.com/image/fetch/$s_!HLC6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png 1272w, https://substackcdn.com/image/fetch/$s_!HLC6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HLC6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png" width="1125" height="234" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:234,&quot;width&quot;:1125,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:210351,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/167533380?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HLC6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png 424w, https://substackcdn.com/image/fetch/$s_!HLC6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png 848w, https://substackcdn.com/image/fetch/$s_!HLC6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png 1272w, https://substackcdn.com/image/fetch/$s_!HLC6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecd38d8-2b32-4004-acc4-d6b848d36d56_1125x234.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ul><li><p>Google Ads</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W1JL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W1JL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png 424w, https://substackcdn.com/image/fetch/$s_!W1JL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png 848w, https://substackcdn.com/image/fetch/$s_!W1JL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png 1272w, https://substackcdn.com/image/fetch/$s_!W1JL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W1JL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png" width="1222" height="309" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:309,&quot;width&quot;:1222,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:210408,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/167533380?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!W1JL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png 424w, https://substackcdn.com/image/fetch/$s_!W1JL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png 848w, https://substackcdn.com/image/fetch/$s_!W1JL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png 1272w, https://substackcdn.com/image/fetch/$s_!W1JL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fe12c54-b713-4162-a721-21389b96aabf_1222x309.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That&#8217;s it' for this issue. Until next time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[The Art of Business Analysis - Part 1]]></title><description><![CDATA[Building your first metrics tree]]></description><link>https://sqlpatterns.com/p/the-art-of-business-analysis-part</link><guid isPermaLink="false">https://sqlpatterns.com/p/the-art-of-business-analysis-part</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 21 Jun 2025 18:56:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uTPz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When I was a business analyst circa 2015 I had no clue how businesses worked despite the MBA degree I had received a decade earlier. Back then I used to think that analyzing a business meant analyzing various metrics and coming up with stories that explained those metrics.</p><p>I did my best, but ultimately failed and decided to focus on data engineering instead. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Almost a decade later, I have discovered a number of analytical frameworks and tools that <strong>I know for a fact </strong>would have helped me succeed. I would have become an expert analyst and a trusted advisor to the executive leadership.</p><p>And so I&#8217;ve decided to write this post as a message to my younger self.</p><p>The most interesting of these tools and frameworks is the <strong>Metrics/KPI Tree.</strong> It's the best tool I know for understanding and communicating business context.</p><p>I&#8217;ve written about it in the past and since then, I&#8217;ve seen that people are very interested to learn more about it. What I want to do is write a series of posts (directed to my younger self) where I walk through the steps of building it from scratch.</p><p>I&#8217;ll be using a business case study I saw in a video by Alex Hormozi where he advises a business owner of chiropractor studios on reaching the goal of $5 million in EBITDA in 3 years. Of courtse I&#8217;m no Alex Hormozi, I don&#8217;t have his experience running and growing businesses, so this is just my take.</p><p>The link to Hormozi&#8217;s video is at the end of this post.</p><h4><strong>Business Overview</strong></h4><p>The case study concerns a business called <em>Chiro 1st</em> which comprises a number of chiropractor studios in and around Washington state.</p><p>These are physical locations where doctors perform chiropractic treatments for patients, such as various adjustments, rehabilitation and spinal decompression. The owner states that spinal decompression is their unique value proposition.</p><p>Since this is a physical business (as opposed to a digital one) we can immediately draw several conclusions:</p><ul><li><p>The business is capital heavy and there&#8217;s quite a bit of risk involved. In order to open a new location you need a fairly large, upfront investment to buy equipment (X-Ray machines, chiropractic equipment, exercise equipment, computers, etc)</p></li><li><p>Operating expenses are also quite high and also necessary upfront (doctor&#8217;s salaries, staff salaries, location rent, utilities, etc)</p></li><li><p>Just like any other physical business, the location of the facilities matters a lot. It needs to be accessible, convenient, accommodating, well designed, etc. As they say in real estate the key is location, location, location. This means you&#8217;ll also need to invest upfront in construction.</p></li></ul><h4>Business Model</h4><p>The business model is quite simple.</p><p>Patient comes in for an initial assessment (free consultation, X-Rays, etc.) after which they are presented with a treatment plan consisting of several visits to the studio. Every time they get a treatment, their insurance is charged providing revenue for the business.</p><p>While not exactly a recurring revenue model, it&#8217;s the next best thing&#8212;reoccurring revenue&#8212;which means that the same person pays multiple times. This is a huge positive element Hormozi highlights during his analysis. The treatment plan is offered as a package of several visits as opposed to what he terms &#8220;one crack at the back at a time.&#8221;</p><p>Here&#8217;s a brief summary of this business:</p><ul><li><p>There are currently 6 chiropractor offices in WA offering services</p></li><li><p>Only 4 of the 6 locations offer the special spinal decompression service</p></li><li><p>The &#8220;front-end offer&#8221; is a free consultation and treatment plan</p></li><li><p>The &#8220;back-end offer&#8221; is a treatment package that ranges from $2,400 to $3,600 over a 60 - 90 day period</p></li><li><p>1 in 7 patients choose a special $10,000 treatment in the case of an injury</p></li><li><p>Revenue is about 70% from insurance and 30% payment upfront</p></li></ul><h4><strong>Metrics / KPI&#8217;s Overview</strong></h4><p>Next let&#8217;s go over the metrics / KPIs and see if we can&#8217;t get a better idea about this business.</p><p>Top line</p><ul><li><p>Top line revenue per location: $5.2 million</p></li><li><p>Net profit per location: $1.2 million which means</p></li><li><p>Net margin: 1.2/5.2 = 23%</p></li></ul><p>Acquisition</p><ul><li><p>Monthly marketing spend: $1,500-$2,000 per month</p></li><li><p>Total new leads avg: 35 per month</p></li><li><p>Total shows for free consultation: 28 (80% show rate)</p></li><li><p>Total sales for full treatment: 20 (71% close rate)</p></li><li><p>Customer acquisition cost (CAC): $700 per year</p></li></ul><p>Retention</p><ul><li><p>Lifetime Value (LTV) per customer: $3,400</p></li><li><p>LTV/CAC ratio: 3400/700 = 4.8</p></li></ul><p>In a previous post I wrote that understanding demand is key to understanding the business context, so let&#8217;s do that next.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3TPb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3TPb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png 424w, https://substackcdn.com/image/fetch/$s_!3TPb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png 848w, https://substackcdn.com/image/fetch/$s_!3TPb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png 1272w, https://substackcdn.com/image/fetch/$s_!3TPb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3TPb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png" width="1456" height="770" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:770,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:214022,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/166349454?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3TPb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png 424w, https://substackcdn.com/image/fetch/$s_!3TPb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png 848w, https://substackcdn.com/image/fetch/$s_!3TPb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png 1272w, https://substackcdn.com/image/fetch/$s_!3TPb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41bfcb3c-720a-4f08-9af9-de1b4c16de18_1849x978.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Understanding Demand</strong></h4><p>Demand is at the heart of any business. I mean that in the literal sense, without demand the business cannot survive. However demand finds itself ignored by many</p><p>Why do people go to a chiropractor?</p><p>The obvious answer is of course that they&#8217;re in pain (e.g. back pain). But having back pain doesn&#8217;t necessarily suggest you&#8217;ll choose a chiropractor. You might very well choose over-the-counter pain medication, some kind of therapy (like a hot/cold pack), physical exercise, stretching or even surgery.</p><p>So why then choose a chiropractor?</p><p>The context in which a chiropractor becomes a viable solution is one where perhaps medication has failed to relieve the pain permanently, simple therapies, stretches and exercise haven&#8217;t worked, your doctor is recommending surgery (which carries significant risks) and you&#8217;re thinking &#8220;there&#8217;s got to be another option.&#8221;</p><p>So you search online, you see an ad or a friend tells you about seeing a chiropractor.</p><p>You might have never been to a chiropractor before, you might have heard about them, watched a few videos on YouTube, you might even have anxiety about going there because the pain might get worse, or something else might go wrong. But in the face of surgery, you&#8217;re most likely thinking a chiropractor is much better than &#8220;going under the knife.&#8221;</p><p>Why is all of this important?</p><p>It&#8217;s important because in order to generate or capture demand you&#8217;ll need to buy ads and those ads need to mention what JTBD calls &#8220;the struggling moment&#8221; as well as handle all the fears and anxieties directly.</p><p>Their ad actually reads: &#8220;<em>Avoid surgery, try spinal decompression&#8221;</em></p><p>Next you&#8217;ll most likely check out their landing page to make sure they&#8217;re reputable, read a few reviews and make a decision whether to book a free consultation or not.</p><h4>Mapping the Value Chain</h4><p>These are the first steps in what most people call the &#8220;customer journey&#8221; which I prefer to call the &#8220;value chain&#8221; because the customer must receive some value in every step in order for them to buy your solution.</p><p>Here&#8217;s the value chain of Chiro-1st as best I understand it. Let&#8217;s briefly walk through the steps in order to understand how the customer gets value in each step until they receive the ultimate value: pain relief.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J8WC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J8WC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg 424w, https://substackcdn.com/image/fetch/$s_!J8WC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg 848w, https://substackcdn.com/image/fetch/$s_!J8WC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!J8WC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J8WC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg" width="1191" height="223" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:223,&quot;width&quot;:1191,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:32217,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/166349454?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!J8WC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg 424w, https://substackcdn.com/image/fetch/$s_!J8WC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg 848w, https://substackcdn.com/image/fetch/$s_!J8WC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!J8WC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f1bb20-392a-4826-af82-06f523b19113_1191x223.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The reason I like to call this &#8220;value chain&#8221; is because the customer receives some value at each and every step, until they receive the ultimate value: pain relief.</p><p><strong>Customer sees the ad</strong></p><p>It all begins when a potential customer has physical pain they can&#8217;t deal with themselves. This could be from an injury, over exertion or something chronic. They either see an ad or they actively search for &#8221;chiropractor in my area&#8221;</p><p>Viewing the ad gives them hope that there&#8217;s relief available for their condition. Assuming the ad or the landing page handles their concerns and fears, they will click or call to book a free consultation.</p><p><strong>Booking the free consultation</strong></p><p>As you can see there are two paths from the ad impression. They could either click to book a free consultation online or click to call whereby a representative books the consultation for them. Once booked, they&#8217;re entered into a reminder system which calls, texts or emails them the due date.</p><p>Having a definite date in the future where their problem might be solved provides tremendous emotional relief and hope again creating some modicum of value. We know that about 80% of them show up for the free consultation. According to Hormozi, this is an excellent show rate.</p><p><strong>Booking the paid treatment</strong></p><p>Once they show up for the free consultation, the staff takes an X-ray, checks their insurance information and provides them with a treatment plan. This is when the offer is presented and the sale occurs. This business has about a 70% close rate.</p><p>Armed with a treatment plan the customer&#8217;s fears and concerns are reduced even more, while hope of relief increases. Another modicum of value.</p><p><strong>Getting the treatment</strong></p><p>Now that they&#8217;re booked, they need to show up for the treatment in order for the business to make money. Given that the treatment involves multiple appointments, they need to show up for each one.</p><p><strong>Positive health outcome</strong></p><p>While the customer needs to show up regularly to receive more treatment, having even a tiny bit of pain relief and the promise of a full resolution in the future provides tremendous value.</p><p>Assuming a positive health outcome, the customer is satisfied and satisfied customers come back in the future, write good reviews and are much more likely to recommend chiropractic treatment to their friends.</p><h4>Bulding your first Metrics/KPI Tree</h4><p>Now that you understand the value chain, all you have to do is put some metrics in each step and build your initial metrics tree. It might not be complete, but it&#8217;s far better than having nothing.</p><p>Next week I&#8217;ll give you another framework for improving your business context understanding and getting a more complete metrics tree.</p><p>Here&#8217;s my first tree for Chiro-1st. Feel free to make your own or use this and adapt it to your situation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uTPz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uTPz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uTPz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uTPz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uTPz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uTPz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg" width="669" height="1511" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1511,&quot;width&quot;:669,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:95637,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://sqlpatterns.com/i/166349454?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uTPz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uTPz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uTPz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uTPz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3a3f045-b5fb-455a-8cfa-0a95da1fb13f_669x1511.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here&#8217;s the video in case you&#8217;re interested.</p><div id="youtube2-sBJppqCeFGI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;sBJppqCeFGI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/sBJppqCeFGI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Until next time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Going Back to the Lab]]></title><description><![CDATA[I have some exciting news!]]></description><link>https://sqlpatterns.com/p/going-back-to-the-lab</link><guid isPermaLink="false">https://sqlpatterns.com/p/going-back-to-the-lab</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Wed, 21 May 2025 12:43:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/585d3b29-c17f-4ae3-a6be-7e0bb64012b3_6720x4480.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have some exciting news! I&#8217;ve decided to focus on this newsletter exclusively for the foreseeable future. I want to make SQL Patterns the best data newsletter out there.</p><p>This means a lot more in depth content on timeless patterns you all love:</p><ul><li><p>Data Modeling</p></li><li><p>Data Architecture</p></li><li><p>DaraOps</p></li><li><p>MLOps</p></li><li><p>etc.</p></li></ul><p>There will be a brief hiatus while I cook up the next post, but in the meantime I would love it if you could reply back and let me know what you would like to learn.</p><p>Until next time.</p>]]></content:encoded></item><item><title><![CDATA[Understanding Business Context]]></title><description><![CDATA[A simple framework that gets you up to speed quickly]]></description><link>https://sqlpatterns.com/p/understanding-business-context</link><guid isPermaLink="false">https://sqlpatterns.com/p/understanding-business-context</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 03 May 2025 22:07:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4ae4edb9-380d-4800-88fe-043af690b6bd_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A lot gets written about the importance of understanding the business context but rarely do I see anything written about how to do it. As I&#8217;ve progressed in my career, I&#8217;ve learned that getting up to speed quickly is essential to delivering value with data.</p><p>In this issue I will explain a simple framework I have developed and refined over time to get 80% of the way in 20% of the time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The best part of this framework is its simplicity but don&#8217;t let that fool you. There&#8217;s a lot more nuance behind it. And the more you use it the better you will get at understanding the business context and the easier it will become to deliver value with data.</p><p>Interested? Let&#8217;s get to it.</p><p>By the way, if you want to get even deeper into the business context, I suggest you learn about the competitive landscape of your company. The best tool for that is the Wardley Map which I&#8217;ve written about in a previous issue you can find in the archives.</p><p>The framework consists of three pillars:<br>1. The business model and its unit economics<br>2. The demand side (aka why are customers searching, buying and using the product)<br>3. The supply / operations side (aka how the company fulfills this demand)<br><br><strong>Business model and unit economics<br></strong>The business model is usually the first thing you learn. It's already public information so you can learn this even before you join a company.</p><p>For example the key metrics of a SaaS business can be learned in a single (amazing) article by David Skok called <a href="https://www.forentrepreneurs.com/saas-metrics-2/">SaaS Metrics 2.0</a>. VCs are more than happy to teach this stuff because they want more businesses like that to invest in.</p><p>The business model describes how the company captures the value it creates or said more simply &#8220;how they make money.&#8221; There will likely be a lot of nuance in any one particularly business, such as &#8220;usage based pricing (e.g. buy 1000 credits for $100]&#8221; or &#8220;user based pricing (e.g. $30/user/month)&#8221; both of which fit into the SaaS model.</p><p>The unit economics will play a big role in determining the viability of the business so that&#8217;s another area to understand deeply. I&#8217;m not going to dive into it here because it&#8217;s a vast topic, but suffice it to say that calculating CAC and the payback period are the key metrics that power a SaaS business model.<br><br><strong>Demand<br></strong>This is where you want to understand things from the customer's point of view. What are they looking for? Why are they searching for products like the one your company provides?</p><p>I'll give you an example that's not SaaS related just to broaden your horizons a bit.<br><br>When I worked for TripAdvisor one of the most popular things we offered were tours / experiences. These ranged from a "2-hour Italian cooking class" to an expansive "3 day wine tour and tasting experience in southern France."<br><br>What's the demand here? Obviously when you're traveling you want to experience and do as many interesting things as possible. TripAdvisor relies on local suppliers to provide these experiences because its business model is a marketplace. So any product features that helps customers find and book interesting experiences from trusted suppliers will obviously do well.<br><br>One of the key questions to understand in this phase is whether demand is generated or simply captured and amplified.</p><p>Generating demand often means creating a new category/niche in the market or repositioning a product into another market, which is really difficult because it requires educating the market about your company&#8217;s value. This explains why so many software companies are stuck in finding product market fit.</p><p>And that&#8217;s why many companies choose the easier path of capturing existing demand. So when someone searches for something on Google (e.g. "what to do in Italy") they are likely highly motivated to buy.</p><p>It&#8217;s often the job of marketing to figure out how to capture this demand as cheaply as possible and for that they need high quality data. A lot of the questions here revolve around which channel is best for providing highest quality leads at the lowest possible price. Hence the opportunity for you as a data professional to create value.<br><br><strong>Supply / Operations</strong><br>Upon clicking on a paid ad or organic search result leads come to our landing page. How they proceed from here is incredibly important. The goal here is to improve customer experience and help them onboard into the product as smoothly as possible.</p><p>Defining what a good customer experience looks like is another huge the opportunity for you as a data professional to make massive impact. Here you can start to draw up the so called customers journey (I prefer to call it &#8220;the value chain&#8221; but that&#8217;s just me)<br><br>Being able to trace a customer through the "value factory," figuring out what potential bottlenecks get in the way and how to make the process smoother (and faster) is a high ROI data activity.<br><br>Do you want to know what tool I prefer to use for this? That's right.....a metrics tree :D Obviously not a super detailed tree, but enough to provide some guidance on what metrics are missing, what reports are most useful and so on.</p><p>Did you find this issue helpful? Should I elaborate more on this topic?</p><p>Let me know in the comments or by replying.</p><p>Until next time.</p>]]></content:encoded></item><item><title><![CDATA[Why Do Companies Hire Data Professionals?]]></title><description><![CDATA[Musings on the value of data]]></description><link>https://sqlpatterns.com/p/why-do-companies-hire-data-professionals</link><guid isPermaLink="false">https://sqlpatterns.com/p/why-do-companies-hire-data-professionals</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sun, 20 Apr 2025 14:20:54 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8c47c3ca-b9a5-4564-9480-d66e8d2c1d56_4928x3264.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Why do companies hire data professionals? Do you ever ask yourself that? Oh sure there&#8217;s the job description that tells you what the role is supposed to do, but look beyond it for just a minute and something amazing happens.<br><br>As data professionals we tell ourselves that &#8220;we help stakeholders make data driven decisions.&#8221; In many cases this value means helping the company grow. But what if the company was already growing while the data function is in shambles?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>There was a company I heard about that was making multiple tens of millions in ARR while all its reporting was still being done in Excel. People manually extracted data from various systems and dumped it in Excel.</p><p>They had hired a data scientist but their main problem was not data science. They needed to consolidate multiple scattered data sources into a common warehouse so that reporting could be automated.</p><p>It&#8217;s quite common for companies to hire &#8220;for the future&#8221; and get someone with a PhD to do data science while their most pressing problem lies in engineering. I&#8217;m sure you know what I&#8217;m talking about.</p><p>Anyways, the question in the back of my mind was &#8220;why didn&#8217;t they hire someone earlier?&#8221; Then came the shocking realization: &#8220;If they were growing regardless of data quality, does this mean that having standardized, well modeled data doesn&#8217;t contribute much to growth?&#8221;</p><p>As data professionals we debate a lot among ourselves about the value of data, but we never ask the crucial question of how stakeholders perceive that value. We act as if this value is self evident: &#8220;Of course you&#8217;d want clean, structured data!&#8221;</p><p>But as far as stakeholders are concerned, we have to dig further to figure it out. And the reason why we have to figure it out is that once we understand the driver, it will make our career growth a lot easier. So why was this company hiring the data scientist only now?</p><p>Two words: <strong>Financial Controls!</strong></p><p>As the company was growing, one of the key concerns of the executive board became financial controls. If they wanted to raise another round of financing in the future they needed to get their financial house in order.</p><p>A bigger check from investors necessitates a higher level of diligence, which means a deeper dive into not just the company&#8217;s financials but also operational metrics. Every investor wants a &#8220;rocket ship&#8221; type growth for the companies they give money to, but at the same time they want to make sure that the growth is controlled so the company doesn&#8217;t spiral out of control.</p><p>This meant two very important drivers:</p><ol><li><p>Stricter controls on all metrics to ensure any growth leaks get plugged</p></li><li><p>Finding stable growth drivers to ensure growth continues</p></li></ol><p>This is what matters to a stakeholder! Important, sure, but not as flashy as &#8220;data driven decisions.&#8221; If you understand this, you can now become a trusted advisor to the executive board. All the reports, metrics, and recommendations you make can be focused around theme of &#8220;financial controls&#8221; to the delight of your stakeholders.</p><p>That&#8217;s it for this week&#8217;s post. If you enjoyed it leave a like or a comment.</p><p>Until next time</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Rare and Valuable Data Skills]]></title><description><![CDATA[Avoiding the data service desk trap]]></description><link>https://sqlpatterns.com/p/rare-and-valuable-data-skills</link><guid isPermaLink="false">https://sqlpatterns.com/p/rare-and-valuable-data-skills</guid><dc:creator><![CDATA[Ergest Xheblati]]></dc:creator><pubDate>Sat, 05 Apr 2025 17:51:21 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2ddb3f4c-b2b1-480e-a668-4b27e63f0bdb_5184x3456.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There is a silent struggle in your company that you as a data professional can fix with very little effort while at the same time demonstrating the tremendous value of the data team. But there&#8217;s a problem&#8230;.you&#8217;re most likely blind to it.</p><p>And to add insult to injury they don&#8217;t even know you could do this easily.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Data Patterns! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Time for a history lesson.</p><p>When I was a business analyst one of the things I was often asked to do was to sit in and shadow operations teams (marketing, sales, customer service, etc.) Every now and then I&#8217;d notice them doing things that would baffle me.</p><p>While on the phone with a customer, a salesperson would jump between several applications (CRM, email, Excel, etc) to answer customer questions. Other times they would be copy/pasting information from these systems into Excel to create reports that were used by the whole team.</p><p>Flabbergasted I would ask why they were doing this. To them this was just how things worked, they had no idea I could write a SQL query in 10 minutes and automate away hours of meaningless work. Productivity gains would be tremendous.</p><p>On the other hand, the requests I was getting for data and reports were nothing like what I was witnessing. I started calling this &#8220;suffering in silence.&#8221; They had no idea I could solve their problems with very little effort while I had no idea they needed this in the first place.</p><h3>How to avoid the data service desk trap</h3><p>I often joke that the moment you walk into a company as a data professional asking what their data needs are, you&#8217;ve fallen into the &#8220;data service desk trap.&#8221; You think you&#8217;re being helpful instead you&#8217;re setting yourself up for endless toil.</p><p>You see, business users are often unaware of what data and information is available, or could be easily obtained from existing infrastructure. They also don&#8217;t know what&#8217;s possible to do with data.</p><p>This means there's a HUGE opportunity for you as a data professional to work directly with the business, discover exactly what&#8217;s needed, what can be solved with data and what the highest ROI requests are.</p><p>But you have to be proactive, not reactive. It requires a very particular set of skills; skills that are often not taught in any course and not seen as super valuable.</p><h3>Rare and valuable skills</h3><p>In one of my previous newsletter I wrote about the <a href="https://sqlpatterns.com/p/developing-expertise-as-a-data-analyst">data expertise triad</a>. </p><p>One of the legs of the triad is about mapping business systems with data. This is one area that often gets neglected. You can take a course and learn technical skills or math and statistics skills but there&#8217;s no training for learning about the business.</p><p>When I was sitting and shadowing operations teams, I wasn&#8217;t looking to learn how they did things. I was looking for points of struggle, ideally struggle I could alleviate easily with a simple report or a dashboard.</p><p>I was doing what&#8217;s known as &#8220;problem finding.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!45Id!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F597537a0-e674-4044-b96d-f304987d189a_500x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!45Id!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F597537a0-e674-4044-b96d-f304987d189a_500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!45Id!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F597537a0-e674-4044-b96d-f304987d189a_500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!45Id!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F597537a0-e674-4044-b96d-f304987d189a_500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!45Id!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F597537a0-e674-4044-b96d-f304987d189a_500x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!45Id!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F597537a0-e674-4044-b96d-f304987d189a_500x500.jpeg" width="500" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/597537a0-e674-4044-b96d-f304987d189a_500x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!45Id!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F597537a0-e674-4044-b96d-f304987d189a_500x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!45Id!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F597537a0-e674-4044-b96d-f304987d189a_500x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!45Id!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F597537a0-e674-4044-b96d-f304987d189a_500x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!45Id!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F597537a0-e674-4044-b96d-f304987d189a_500x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Dan Pink in his book "<em>To Sell is Human&#8221; </em>writes that the skill of problem finding is far more valuable than the skill of problem solving. That book was published back in 2012.</p><p>In today&#8217;s age of advanced LLMs and Artificial Intelligence, problem solving is increasingly being performed by machines thus decreasing in value. Meanwhile the skill of problem finding (ie. figuring out what to ask the LLM and how to prompt it) is suddenly becoming <em><strong>very valuable.</strong></em></p><p>So you tell me.</p><p>Do you want to sit back, waiting for requests to land on your desk, or would you prefer to take initiative actively seeking out important problems, crafting thoughtful solutions, pitching your ideas, and take on the work to deliver meaningful results?</p><p>And what&#8217;s even better, this is EASY!</p><p>That&#8217;s it for this issue, how you enjoyed it. Until next time.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://sqlpatterns.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://sqlpatterns.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item></channel></rss>